为什么我的策略没有出现交易买卖信号

请各位大神帮看一下我的代码策略,现在的问题是没有出现交易信号,请帮看一下问题所在,万分感激!

代码如下:arams

   Numeric LookBackPeriod(20);     // 通道周期

   Numeric TakeProfitPoints(30);   // 止盈点数

   Numeric FilterPoints(1);        // 突破过滤点数

   

Vars

   // 通道变量

   Series<Numeric> ChannelHigh;    

   Series<Numeric> ChannelLow;    

   

   // 信号变量

   Bool CrossBelowLower;          

   Bool CrossAboveUpper;  

   

   

   // 交易管理

   Numeric EntryPrice;            

   Numeric PostEntryHigh;          // 多单持仓最高价

   Numeric PostEntryLow;           // 空单持仓最低价

   

   // 趋势状态

   Bool LongTrend;                

   Bool ShortTrend;                

   

   // 通用变量

   Numeric MinPoint;               // 最小变动值

   Numeric FilterValue;            // 过滤阈值

   

Events

   OnInit()

   {

       MinPoint = MinMove * PriceScale;

       FilterValue = FilterPoints * MinPoint;

       LongTrend = False;

       ShortTrend = False;

   }

   

   OnBar(ArrayRef<Integer> indexs)

   {

       // 数据不足时返回

       If (CurrentBar < LookBackPeriod) Return;

       

       // 计算价格通道(修正偏移)

       ChannelHigh = Highest(High, LookBackPeriod);

       ChannelLow = Lowest(Low, LookBackPeriod);

       

       // === 信号检测(实时计算)===

       // 使用Close价检测突破,避免盘中假信号[1](@ref)[5](@ref)

       CrossBelowLower = low < (ChannelLow[1] - FilterValue);

       CrossAboveUpper = High > (ChannelHigh[1] + FilterValue);

       

       // === 初始开仓 ===

       If (MarketPosition == 0)

       {

           If (CrossAboveUpper)

           {

               Buy(1, Open);

               EntryPrice = Open;

               PostEntryHigh = High;

               LongTrend = True;

               ShortTrend = False;

               Commentary("初始开多仓 @" + Text(Open));

           }

           Else If (CrossBelowLower)

           {

               SellShort(1, Open);

               EntryPrice = Open;

               PostEntryLow = Low;

               ShortTrend = True;

               LongTrend = False;

               Commentary("初始开空仓 @" + Text(Open));

           }

           Return;

       }

       

       // === 持仓管理 ===

       If (MarketPosition != 0)

       {

           // 更新持仓极值[3](@ref)

           If (MarketPosition == 1) {

               PostEntryHigh = Max(PostEntryHigh, High);

           } Else {

               PostEntryLow = Min(PostEntryLow, Low);

           }

           

           // === 止盈检查 ===

           If (MarketPosition == 1)

           {

               If (High >= EntryPrice + TakeProfitPoints*MinPoint) {

                   Sell(0, Max(Open, EntryPrice + TakeProfitPoints*MinPoint));

                   //ResetTrendState();

                   Commentary("多单止盈触发 @" + Text(Max(Open, EntryPrice + TakeProfitPoints*MinPoint)));

                   Return;

               }

           }

           Else If (MarketPosition == -1)

           {

               If (Low <= EntryPrice - TakeProfitPoints*MinPoint) {

                   BuyToCover(0, Min(Open, EntryPrice - TakeProfitPoints*MinPoint));

                   //ResetTrendState();

                   Commentary("空单止盈触发 @" + Text(Min(Open, EntryPrice - TakeProfitPoints*MinPoint)));

                   Return;

               }

           }

           

           // === 反转信号处理 ===

           // 多转空(原子操作)[6](@ref)[8](@ref)

           If (CrossBelowLower && LongTrend)

           {

               Sell(0, Open);  // 平多仓

               SellShort(1, Open); // 开空仓

               EntryPrice = Open;

               PostEntryLow = Low;

               LongTrend = False;

               ShortTrend = True;

               Commentary("多转空 @" + Text(Open));

               Return;

           }

           // 空转多(原子操作)

           If (CrossAboveUpper && ShortTrend)

           {

               BuyToCover(0, Open); // 平空仓

               Buy(1, Open); // 开多仓

               EntryPrice = Open;

               PostEntryHigh = High;

               ShortTrend = False;

               LongTrend = True;

               Commentary("空转多 @" + Text(Open));

               Return;

           }

       }

       

       // === 可视化 ===

       PlotNumeric("通道上轨", ChannelHigh);

       PlotNumeric("通道下轨", ChannelLow);

   }

   

   // 重置趋势状态函数

   //Void ResetTrendState()

   

为什么K线图出现信号,策略运行里没有信号,也不报警,日志也没有开仓信息。
我的策略为什么没有执行
条件满足,打印成功,但为什么没有出现交易信号
图表上有信号,但是策略交易上没有信号
为什么重新登陆后原来的交易策略没有了
为什么会出现信号闪烁 。
多图同列时为什么每个图表都加载了相同策略。但只有一个图表出现交易信号。
多周期策略出现信号闪烁问题。
策略自动交易,开仓信号闪烁,先出现,最后再消失
请问老师,我的指标都同时发出了看多看空的信号,在交易策略当中,条件都满足的情况下,为啥在图标中没有出现开仓信号呢

哪家ai写的

很简单的逻辑错误

我不可能比我自己高

我也不可能比我自己低

😂

帮改一改可以吗?

这里的high和low 后面都加上[1]回溯一根

至于改完之后是不是你要的效果,不能保证

谢谢,这个我已经改过了。但是还是有其它的问题


不是没信号,你把时间拉到图表最前面,是有信号的。

但是开了空以后,就平不了空,导致后面就出不了信号了

你应该研究一下为什么触发不了平空条件