以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 请帮我这段代码翻译一下 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=171865) |
||
-- 作者:一代天骄 -- 发布时间: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; 里面有好几个好函数不是很懂什么意思,还有这段代码要放在哪里,可以实现提前下单?
|
||
-- 作者: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编辑过]
|
||
-- 作者:一代天骄 -- 发布时间:2019/8/30 16:14:01 -- NOT(ISLASTBAR);这个代码能不能在解释一下,比如说这个k线是最后一个周期,那么islastbar就是1,那么就还回0,如果这个k线不是最后周期,那么islastbar就是0 ,那么就是还回1 ,这个我一直没有搞懂,能不能在详细解释一下 |
||
-- 作者:一代天骄 -- 发布时间:2019/8/30 16:21:01 --
|
||
-- 作者: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)); 没这种写法的。另外这个代码本身日线上压根就用不了。只能日线以下使用。
|
||
-- 作者:一代天骄 -- 发布时间:2019/8/30 16:59:59 -- T1:=TIMETOT0(time)-TIMETOT0(dynainfo(207)); 这样的写法是任何级别都是可以实现提前下单这个功能是吗? zhey
|
||
-- 作者:FireScript -- 发布时间:2019/8/30 17:04:46 -- 不包括日线,其他周期都可以。且必须固定轮询模式。还有你轮询周期不能大于提前下单的秒数,否则可能轮询检测不到就很尴尬了。 |