PS:2025俱乐部12月直播预售,革新内容,抽奖环节不要错过。
点击进入:用Ai编写策略
//------------------------------------------------------------------------// 简称: TrendStrengthStrategy// 名称: 趋势强度策略-松鼠QuantAI生成// 来源: https://ai.kanpan789.com/// 类别: 公式应用// 类型: 内建应用// 输出://------------------------------------------------------------------------//----------------------------------------------------------------------//// 策略说明:// 本策略基于市场强弱指标和动量的通道突破系统// 系统要素:// 1. 根据N根K线的收盘价相对前一根K线的涨跌计算出市场强弱指标// 2. 最近9根K线的动量变化趋势// 3. 最近N根K线的高低点形成的通道// 入场条件:// 1. 市场强弱指标为多头,且市场动量由空转多时,突破通道高点做多// 2. 市场强弱指标为空头,且市场动量由多转空时,突破通道低点做空// 出场条件:// 1. 开多以开仓BAR的最近N根BAR的低点作为止损价// 开空以开仓BAR的最近N根BAR的高点作为止损价// 2. 盈利超过止损额的一定倍数止盈// 3. 出现反向信号止损//----------------------------------------------------------------------//
Params Numeric Length(5); Numeric Stop_Len(5); Numeric ProfitFactor(3); Numeric EntryStrength(95);
Vars Series<Numeric> CloseChange; Numeric i; Numeric UpCloses; Numeric DnCloses; Numeric SumChange; Series<Numeric> MarketStrength; Series<Numeric> Momentum1; Series<Numeric> Momentum2; Series<Numeric> HH; Series<Numeric> LL1; Series<Numeric> LL2; Series<Numeric> StopLoss1; Series<Numeric> ProfitTarget;
EventsOnBar(ArrayRef<Integer> indexs) { CloseChange = Close - Close[1]; UpCloses = 0; DnCloses = 0; For i = 0 To Length-1 { If(CloseChange[i] > 0) UpCloses = UpCloses + CloseChange[i]; Else DnCloses = DnCloses + CloseChange[i]; } SumChange = Summation(CloseChange, Length); If(SumChange >= 0) { MarketStrength = SumChange / UpCloses * 100; } Else { MarketStrength = SumChange / Abs(DnCloses) * 100; }
Momentum1 = Close - Close[4]; Momentum2 = Close[4] - Close[8]; HH = Highest(High, Length); LL1 = Lowest(Low, Length); LL2 = Lowest(Low, Stop_Len);
If(MarketPosition == 0 And MarketStrength[1] >= EntryStrength And Momentum1[1] >= 0 And Momentum2[1] < 0 And High >= HH[1] ) { Buy(0, Max(Open, HH[1])); StopLoss1 = LL2; ProfitTarget = EntryPrice + (EntryPrice - StopLoss1) * ProfitFactor; Commentary("ProfitTarget=" + Text(ProfitTarget)); }
If(MarketPosition == 1 And BarsSinceEntry > 0 ) { If(High >= ProfitTarget) { Sell(0, Max(Open, ProfitTarget)); Commentary("止盈"); }Else If(Low <= StopLoss1) { Sell(0, Min(Open, StopLoss1)); Commentary("止损"); }Else If(MarketStrength[1] <= -1 * EntryStrength And Momentum1[1] < 0 And Momentum2[1] >= 0 And Low <= LL1[1]) { Sell(0, Min(Open, LL1[1])); Commentary("反向出场"); } } }//------------------------------------------------------------------------// 编译版本 GS2014.10.25// 版权所有 TradeBlazer Software 2003-2025// 更改声明 TradeBlazer Software保留对TradeBlazer平台每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------