2.9.2 使用预挂单
修改EA处理预挂单。在下面的例子中,我们将使用止损单。当快速移动平均线大于慢速移动平均线时,将买入止损单的价位挂在目前的高价上,往上加10个点,而卖出止损订单价则低于目前低点的10个点。PendingPips为外部调整变量。
添加OrderDelete( )函数用于在买单和卖单命令块来平仓预挂单操作。我们需要用SellTicket检查订单类型,以确保使用正确的函数来平仓。
使用OrderType( )函数来检查所选的卖单是否为市价单或停损单。如果是市价单,可用OrderClose( )来进行平仓;如果是预挂单,则可使用OrderDelete( )函数语法。
关于预挂单价格的计算。现在来简单地转换PendingPips与Usepoint的分数值,并把它加到目前收盘价,且将此值存在PendingPrice变量中。接下来,计算止损和利润,还有预挂单价格的相对关系。最后用OrderSend( )下预挂单。交易结果相关信息存在BuyTicket中。
以下为预挂单价格计算源代码:
以下为卖出止损单源代码:
本书附录A中有更完整的程序源代码。




