欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请帮我这段代码翻译一下

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2868人关注过本帖树形打印复制链接

主题:请帮我这段代码翻译一下

帅哥哟,离线,有人找我吗?
一代天骄
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:380 积分:0 威望:0 精华:0 注册:2018/10/17 9:47:22
请帮我这段代码翻译一下  发帖心情 Post By:2019/8/30 15:29:08    Post IP:27.154.208.141[只看该作者]

T1:=TIMETOT0(150000)-TIMETOT0(dynainfo(207));
abb:=(T1<=5 AND T1>0) OR NOT(ISLASTBAR);
IF NOT(abb) then GOTO SKIP1;
里面有好几个好函数不是很懂什么意思,还有这段代码要放在哪里,可以实现提前下单?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/30 15:53:32    Post IP:180.169.30.6[只看该作者]

 1.直接将 将abb添加到开仓语句的条件里面去。
类似这样:
if abb and 开仓条件 then buy(1,1,markrt);

2.T1表示的就是当前K结束时间,返回值和K线倒计时是一样的。

3. abb:=(T1<=5 AND T1>0) OR NOT(ISLASTBAR);

这个红色标识部分是为了处理历史K信号问题。因为提前下单这种操作肯定只有最新K奏效,所以必须兼顾到历史K信号问题。
T1<=5 这个就是提前下单的秒数,可以自行修改调整的。

4.提前下单用代码实现 必须是固定轮询模式的。如果是走完K,请使用软件自带的提前下单功能即可。

代码中具体使用的函数,可以直接看下函数说明就行了。我这里就只是把一些要点阐述下。
[此贴子已经被作者于2019/8/30 15:54:49编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
一代天骄
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:380 积分:0 威望:0 精华:0 注册:2018/10/17 9:47:22
  发帖心情 Post By:2019/8/30 16:14:01    Post IP:27.154.208.141[只看该作者]

 NOT(ISLASTBAR);这个代码能不能在解释一下,比如说这个k线是最后一个周期,那么islastbar就是1,那么就还回0,如果这个k线不是最后周期,那么islastbar就是0 ,那么就是还回1 ,这个我一直没有搞懂,能不能在详细解释一下

 回到顶部
帅哥哟,离线,有人找我吗?
一代天骄
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:380 积分:0 威望:0 精华:0 注册:2018/10/17 9:47:22
  发帖心情 Post By:2019/8/30 16:21:01    Post IP:27.154.208.141[只看该作者]


T1:=TIMETOT0(150000)-TIMETOT0(dynainfo(207));
abb:=(T1<=5 AND T1>0) OR NOT(ISLASTBAR);
IF NOT(abb) then GOTO SKIP1;
还有一个问题,为什么日级别以下要这样写
T1:=timeo-TIMETOT0(dynainfo(207));
abb:=(T1<=5 AND T1>0) OR NOT(ISLASTBAR);
IF NOT(abb) then GOTO SKIP1;?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/30 16:41:06    Post IP:180.169.30.6[只看该作者]

1. NOT(ISLASTBAR)
这个其实就是判断是否是最新K,历史K和最新K要区分处理。

abb:=(T1<=5 AND T1>0) OR NOT(ISLASTBAR);
这里如果是最新K 按照(T1<=5 AND T1>0) 作为信号条件
如果是历史K 按照NOT(ISLASTBAR)作为信号条件

2.前面没注意,你这个代码这里是收盘K提前下单。倒还不是所有K都提前下单。
因为这里:

T1:=TIMETOT0(150000)-TIMETOT0(dynainfo(207));
这个地方写死了是收盘K的时间了。
常规每个K都提前下单:
T1:=TIMETOT0(time)-TIMETOT0(dynainfo(207));
是这样写的。
3.
T1:=timeo-TIMETOT0(dynainfo(207));
没这种写法的。另外这个代码本身日线上压根就用不了。只能日线以下使用。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
一代天骄
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:380 积分:0 威望:0 精华:0 注册:2018/10/17 9:47:22
  发帖心情 Post By:2019/8/30 16:59:59    Post IP:27.154.208.141[只看该作者]

T1:=TIMETOT0(time)-TIMETOT0(dynainfo(207));
这样的写法是任何级别都是可以实现提前下单这个功能是吗?
zhey 

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/8/30 17:04:46    Post IP:180.169.30.6[只看该作者]

 不包括日线,其他周期都可以。且必须固定轮询模式。还有你轮询周期不能大于提前下单的秒数,否则可能轮询检测不到就很尴尬了。


命数如织,当如磐石。
 回到顶部