Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
一代天骄 发表于:2019/8/30 15:29:08
T1:=TIMETOT0(150000)-TIMETOT0(dynainfo(207));
abb:=(T1<=5 AND T1>0) OR NOT(ISLASTBAR);
IF NOT(abb) then GOTO SKIP1;
里面有好几个好函数不是很懂什么意思,还有这段代码要放在哪里,可以实现提前下单?
2楼
FireScript 发表于:2019/8/30 15:53:32
 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楼
一代天骄 发表于:2019/8/30 16:14:01
 NOT(ISLASTBAR);这个代码能不能在解释一下,比如说这个k线是最后一个周期,那么islastbar就是1,那么就还回0,如果这个k线不是最后周期,那么islastbar就是0 ,那么就是还回1 ,这个我一直没有搞懂,能不能在详细解释一下
4楼
一代天骄 发表于:2019/8/30 16:21:01

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;?
5楼
FireScript 发表于:2019/8/30 16:41:06
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楼
一代天骄 发表于:2019/8/30 16:59:59
T1:=TIMETOT0(time)-TIMETOT0(dynainfo(207));
这样的写法是任何级别都是可以实现提前下单这个功能是吗?
zhey 
7楼
FireScript 发表于:2019/8/30 17:04:46
 不包括日线,其他周期都可以。且必须固定轮询模式。还有你轮询周期不能大于提前下单的秒数,否则可能轮询检测不到就很尴尬了。
共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.32031 s, 3 queries.