MT5中一个货币对只会有一个未平仓头寸。 MQL4问题最好去MQL4论坛。
我简单写个函数你参考下:
void OrderTicketRecord(long & ticket[],string _symbol) { int total = OrdersTotal(); if(total == 0) return; ArrayResize(ticket,total); for(int i=0;i<total;i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()== _symbol/* your symbol*/) ticket[i] = OrderTicket(); else continue; } } }
luenbo:
果然厉害 我去MT4 在提问一下 因为 我要找到 订单编号 才能修改订单 这样我可以设置 我希望的盈利和亏损 谢谢
MT5中一个货币对只会有一个未平仓头寸。 MQL4问题最好去MQL4论坛。
我简单写个函数你参考下:
caohongbin520:
果然厉害 我去MT4 在提问一下 因为 我要找到 订单编号 才能修改订单 这样我可以设置 我希望的盈利和亏损 谢谢
果然厉害 我去MT4 在提问一下 因为 我要找到 订单编号 才能修改订单 这样我可以设置 我希望的盈利和亏损 谢谢
OrderTicketRecord(long & ticket[],string _symbol)
long & ticket[] 请问这个事什么意思 不太明白 这个参数含义
我希望 就是 可以得到 返回的订单 比如 ticket[1]=1111 ticket[2]=222
这样 我以后只要修改 序号就能找到订单编号
如何调用 这个
long ticket[100]; TicketOrderRecord(ticket,Symbol()); for(int i=0;i<ArraySize(ticket);i++) //打印测试 Print(ticket[i]);
caohongbin520:
数组,通过引用方式传值。
OrderTicketRecord(long & ticket[],string _symbol)
long & ticket[] 请问这个事什么意思 不太明白 这个参数含义
15:35:52 888 EURUSD,M1: 0
15:35:52 888 EURUSD,M1: 63663918394963332
15:35:52 888 EURUSD,M1: 342697725470441521
15:35:52 888 EURUSD,M1: 63394864463672720
15:35:52 888 EURUSD,M1: 3457372
15:35:52 888 EURUSD,M1: 3457401
15:35:52 888 EURUSD,M1: 3457413
15:35:52 888 EURUSD,M1: 3457526
15:35:52 888 EURUSD,M1: 3457527
15:35:52 888 EURUSD,M1: 3457528
15:35:52 888 EURUSD,M1: 3457529
15:35:52 888 EURUSD,M1: 3457552
15:35:52 888 EURUSD,M1: 3457553
这个的确能找到
我想 精确的找到 某一个订单号 比如以上 9个订单 在一个数组里面 我 希望 0号位置是第一个订单 1 号是 第二个 调用的时候 以 return方式调用 引用调用 目前 不会 不知道如何找到具体的
帮我过滤一下 找到具体某一个订单号
void OnStart() { //--- long ticket[20]; OrderTicketRecord(ticket); for(int i=0;i<ArraySize(ticket);i++) if(ticket[i]!=0) Print(ticket[i]); } //+------------------------------------------------------------------+ void OrderTicketRecord(long & ticket[]) { int total = OrdersTotal(); if(total == 0) return; ArrayResize(ticket,total); for(int i=0;i<total;i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()== Symbol()/* your symbol*/) ticket[i] = OrderTicket(); else continue; } } }
void OnStart() { //--- long ticket[20]; long kkk[]; OrderTicketRecord(ticket); for(int i=0;i<ArraySize(ticket);i++) if(ticket[i]!=0) ArrayCopy(ticket,kkk,0,0,20); Print(kkk[i]); }
这段代码是错误的 我的 想法是 希望把原来的数组复制 然后按照原来的 顺序排列 比如第一单 就是 0号位置 第二单 就是 1号 位置 我 想找 那个 输入 ticket[0] 就能找到我第一次下的单就是这个意思 不过我目前不会写 不过已经接近 理想 还差一步 我估计许多人多需要这段代码 他可以实现 你的任何订单 平仓 盈利 设置等等 包括资金管理
是不是需要数组排序功能啊
比如 欧美 我做 了 4单 怎么把这 4单的订单编号都找到啊
我目前只能找一个 不会其他的 应该是数组问题