海龟模板加仓时为什么要加循环

加仓时为什么要加循环?是因为buy指令会失败? while(High >= preEntryPrice + 0.5*N && CurrentEntries < nEntries) // 以最高价为标准,判断能进行几次增仓 { myEntryPrice = preEntryPrice + 0.5 * N; preEntryPrice = myEntryPrice; if(False == Buy(TurtleUnits,myEntryPrice)) { break; } SendOrderThisBar = True; }

个人理解 ,使用循环可以让代码更简洁易用。 海龟的最大加仓次数是不定的,由交易者自己来决定最大加仓次数即 Nentries的值。如果不用循环,那么每加一次仓就写一条加仓语句?这样代码会 很多条且重复,且若要修改加仓次数时还得从代码里进行处理? 相比而言,使用循环仅需一段代码,即可通过修改参数Nentries的值来修改加仓的次数,不是更方便嘛。

因为有可能一根bar的涨幅较大,导致价格区间覆盖了多次加仓价差 比如bar的开盘价1000,海龟加仓区间30,这根bar最后涨到了1100 那么实际上这根bar应该是加仓了3次,分别是1030 1060 1090 循环就是要把这些加仓全部体现出来

回复:谢谢,每个tick都会执行一次onbar函数,难道不是每次满足条件都执行?

回复:历史bar只会运行一次 盘中bar每次运行都是从上一根bar结束状态开始运行的

回复:终于有点理解多周期了😃

海龟交易系统是有加仓的

回复:加仓我知道,不明白为什么要加循环。每个tick都会执行一次onbar函数,难道不是每次满足条件都执行?可否解释一下运行机制?