Params
Numeric Len1(5);
Numeric Len2(20);
Numeric ATRLen(20);
Numeric Lots(1);
Vars
Series<Numeric> ma1(0,2);
Series<Numeric> ma2(0,2);
Series<Numeric> ATR(0,2);
Series<Numeric> myExtPrc(0,2);
Series<Integer> DirFlag(0,2);
Events
OnBar(ArrayRef<Integer> indexs)
{
ma1 = AverageFC(Close,Len1);
ma2 = AverageFC(Close,Len2);
PlotNumeric(\"ma1\",ma1);
PlotNumeric(\"ma2\",ma2);
ATR = AvgTrueRange(ATRLen);
If(MarketPosition<>1 And ma1[1]>ma2[1] And DirFlag<>1)
{
Buy(Lots,Open);
DirFlag = 1;
myExtPrc = EntryPrice - ATR*4; //开仓时根据开仓Bar的ATR计算止损价
}
If(MarketPosition<>-1 And ma1[1]<ma2[1] And DirFlag<>-1)
{
SellShort(Lots,Open);
DirFlag = -1;
myExtPrc = EntryPrice + ATR*4; //开仓时根据开仓Bar的ATR计算止损价
}
If(MarketPosition==1 And BarsSinceEntry>0)
{
If(Low<=myExtPrc)
{
Sell(0,Min(Open,myExtPrc));
Commentary(\"多头ATR止损出场!\");
}
}
If(MarketPosition==-1 And BarsSinceEntry>0)
{
If(High>=myExtPrc)
{
BuyToCover(0,Max(Open,myExtPrc));
Commentary(\"空头ATR止损出场!\");
}
}
}
这样写,最新价触及止损价又跳到挂单价这时止损信号会闪烁吗
参考海龟止损
L < myexitprice
用最高最低价突破