老师你好!软件里提供的海龟开仓的系统有个小问题,代码如下:
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);
这样岂不是更简单,请老师解疑
您好,不能按您说的修改。您可能没有完全理解这句命令的作用,这句命令,主要是为了防止大跳空时的偷价。举个例子说,假如上轨等于5000元,开盘开在5100,那突破开仓的价格应该是5100才符合实际交易的成交价格,因为开盘就突破了,我们肯定要按规则开多。但如果换成High,则明显不合理,如果后面High涨到了5500,那应该算5500突破的嘛,这肯定就不对了。
接昨天的问题,老师,如果这样的话是否能直接简写成myEntryPrice = max(OPEN,DonchianHi + MinPoint);,这样子不就规避了H变动的影响了,请指点
随着K线变化 H会变化