教学示例中HighestAfterEntry代码问题

我看帮助都关于HighestAfterEntry的计算代码如下:

OnBar(ArrayRef<Integer> indexs)

{

   //...

   If(BarsSinceEntry == 0)                

   {

       HighestAfterEntry = Close;

       LowestAfterEntry = Close;    

       If(MarketPosition <> 0)          

       {            

           HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice);

           LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice);  

       }

   }Else

   {        

       HighestAfterEntry = Max(HighestAfterEntry,High);

       LowestAfterEntry = Min(LowestAfterEntry,Low);

   }

上面代码中为什么要加上 If(MarketPosition <> 0) ,在BarsSinceEntry == 0时,不就表示是当前开仓第一根吗?此时MarketPosition 就应该是不等于1的. 这里代码是不是不需要的,是不是可以改为下面这样?

   If(BarsSinceEntry == 0)                

   {

       HighestAfterEntry = Max(Close,AvgEntryPrice);

       LowestAfterEntry = Min(Close,AvgEntryPrice);  

   }Else

   {        

       HighestAfterEntry = Max(HighestAfterEntry,High);

       LowestAfterEntry = Min(LowestAfterEntry,Low);

   }



代码编程教学
TBQ3 在线帮助文档中函数示例代码显示异常
能否增加文档类型的教程示例
使用帮助文档中的示例双均线交易策略报错
TBPY示例代码运行报错。object.__init__() takes exactly one
再谈视频教学的弊端
官方eventBar示例无法正常跑通
趋势线教学视频划线
SetTriggerBarClose示例,不能修改实时onbarclose
自编函数支持回朔的示例

我觉得可以

问题已经问了啊...😂  你看代码下面有提出问题啊 , 就是想问这里MarketPosition <> 0是否有必要加, 可不可以改为后面的代码?

那你的问题是什么