关于海龟开仓的小疑问

老师你好!软件里提供的海龟开仓的系统有个小问题,代码如下:

If(High > DonchianHi && TurtleUnits >= 1)

           {

               // 开仓价格取突破上轨+一个价位和最高价之间的较小值,这样能更接近真实情况,并能尽量保证成交

               myEntryPrice = min(high,DonchianHi + MinPoint);

               myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice); // 大跳空的时候用开盘价代替

               preEntryPrice = myEntryPrice;

               Buy(TurtleUnits,myEntryPrice);

                }

其中第三行,如果大跳空的时候,开盘那一瞬间OPEN不就是high嘛,那我能不能把前两句直接改成

myEntryPrice = max(high,DonchianHi + MinPoint);

这样岂不是更简单,请老师解疑

关于海龟双重损失的问题
关于setbaseperiod的几个疑问
关于OnTimer的疑问
关于多数据源对齐的 SetBeginBarMaxCount疑问
关于MLRS使用的疑问
关于 SetGlobalVar 的疑问
关于tick的疑问
运行机制的疑问
关于策略优化的参数设置疑问
海龟交易

您好,不能按您说的修改。您可能没有完全理解这句命令的作用,这句命令,主要是为了防止大跳空时的偷价。举个例子说,假如上轨等于5000元,开盘开在5100,那突破开仓的价格应该是5100才符合实际交易的成交价格,因为开盘就突破了,我们肯定要按规则开多。但如果换成High,则明显不合理,如果后面High涨到了5500,那应该算5500突破的嘛,这肯定就不对了。

接昨天的问题,老师,如果这样的话是否能直接简写成myEntryPrice = max(OPEN,DonchianHi + MinPoint);,这样子不就规避了H变动的影响了,请指点

随着K线变化 H会变化