金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100018518

如何做到一根K只发一个信号,后台交易一次。连续K发出同向信号后台连续交易。

[复制链接]

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-5-21 18:46 | 显示全部楼层
技术006 发表于 2022-5-21 15:57
都不知道你们在图表上哪来的自信! 把动态行情、ext全局变量这类没有历史值的函数应用的操作使用在图表上? ...

老师愿意怼我,我还是蛮开心的。但是abb:=(time0-timetot0(dynainfo(207)));//K线结束倒计时间(秒)
以及K线开始的第1秒内的写法可是从论坛里抄来的喔,难道这在轮询时会错误?

补充内容 (2022-5-21 19:52):
abb:=(time0-timetot0(dynainfo(207))) and abs(C-O)>=O*10/1000;
以前6.11版我在图表上测试是可以用时间控制的

补充内容 (2022-5-21 20:05):
谢谢老师,我慢慢的找到原因了。非常有意思的这个PEL语言。
回复

使用道具 举报

37

主题

9948

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-5-21 20:12 | 显示全部楼层
本帖最后由 技术006 于 2022-5-21 20:18 编辑

abb:=(time0-timetot0(dynainfo(207)));这句话单独是没问题,(就像在图表用tholding只是显示仓位没问题,但是用这个参与参与图表的开平仓条件就有问题),只是你abb最终只是参与到cd0条件的计算之后没用用到它。

其次是abb:(time0-timetot0(dynainfo(207))) and abs(C-O)>=O*10/1000;//K线结束倒计时间(秒)
abb是个条件语句,结果不是0就是1。 不管再那个版本上,它也不是控制时间的。 有些不确定的最起码输出下结果看看是不是自己预想的值。

还有前面分析过程中提到的问题,尤其是第1点。timetot0是把hhmmss这种时间换成秒。你把一个秒数塞去,就就代表这个秒数是一个时间。自己把它放在k下图上输出自己看下。
你这种策略编写风格。建议你自己针对自己的代码,逐行梳理,最起码要保证逻辑的正确性,顺带吧冗余代码处理掉。
还有就是这种策略在图表上都不能算是一个信号稳定的策略。而且吧这种仓位管理的策略应用到股票池中,你是最近几年中唯一的客户。这个想法走不通。



金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-5-21 20:34 | 显示全部楼层
技术006 发表于 2022-5-21 20:12
abb:=(time0-timetot0(dynainfo(207)));这句话单独是没问题,(就像在图表用tholding只是显示仓位没问题, ...

谢谢了。
这次股票池的使用,让我有点理解这个PEL语言的一些特殊的地方了。我继续循着这思路来梳理。
原来我担心不知道运行机制所以走了弯路,所以:abb:=(time0-timetot0(dynainfo(207))) and abs(C-O)>=O*10/1000;//K线结束倒计时间(秒)
akk:=timetot0(dynainfo(207))-Rt,LINETHICK0;//k线的最开始的时间(秒)
agg:=timetot0(dynainfo(207))-ob,LINETHICK0;
cd0:=not(ISLASTBAR);
cd1:=islastbar and  abb>=0 and abb<=1;
cd2:=islastbar and  agg>=0 and agg<=1;
cd5:=islastbar and  agg>1;
if cd5 then EXTGBDATASET(mbs,1);
if cd2 then EXTGBDATASET(mbs,0);
bs:if(islastbar,EXTGBDATA(mbs),VALUEWHEN(CD0,0)),LINETHICK0,COLORWHITE;
IF BARPOS<>REF(BARPOS,1)&&(cd0||cd2) THEN EXTGBDATASET(mhld,HOLDING());
我已经改为:
Kt:=OPENMINUTES(TIME);Rt:=timetot0(ref(time0,1));
KK2:abs(C-O)>=O*10/1000,LINETHICK0,COLORWHITE;
abb:(time0-timetot0(dynainfo(207))),LINETHICK0,COLORWHITE;//K线结束倒计时间(秒)
akk:=timetot0(dynainfo(207))-Rt,LINETHICK0;//k线的最开始的时间(秒)
agg:=timetot0(dynainfo(207))-ob,LINETHICK0;
//IF BARPOS<>REF(BARPOS,1)&&BS=REF(mHolding,1) THEN BS:=0,LINETHICK0;
cd0:=not(ISLASTBAR);
//***********下面的and abs(C-O)>=O*10/1000不得移位,只能放在此处,表示成立时的abb>=0 and abb<2*****************
cd1:islastbar and  abb>=0 and abb<1 and abs(C-O)>=O*10/1000,LINETHICK0,COLORWHITE;
cd2:=islastbar and  agg>=0 and agg<1;
cd5:=islastbar and  agg>=1;
//if islastbar and  agg>=1 then EXTGBDATASET(mbs,1);
//if islastbar and  agg>=0 and agg<2 then EXTGBDATASET(mbs,0);
bs:if(islastbar and  agg>=1,1,0),LINETHICK0,COLORWHITE;
移动了一个小小的位置,就解决了,这是赋值的问题。我没注意到。
回复

使用道具 举报

37

主题

9948

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2022-5-21 20:45 | 显示全部楼层
你目前代码的逻辑问题的不止这一处,问题多了。
例如:Rt:=timetot0(ref(time0,1));
这句话就是放在任何版本上,它都解释不同。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

45

主题

257

帖子

262

积分

等级: 免费版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2022-5-21 21:01 | 显示全部楼层
技术006 发表于 2022-5-21 20:45
你目前代码的逻辑问题的不止这一处,问题多了。
例如:Rt:=timetot0(ref(time0,1));
这句话就是放在任何 ...

是的。timetot0是将格式化的日期、时间转换为秒。这样写必然错误。我再梳理逐句调试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-5-31 19:14 , Processed in 0.135256 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表