教学示例中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
自编函数支持回朔的示例
关于之前的教学视频的问题
为什么示例策略里,都是多空策略分开实现