我想将所有交易写入文本文件。我用OrderSend()
控制的那些很容易。我不知道如果使用止损或系统终止交易的止盈,他们如何让交易写入。是否可以捕获这些事务并将其写入CSV?
答案 0 :(得分:1)
有关过去订单的所有信息均可在订单历史记录中找到。
您需要先使用OrderSelect()选择您想要的顺序,这是语法:
bool OrderSelect(
int index, // index or order ticket
int select, // flag
int pool=MODE_TRADES // mode
);
然后您可以使用OrderClosePrice()OrderCloseTime()接收该订单的任何信息; OrderProfit();等
此示例返回位置12中订单的开盘时间,平仓时间和利润(如果亏损,则为负值)。
if(OrderSelect(12,SELECT_BY_POS,MODE_HISTORY)==true)
{
datetime ctm=OrderOpenTime();
if(ctm>0) Print("Open time for the order 12 ", ctm);
ctm=OrderCloseTime();
if(ctm>0) Print("Close time for the order 12 ", ctm);
Print("Profit for the order 12 ",OrderProfit());
}
else
Print("OrderSelect failed error code is",GetLastError());
OrderSelect允许您按票证编号选择订单,您在打开订单时也可以使用。
如果查看mql4的参考文档,您将详细了解这些类型命令的语法。