📅 财经日历 📊 实时波动 📈 大盘云图 📶 行情走势 🆚 投机情绪 🚀 今日热点

    获取指定货币对订单数量及全部平仓的完整函数

    老周 LV16
    2017-03-16 · 2213 阅读
    该函数获取指定货币对订单数量及执行全部平仓。是两个函数模块,一个获取指定的货币对订单数量,一个是全部平仓,可以自行添加其它过滤条件调用到EA中。

    1. #define MagicNumber 123456

    2. extern string sym ="EURUSD";
    3. int openorders = 0;

    4. int CalculateCurrentOrders(string symbol)
    5. {
    6. int buys=0,sells=0;
    7. //----
    8. for(int i=0;i<OrdersTotal();i++)
    9. {
    10. if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
    11. if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
    12. {
    13. if(OrderType()==OP_BUY) buys++;
    14. if(OrderType()==OP_SELL) sells++;
    15. }
    16. }
    17. return(buys+sells);
    18. }

    19. openorders=CalculateCurrentOrders(sym);

    20. bool CloseALL()
    21. {

    22. int ot = OrdersTotal();

    23. for(int i=0;i<ot;i++)
    24. {
    25. if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==false) return(false);
    26. if(OrderMagicNumber()!=MagicNumber|| OrderSymbol()!=sym) continue;

    27. if(OrderType()==OP_BUY)
    28. {

    29. if (!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
    30. {
    31. Print("OrderClose with error #" + GetLastError() + OrderTicket());
    32. return(false);
    33. }
    34. }
    35. if(OrderType()==OP_SELL)
    36. {
    37. if (!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
    38. {
    39. Print("OrderClose with error #" + GetLastError() + OrderTicket());
    40. return(false);
    41. }
    42. }
    43. }
    44. openorders=0;
    45. return(true);
    46. }
    复制代码


    ""
    还没有人打赏,支持一下
    回复

    举报

     

    回答|共 2 个

    jiasououk LV3

    发表于 2018-9-11 12:26:11 | 显示全部楼层

    找到好贴不容易,我顶你了,谢了

    hsqnslr LV3

    发表于 2018-9-26 20:08:28 | 显示全部楼层

    学习了,谢谢分享、、、
    您需要登录后才可以回帖 登录 | 注册

    提醒: 禁止引战、谩骂、灌水内容

    微信二维码

    有问题联系客服