交易时间:=TIME>130000 AND TIME<190000;
//空头平仓
IF 平空 THEN
空平:SELLSHORT(1,HOLDING,LIMITR,上轨+2*MINDIFF);
//空头收盘平仓
if (islastbar and currenttime>=185900) or (not(islastbar) and not(交易时间)) then
收盘平空:SELLSHORT(1,HOLDING,thisCLOSE);
//多头开仓
IF 开多 AND 交易时间 THEN
多开: BUY(1,1,LIMITR,上轨+2*MINDIFF);
//多头平仓
IF 平多 THEN
多平:SELL(1,HOLDING,LIMITR,下轨-2*MINDIFF);
//多头收盘平仓
if (islastbar and currenttime>=185900) or (not(islastbar) and not(交易时间)) then
收盘平仓:SELL(1,HOLDING,thisCLOSE);
//空头开仓
IF 开空 AND 交易时间 THEN
空开: BUYSHORT(1,1,LIMITR,下轨-2*MINDIFF);
不知是那里的问题收盘前1分钟没有平仓。
用的是金字塔时区
60分钟周期
2015-09-18 14:59:38.437 【图表】RB00 运行完毕
2015-09-18 14:59:39.434 【图表】RB00 运行完毕
2015-09-18 14:59:40.039 【下单】RB01 价1921.000000 量1 买卖1 类型0 开平2 账户82101362 Formula 0
2015-09-18 14:59:40.039 【下单】确认报单已发送 ID=1622679540 RefID = 3960
2015-09-18 14:59:40.075 【指令】收到回报指令 ID = 1622679540 RefID = 3960
2015-09-18 14:59:40.082 【回报】82101362 : rb1601 - 已报单 1 价格:1921 平 卖
2015-09-18 14:59:40.082 【指令】收到回报指令 ID = 1622679540 RefID = 3960
2015-09-18 14:59:40.083 【指令】收到回报指令 ID = 1622679540 RefID = 3960
2015-09-18 14:59:40.089 【指令】收到成交回报指令 REFID = 3960 vol = 1
2015-09-18 14:59:40.093 【回报】82101362 : rb1601 - 已成交 1 价格:1921 平 卖
今天是手动平仓的
[此贴子已经被作者于2015/9/18 17:30:12编辑过]
你是老用户,应该掌握一些基本的调试手段,而不是丢一堆代码过来
参考
DEBUGFILE----使用日志方式完善您的策略
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428
金字塔能不能和金 魔 方一样做个
日内平仓函数SetExitOnClose;这样也不用一堆代码了,就一个函数搞定。
[此贴子已经被作者于2015/9/19 8:40:03编辑过]
日内平仓代码基本是
if time0>=timetot0(closetime(0))-5*60 then begin
sellshort(1,0,market);
sell(1,0,market);
end
适用全部的品种,收盘前5分钟全平