Rss & SiteMap

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

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

标题:K线走完前N秒的标准版写法实例,请指教。

1楼
topfun 发表于:2018/12/21 9:39:46
//若用户模式选为“固定时间间隔10秒”,

//中间变量
MID:  MA(CLOSE,M);//布林中轨

手数:=ss;

//交易条件
bpk:=CROSS(C,Mid);//开多平空条件
spk:=CROSS(Mid,C);//开多平空条件

tq:=50;

K终:=(time0-timetot0(dynainfo(207))<=tq);   //tq自己指定一个秒数

if K终=1,then begin

平空:SELLSHORT(bpk AND HOLDING<0,100,LIMITR,C);
平多:SELL(spk AND HOLDING>0,100,LIMITR,C);
开空:BUYSHORT(spk AND HOLDING>=0,hand,LIMITR,C);
开多:BUY(bpk AND HOLDING<=0,hand,LIMITR,C);

end
//当前持仓:HOLDING,COLORGRAY,LINETHICK0;
//当前资产:ASSET,NOAXIS,COLORGRAY;

//注意交易系统先开后平的原则

2楼
topfun 发表于:2018/12/21 9:41:17
顺便问一句,我看到有的示例里,(time0-timetot0(dynainfo(207))<=tq)后面还加了个not(islastbar)的条件,为什么不要是最后一根k线呢?
3楼
FireScript 发表于:2018/12/21 9:55:03
 要加not(islastbar) 这个的。

你必须考虑到历史K的问题,当前K
(time0-timetot0(dynainfo(207))<=tq) 这个判断没问题,但是历史K的开平不能依赖这个条件判断。



if K终=1,then begin   多了个标点符号。


开空:BUYSHORT(spk AND HOLDING=0,hand,LIMITR,C);
开多:BUY(bpk AND HOLDING=0,hand,LIMITR,C);

开仓一般用holding=0作为限制条件。


4楼
topfun 发表于:2018/12/21 9:58:21
再问:
加了not(islastbar),为什么当前K线还会执行呢?既然不是最后一个K线,实时为什么又能执行?
5楼
FireScript 发表于:2018/12/21 10:06:47
 你用 or 来关联这2个条件啊。 虽然最新K不满足 not(islastbar)  但是K线结束前N秒那个条件能满足啊。你看原版代码就是用or来串联这2个条件的。
6楼
topfun 发表于:2018/12/21 10:09:33
明白了,另外,日线图标准版就没办法通过编程来实现提前n秒交易了对吧?
7楼
FireScript 发表于:2018/12/21 10:13:32
 日线上代码无法实现的。


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

只能通过软件设置来实现。
共7 条记录, 每页显示 10 条, 页签: [1]


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