{现价减0.2买开仓1手,或现价加0.2卖开仓1手;
//平仓再交易
1、如果买开仓已实际成交,则同时委托卖平挂单,按买开价位加2个点挂单卖平,并同时挂单卖开仓1手,要求时间在14点58分之前有效;
2、如果买开仓已实际成交,遇到亏损,则买开价位减现价大于等于3个点时,以现价指定价委托卖平挂单,并同时再卖开仓1手,要求时间在14点58分之前有效;
3、如果买开仓现在亏损,又遇急行情没能按上面指定价止损成交,当买开价位减现价大于等于4个点时,启动连续追价功能,全部市价卖平,并同时再卖开仓1手,时间要求同上;
4、如果卖开仓已实际成交,则同时委托买平挂单,按卖开价位减2个点挂单买平,并同时挂单买开仓1手,要求时间在14点58分之前有效;
5、如果卖开仓已实际成交,遇到亏损,则现价减卖开价位大于等于3个点时,以现价指定价委托买平挂单,并同时再买开仓1手,要求时间在14点58分之前有效;
6、如果卖开仓现在亏损,又遇急行情没能按上面指定价止损成交,当现价减卖开价位大于等于4个点时,启动连续追价功能,全部市价买平,并同时再买开仓1手,时间要求同上;
//尾市全平
时间到14点58分之后,全部平仓;
//备注
1、程序委托,均按照开仓后同时立即发出止盈委托,指定价挂单止盈,遇到亏损时,现价走出后发出委托止损,具体以指定价和连续追价二种价格方式进行(当遇急行情,指定价不能成交时,采用连续追价);
2、程序以先开仓,后平仓再开仓,再平仓的顺序,有条不紊地下达委托,绝不能只发出委托,不管实际持仓成交没有;。
3、程序周期在TICK或1秒周期内运行。}
GLOBALVARIABLE:lsbuy=0,lsbuyshort=0,kg=0,kcd=dd,kck=not(dd),times=0,REFHOLD=0;
REFHOLD:=REF(HOLDING,1);
if time-times>p1 and REFHOLD=0 then begin
kg:=0;
end
if kg=0 then begin
lsbuy:=c-0.2;
lsbuyshort:=c+0.2;
times:=time;
kg:=1;
end
if REFHOLD=0 and time>=091600 and kcd=0 then begin
开多:BUY(1,1,limitr,lsbuy);
end
if REFHOLD=0 and time>=091600 and kck=0 then begin
buyshort(1,1,limit,lsbuyshort);
end
if time<145800 then begin
//---------------------------------
if REFHOLD>0 then begin
kcd:=1;
sell(1,1,limit,lsbuy+2);
sell(lsbuy-c>=3,1,limit,c);
sell(lsbuy-c>=4,1,limit,c-100);
if REFHOLD=0 then begin
kck:=0;
kg:=0;
end
end
//------------------------------------
if REFHOLD<0 then begin
kck:=1;
sellshort(1,1,limit,lsbuy-2);
sellshort(c-lsbuyshort>=3,1,limit,c);
sellshort(lsbuyshort>=4,1,limit,c+100);
if REFHOLD=0 then begin
kcd:=0;
kg:=0;
end
end
end
if time>145800 THEN BEGIN
sell(1,0);
sellshort(1,0);
kg:=0;
end
参数:p1:60
dd:1
没人???
1、根据这个策略的情况 必须支持后台以上的版本,图表实现不了。
2、tick级别?股指1天的tick是32400个。 中金所规定的撤单次数超过100次就违规了。根据你这个策略,挂单——撤单——追单。天天期货公司要打你电话咯。
3、这个高频策略,理论上或许是挣钱的,实际因流动性的问题,实盘几乎不可能实现。奉劝楼主不要浪费时间。
这种策略我写过,让同学用C++基于CTP接口写的,理论上赚钱,实盘几乎是不可能的,主要是流动性问题