5.4 更新Expert Advisor
我们修改均线交叉expert advisor的start( )功能,以反映所建立的新功能。
首先,我们查看是否有任何未平仓的买单,之后才可继续开单。与其进行单一卖单平仓,不如干脆用此功能将所有卖单平仓。此方法不要求我们使用交易单票。
我们用定义的功能BuyMarketCount( )返回目前开仓的买单数。我们会保持BuyTicket登记,如此一来仅交替的买/卖单才会开仓。
CloseAllSellOrders( )功能会把所有未平的卖单通通平仓。我们先检查SellMarketCount( ),看看是否有要平仓的卖单。不同于第四章的CloseSellOrder( )功能,此功能不需要交易单票。由于此方法更健全,建议你用它来平掉EA中相反的交易单。
下买单代码的其余部分都跟之前一样。下相应的卖单代码如下:
接着,我们来增加交易单的移动停损功能。下单后,我们会执行移动停损程序。同上,我们会先检查未平仓的买卖单,然后再调用移动停损功能。我们增加下面的外部变量至EA:
此为检查和修改移动停损的代码(请注意:我们要查看移动停损设定有否输入。如设为"0",则实际上为停用):




