我现在用模拟跑dual thrust模型,用图表程序化交易做,有3个问题1,收盘前无法自动平仓
语句是
T2:=TIME>=CLOSETIME(0)-NMIN*100;
收盘平多:SELL(T2,holding,MARKET);
收盘平空:SELLSHORT(T2,holding,MARKET);
NMIN默认设的是10
2,昨天夜盘螺纹上轨的划线是2500, 收盘我关掉自动交易刷新后,划线变成2476了,是什么原因?
3,收益回落10%直接平仓怎么写?当前交易收益的10%,不等收盘价,触及后直接市价平仓。
谢谢
1,CLOSETIME(0)-NMIN*100;不能这样写,
要把时间转换为秒再转换成时间,收盘前5分钟平仓的例子:m5:=(t0totime(timetot0(closetime(0))-60*5));
2,上轨代码贴下
3,收益达到多少时回落10%?
[此贴子已经被作者于2016-10-19 15:41:49编辑过]
源码是这样的
昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
CYC:=BARSLAST(DATE<>REF(DATE,1))+1;
开盘价:=VALUEWHEN(CYC=1,OPEN);
HH:=HHV(昨高,1);//N日HIGH的最高价
HC:=HHV(昨收,1);//N日CLOSE的最高价
LC:=LLV(昨收,1);//N日CLOSE的最低价
LL:=LLV(昨低,1);//N日LOW的最低价
浮动区间:=MAX(HH-LL,HC-LL);//RANGE
上轨:开盘价+0.6*浮动区间;
下轨:开盘价-0.6*浮动区间;
多头止损:开盘价+0.2*浮动区间;
T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;
T2:=TIME>=CLOSETIME(0)-NMIN*100;
开多条件:=C>上轨 AND HOLDING=0 ;
开空条件:=C<下轨 AND HOLDING=0 ;
//交易系统
开多:BUY(开多条件 AND T1 AND CYC>1,30%,limitr,close);
开空:BUYSHORT(开空条件 AND T1 AND CYC>1,30%,limitr,close);
这里说的收益是相对总资金的 还是相对开仓保证金的?
3楼代码很多表达的不正确,代码里没有体现收益达到多少止损的相关代码。
系统自带的代码实提供给用户学习的,你如果刚接触建议先学习基本编程然后在考虑别的。
系统自带的策略中有止损止盈的代码,你可以学习看下。
要把条件描述清楚才能添加,收益达到多少后回落10%止损?
收益达到总资金的1%时,回落10%平仓,触发直接平,不等收盘。
如果我设置了盈利30个点减仓二分之一,触发后,行情在这里反复,我可以不让它继续触发吗? 就是只执行一次减仓。