开仓条件:最新价上穿下轨时(持仓为零)或最新价高于开盘价时(持仓为零)即开多单,
最新价上穿上轨时(持仓为零)或最新价低于开盘价时(持仓为零)即开空单。
反手动作:在日内任何时间段,最新价高于或低于开仓价20点时做反手(包括当根K线内做反手)。
清 仓:在14点58分全部平仓。
运行模式:序列模式,后台程式化交易。
要 求:在当根K线内开仓且满足条件做反手。
指布林通道的上、下轨。
仅供参考
input:M(26,5,300,30),N(2,0.1,10,1);
MID : MA(CLOSE,M);
UPPER: MID + N*STD(CLOSE,M);
LOWER: MID - N*STD(CLOSE,M);
//最新价上穿下轨时(持仓为零)或最新价高于开盘价时(持仓为零)即开多单,
if (cross(c,lower) or c>o) then tbuy(tholding=0,1);
//最新价上穿上轨时(持仓为零)或最新价低于开盘价时(持仓为零)即开空单。
if (cross(c,upper) or c<o) then tbuy(tholding=0,1);
//反手动作:在日内任何时间段,最新价高于或低于开仓价20点时做反手(包括当根K线内做反手)。
if c<TENTERPRICE+20*mindiff then
begin
tsell(holding>0,0);
tbuyshort(holding=0,1);
end
if c>TEXITPRICE+20*mindiff then
begin
tsellshort(holding<0,0);
tbuy(holding=0,1);
end
//清 仓:在14点58分全部平仓。
if time>145800 then
begin
tsell(holding>0,0);
tsellshort(holding<0,0);
end
修改后
input:M(26,5,300,30),N(2,0.1,10,1);
MID := MA(CLOSE,M);
UPPER: MID + N*STD(CLOSE,M);
LOWER: MID - N*STD(CLOSE,M);
oo:=ref(o,BARSLAST(date<>ref(date,1)));
//最新价上穿下轨时(持仓为零)或最新价高于开盘价时(持仓为零)即开多单,
if (cross(c,lower) or c>oo) then tbuy(tholding=0,1,MKT);
//最新价上穿上轨时(持仓为零)或最新价低于开盘价时(持仓为零)即开空单。
if (cross(c,upper) or c<oo) then tbuy(tholding=0,1,MKT);
//反手动作:在日内任何时间段,最新价高于或低于开仓价20点时做反手(包括当根K线内做反手)。
if c>TENTERPRICE+20*mindiff and THOLDING>0 then
begin
tSELL(1,0,MKT),ORDERQUEUE;
tBUYSHORT(1, 1,MKT),ORDERQUEUE;
end
if c<TENTERPRICE-20*mindiff and THOLDING<0 then
begin
tSELLSHORT(1,0,MKT),ORDERQUEUE;
tBUY(1,1,MKT),ORDERQUEUE;
end
//清 仓:在14点58分全部平仓。
if CURRENTTIME>145800 then
begin
tsell(tholding>0,0,MKT);
tsellshort(tholding<0,0,MKT);
end