关于ATR止损如何写

用开仓价格,加上3倍ATR的止损,麻烦技术老大帮忙写一下,谢谢

关于海龟加仓bar不止损问题
关于止损止盈的写法
固定止损锚定问题
atr止损
跟踪止损
ATR函数没有被声明
atr值如何计算
止损代码请教
如何写延时?
记得以前听过关于ATR移动止损的视频课,想再听听,不知道是哪个课了。

谢谢技术老大

以双均线为例,写了个,供您参考下吧。

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止损出场!");
            }
        }
    }