大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現在的位置:程序化交易>> 外匯現貨>> MT5>> MT5知識>>正文內容

MT5編程--簡單的開倉實例 [MT4]

  • 一開始同學們都會被MQL5的開倉平倉搞暈,這里通過編制一個簡單的開倉EA 讓大家獲得概念上的認識。
    基礎概念:
    MQL5里開倉函數還是OrderSend,不過參數變了,它 的參數變成了兩個需要提前賦值的“結構”
    復制代碼
    1. bool OrderSend(
    2. MqlTradeRequest& request // query structure
    3. MqlTradeResult& result // structure of the answer
    4. );

    參數一:是MqlTradeRequest類型,用于存儲開倉平倉以及修改訂單所需的各種信息。
    復制代碼
    1. struct MqlTradeResult
    2. {
    3. struct MqlTradeRequest
    4. {
    5. ENUM_TRADE_REQUEST_ACTIONS action; // Trade operation type
    6. ulong magic; // Expert ID (magic mumber)
    7. ulong order; // Order ticket
    8. string symbol; // Trade symbol
    9. double volume; // Requested volume for a deal in lots
    10. double price; // Price
    11. double stoplimit; // StopLimit price of the order
    12. double sl; // Stop Loss price of the order
    13. double tp; // Take Profit price of the order
    14. ulong deviation; // Maximal possible deviation from the requested price
    15. ENUM_ORDER_TYPE type; // Order type
    16. ENUM_ORDER_TYPE_FILLING type_filling; // Order execution type
    17. ENUM_ORDER_TYPE_TIME type_time; // Order execution time
    18. datetime expiration; // Order expiration time (for the orders of ORDER_TIME_SPECIFIED type)
    19. string comment; // Order comment
    20. };

    參數二:是MqlTradeResult類型,用于存儲開倉指令執行完的返回信息。
    復制代碼
    1. struct MqlTradeResult
    2. {
    3. uint retcode; // Operation return code
    4. ulong deal; // Deal ticket, if it has performed
    5. ulong order; // Order ticket, if it has placed
    6. double volume; // Deal volume, confirmed by broker
    7. double price; // Deal price, confirmed by broker
    8. double bid; // Current Bid price
    9. double ask; // Current Ask price
    10. string comment; // Broker comment to operation (by default it filled by the operation description)
    11. };

    因此要開倉前,先要定義好著兩個結構變量,然后對MqlTradeRequest變量進行必要的賦值,例如:開倉價 買賣 開倉數量 止損止盈等等。
    然后,使用OrderSend語句發送出這個指令。至于是否執行成功,則需要查詢執行后的MqlTradeResult結構的返回值。
    本例的源代碼如下:
    復制代碼
    1. //+------------------------------------------------------------------+
    2. //| 1.mq5 |
    3. //| Copyright 2009, 520FX. |
    4. //| bbs.520fx.com |
    5. //+------------------------------------------------------------------+
    6. #property copyright "2009, 520FX."
    7. #property link "bbs.520fx.com"
    8. #property version "1.00"
    9. /*
    10. 本程序為簡單示意如何在MQL5下開倉
    11. */
    12. MqlTradeRequest MyTrade;
    13. MqlTradeResult MyResult;
    14. MqlTick MyTick;
    15. void OnTick()
    16. {
    17. SymbolInfoTick(Symbol(),MyTick);
    18. MyTrade.action=TRADE_ACTION_DEAL;
    19. MyTrade.magic=123456;
    20. MyTrade.symbol=Symbol();
    21. MyTrade.volume=0.1;
    22. MyTrade.price=MyTick.ask;
    23. MyTrade.deviation=100;
    24. MyTrade.type=ORDER_TYPE_BUY;
    25. MyTrade.type_filling=ORDER_FILLING_AON;
    26. MyTrade.comment="Test";
    27. MyTrade.sl=0.0;
    28. MyTrade.tp=0.0;
    29. PositionSelect(Symbol(),0);
    30. double MyVolume=PositionGetDouble(POSITION_VOLUME);
    31. if(MyVolume<=0.3)
    32. OrderSend(MyTrade,MyResult);
    33. Print(MyResult.retcode," ",MyResult.ask," ",SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)," ",MyVolume);
    34. }

    細心的同學可能會注意到本例里還演示了其他幾個常用的問題:
    1、如何獲得當前商品的買賣價格

    2、如何獲得當前持倉單的具體信息
    注意:
    程序里這句話
    MyTrade.symbol=Symbol();
    一定不能使用下面的方式
    MyTrade.symbol=NULL;
    栽自www.520fx.com

【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 日韩人成免费网站大片 | 成人凹凸短视频在线观看 | 亚洲专区欧美 | 欧美巨大xxxx做受孕妇视频 | 成人毛片免费观看视频大全 | 婷婷色国产| 国产欧美亚洲精品第二区首页 | 国产精品夜色一区二区三区 | 五月婷婷婷婷婷 | 免费爱爱视频 | 亚洲乱码视频 | 日本不卡高清 | 国产精品天堂 | 四虎影视1304t | 亚洲一区二区三区在线 | 国产主播第一页 | 欧美一级毛片在线一看 | 久久66热re国产毛片基地 | 国产精品福利资源在线 | 亚洲国产精品婷婷久久久久 | 免费亚洲一区 | 国产日韩视频 | 亚洲一区二区三区影院 | 四虎在线观看免费视频 | 久久精品av77777| 一级毛片一级毛片一级级毛片 | 欧美日韩一级黄色片 | 久久青草免费97线频观 | 亚洲另类图 | 精品无人区乱码一区二区 | 99热久久国产这里有只有精品 | 国产综合亚洲专区在线 | 久久动漫精品 | 欧洲美女啪啪 | 成人毛片在线播放 | 91精品自在拍精选久久 | 国产福利91精品一区二区 | 香蕉网站在线观看 | 四虎永久免费地址在线网站 | 欧美日本一道高清免费3区 欧美日本一道免费一区三区 | 国语精品91自产拍在线观看二区 |