以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 图表交易说无法成交 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=99648) |
-- 作者:jjjfk -- 发布时间:2016/6/27 13:31:18 -- 图表交易说无法成交 程序应用于图图表,打算测试,可弹出对话框说白箭头部分是无法成交的(如下图),下面我贴出了代码,烦请指出原因,谢谢! 系统思想:以前45分钟高低点作为突破做多做空 //函数定义 a1:=valuewhen(todaybar=45,hhv(high,45)); //引用前45根K线的最高价 a2:=valuewhen(todaybar=45,hhv(low,45)); //引用前45根K线的最低价 a3:=time>=014500; a4:=time<185000; a5:=a3 and a4; //交易时间 a6:time>=185800; //收盘平仓时间 a7:=a1+1*mindiff; //做多价格 a8:=a2-1*mindiff; //做空价格 //做多条件 if holding=0 and high>a1 and totaldaytrade<2 then begin buy(1,1,limitr,a7); end //平多条件 if holding>0 and low<a2 then begin sell(1,0,a8); end //做空条件 if holding=0 and low<a2 and totaldaytrade<2 then begin buyshort(1,1,a8); end //平空条件 if holding<0 and high>a1 then begin sellshort(1,0,a7); end //收盘平多仓 if holding>0 and a6 then begin sell(1,0,market); end //收盘平空仓 if holding<0 and a6 then begin sellshort(1,0,market); end |
-- 作者:jinzhe -- 发布时间:2016/6/27 13:34:46 -- sell(1,0,a8);
类似这样的都改成sell(1,0,market) |
-- 作者:jjjfk -- 发布时间:2016/6/27 14:18:47 -- 谢谢。我改了之后,明明我限制的交易时间是014500-185000,可是应用于图表后,每次都是开盘一分钟就开始交易了(如下图),还是原来的代码,请问为什么会这样?谢谢 |
-- 作者:jinzhe -- 发布时间:2016/6/27 14:28:45 -- 因为你虽然写了时间条件,但是没有写进开仓语句里面,所以时间条件是不起作用的 |
-- 作者:jjjfk -- 发布时间:2016/6/27 14:52:44 -- 好的,按照您说的,加了交易时间进去了。但是现在又有个问题(如下图),开盘45分钟后,做多位置应该在白箭头的水平位置才对啊,他怎么在绿箭头处就开仓了呢? |
-- 作者:jinzhe -- 发布时间:2016/6/27 14:57:48 -- 因为market的信号价格是次周期开盘价 |
-- 作者:jjjfk -- 发布时间:2016/6/27 15:36:10 -- 我知道。可是绿箭头处还没有达到做多条件,也没有达到做空条件啊,他怎么就开仓了? |
-- 作者:jinzhe -- 发布时间:2016/6/27 15:45:20 -- 有信号说明是满足开仓条件的 你认为的“没有达到做空条件”,是错的 |