MT5編程--簡單的開倉實例 [MT4]
作者:
MT4 來源:
cxh99.com 發布時間:2012年05月21日 點擊數:
【
收藏到本網的會員中心】
- 一開始同學們都會被MQL5的開倉平倉搞暈,這里通過編制一個簡單的開倉EA 讓大家獲得概念上的認識。
基礎概念:
MQL5里開倉函數還是OrderSend,不過參數變了,它 的參數變成了兩個需要提前賦值的“結構”
復制代碼-
- bool OrderSend(
- MqlTradeRequest& request // query structure
- MqlTradeResult& result // structure of the answer
- );
參數一:是MqlTradeRequest類型,用于存儲開倉平倉以及修改訂單所需的各種信息。
復制代碼-
- struct MqlTradeResult
- {
- struct MqlTradeRequest
- {
- ENUM_TRADE_REQUEST_ACTIONS action; // Trade operation type
- ulong magic; // Expert ID (magic mumber)
- ulong order; // Order ticket
- string symbol; // Trade symbol
- double volume; // Requested volume for a deal in lots
- double price; // Price
- double stoplimit; // StopLimit price of the order
- double sl; // Stop Loss price of the order
- double tp; // Take Profit price of the order
- ulong deviation; // Maximal possible deviation from the requested price
- ENUM_ORDER_TYPE type; // Order type
- ENUM_ORDER_TYPE_FILLING type_filling; // Order execution type
- ENUM_ORDER_TYPE_TIME type_time; // Order execution time
- datetime expiration; // Order expiration time (for the orders of ORDER_TIME_SPECIFIED type)
- string comment; // Order comment
- };
參數二:是MqlTradeResult類型,用于存儲開倉指令執行完的返回信息。
復制代碼-
- struct MqlTradeResult
- {
- uint retcode; // Operation return code
- ulong deal; // Deal ticket, if it has performed
- ulong order; // Order ticket, if it has placed
- double volume; // Deal volume, confirmed by broker
- double price; // Deal price, confirmed by broker
- double bid; // Current Bid price
- double ask; // Current Ask price
- string comment; // Broker comment to operation (by default it filled by the operation description)
- };
因此要開倉前,先要定義好著兩個結構變量,然后對MqlTradeRequest變量進行必要的賦值,例如:開倉價 買賣 開倉數量 止損止盈等等。
然后,使用OrderSend語句發送出這個指令。至于是否執行成功,則需要查詢執行后的MqlTradeResult結構的返回值。
本例的源代碼如下:
復制代碼- //+------------------------------------------------------------------+
- //| 1.mq5 |
- //| Copyright 2009, 520FX. |
- //| bbs.520fx.com |
- //+------------------------------------------------------------------+
- #property copyright "2009, 520FX."
- #property link "bbs.520fx.com"
- #property version "1.00"
- /*
- 本程序為簡單示意如何在MQL5下開倉
- */
- MqlTradeRequest MyTrade;
- MqlTradeResult MyResult;
- MqlTick MyTick;
- void OnTick()
- {
- SymbolInfoTick(Symbol(),MyTick);
- MyTrade.action=TRADE_ACTION_DEAL;
- MyTrade.magic=123456;
- MyTrade.symbol=Symbol();
- MyTrade.volume=0.1;
- MyTrade.price=MyTick.ask;
- MyTrade.deviation=100;
- MyTrade.type=ORDER_TYPE_BUY;
- MyTrade.type_filling=ORDER_FILLING_AON;
- MyTrade.comment="Test";
- MyTrade.sl=0.0;
- MyTrade.tp=0.0;
- PositionSelect(Symbol(),0);
- double MyVolume=PositionGetDouble(POSITION_VOLUME);
- if(MyVolume<=0.3)
- OrderSend(MyTrade,MyResult);
- Print(MyResult.retcode," ",MyResult.ask," ",SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)," ",MyVolume);
- }
細心的同學可能會注意到本例里還演示了其他幾個常用的問題:
1、如何獲得當前商品的買賣價格
2、如何獲得當前持倉單的具體信息
注意:
程序里這句話
MyTrade.symbol=Symbol();
一定不能使用下面的方式
MyTrade.symbol=NULL;
栽自www.520fx.com
主站蜘蛛池模板:
日韩人成免费网站大片
|
成人凹凸短视频在线观看
|
亚洲专区欧美
|
欧美巨大xxxx做受孕妇视频
|
成人毛片免费观看视频大全
|
婷婷色国产|
国产欧美亚洲精品第二区首页
|
国产精品夜色一区二区三区
|
五月婷婷婷婷婷
|
免费爱爱视频
|
亚洲乱码视频
|
日本不卡高清
|
国产精品天堂
|
四虎影视1304t
|
亚洲一区二区三区在线
|
国产主播第一页
|
欧美一级毛片在线一看
|
久久66热re国产毛片基地
|
国产精品福利资源在线
|
亚洲国产精品婷婷久久久久
|
免费亚洲一区
|
国产日韩视频
|
亚洲一区二区三区影院
|
四虎在线观看免费视频
|
久久精品av77777|
一级毛片一级毛片一级级毛片
|
欧美日韩一级黄色片
|
久久青草免费97线频观
|
亚洲另类图
|
精品无人区乱码一区二区
|
99热久久国产这里有只有精品
|
国产综合亚洲专区在线
|
久久动漫精品
|
欧洲美女啪啪
|
成人毛片在线播放
|
91精品自在拍精选久久
|
国产福利91精品一区二区
|
香蕉网站在线观看
|
四虎永久免费地址在线网站
|
欧美日本一道高清免费3区
欧美日本一道免费一区三区
|
国语精品91自产拍在线观看二区
|