MQL5获取最后一个平仓订单的订单号
搜遍谷歌百度, mt5论坛和参考手册, 没有找到一个可以用的代码, 最后还是自己动手解决了.struct OrderInfo {
ulong orderId;
ulong subOrderId;
datetime closeDate;
ulong ticket;
};
void BubbleSort(OrderInfo &array[]) {
int total = ArraySize(array);
for (int i = 0; i < total - 1; i++) {
for (int j = 0; j < total - i - 1; j++) {
if (array.closeDate < array.closeDate) {
OrderInfo temp = array;
array = array;
array = temp;
}
}
}
}
void OnStart() {
OrderInfo myArr[];
OrderInfo myArr2[];
HistorySelect(0, TimeCurrent());
int total = HistoryDealsTotal();
for(int i = 0 ; i < total ; i++) {
ulong ticket = HistoryDealGetTicket(i);
ulong orderNo = HistoryDealGetInteger(ticket, DEAL_ORDER);
int entry = HistoryDealGetInteger(ticket, DEAL_ENTRY);
if(orderNo) {
if(entry == 1 && !PositionSelectByTicket(orderNo)) {
int count = ArraySize(myArr);
ArrayResize(myArr, count + 1);
myArr.orderId = orderNo;
myArr.subOrderId = HistoryDealGetInteger(ticket, DEAL_POSITION_ID);
myArr.closeDate = (datetime)HistoryDealGetInteger(ticket, DEAL_TIME);
myArr.ticket = ticket;
}
}
}
BubbleSort(myArr);
Print("最后一个平仓订单号:" + myArr.subOrderId);
}
[微笑][撇嘴][发呆][得意][流泪][闭嘴] 这也发布3H? 看一下都要银子???? 这个有什么技巧吗 看看有什么
页:
[1]