如果昨日是多头止盈平仓,那么最低价小于唐奇安下轨继续开多;如果昨日是空头止盈平仓,那么最高价大于唐奇安上轨继续开空;
这个需要在用全局变量记录下昨日平仓用的是止盈还是止损的。
VARIABLE:mark:=0;//全局变量在每次平仓时候记录下。
ma5:ma(c,5);
ma10:ma(c,10);
majc:cross(ma5,ma10);
masc:cross(ma10,ma5);
INPUT:X(20,1,100,1),nmin(10,1,100,1),ss(1,1,100,1);//唐奇安通道
X周期高点:=ref(hhv(h,X),1);//X是参数,自行调整
X周期低点:=ref(LLV(L,X),1);
if majc and holding=0 then buy(1,1,market);
if masc and holding>0 then
begin
sell(1,holding,market);
mark:=0;//非止盈平仓这里赋值为0 ,加以区分
end
if c-ENTERPRICE>=10*MINDIFF and holding>0 then //if后面的条件必须是完整的平仓条件判断,否则可能出现mark全局变量被提前重置的情况
begin
sell(1,holding,market);
mark:=1;//如果是空头这里赋值为-1 ,加以区分
end
if l<X周期低点 and ref(mark,TODAYBAR)=1 then buy(holding=0,1,market);//最低价小于唐奇安通道下轨 且上个交易日是
就参考下这里全局变量的使用方式吧。参照这个思路自行根据你自己代码上下文编写下即可。