请老师帮我代码中增加ATR的2倍动态止损
//------------------------------------------------------------------------// 简称: SAR// 名称: 抛物线转向// 类别: 策略应用// 类型: 内建应用//------------------------------------------------------------------------Params Numeric AfStep( 0.02); Numeric AfLimit( 0.2 ) ; Numeric Lots(1); Numeric MA(60);Vars Numeric oParCl( 0 ); Numeric oParOp( 0 ); Numeric oPosition( 0 ); Numeric oTransition( 0 ); Series<Numeric> MA60(0); // 60日均线 Numeric MA60_Direction(0); // 60日均线方向,1向上,-1向下,0走平 Bool myIsLong(false); // 是否持有多头仓位 Bool myIsShort(false); // 是否持有空头仓位 Numeric myEntryPrice(0); // 记录入场价格Events OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { ParabolicSAR( AfStep, AfLimit, oParCl, oParOp, oPosition, oTransition ) ; PlotAuto( "ParCl" , oParCl, 0, Color2(), Enum_Dot) ; // 绘制60日均线 PlotNumeric("MA60", MA60, 0, RGB(255, 165, 0)); // 橙色 } // 计算60日均线及方向 MA60 = Average(Open, 60); // 判断60日均线方向(使用前一根K线的MA60与再前一根K线的MA60比较) Numeric preMA60 = MA60[1]; Numeric prepreMA60 = MA60[2]; If (preMA60 > prepreMA60) { MA60_Direction = 1; // 均线向上 } Else If (preMA60 < prepreMA60) { MA60_Direction = -1; // 均线向下 } Else { MA60_Direction = 0; // 均线走平 } // 记录持仓状态 myIsLong = (MarketPosition == 1); myIsShort = (MarketPosition == -1); If (MarketPosition <> -1 And oPosition == -1 And Open < oParCl And Open < MA60 And MA60_Direction == -1) { SellShort(Lots, Open); myEntryPrice = open; // 记录空单入场价格 } If (MarketPosition <> 1 And oPosition == 1 And Open > oParCl And Open > MA60 And MA60_Direction == 1) { Buy(Lots, Open); myEntryPrice = open; // 记录多单入场价格 } } //------------------------------------------------------------------------// 编译版本 GS2025.1.23// 版权所有 TradeBlazer Software 2003-2025// 更改声明 TradeBlazer Software保留对TradeBlazer平// 台每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------