人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現(xiàn)在的位置:程序化交易>> 外匯現(xiàn)貨>> MT5>> MT5知識(shí)>>正文內(nèi)容

MT5中有用的自帶自定義函數(shù)講解 [MT4]

  • 因?yàn)镸QL5的交易方式改成 兩個(gè)結(jié)構(gòu)參數(shù)的樣子,很多人都會(huì)暈好久,對(duì)沒入門的人來說就更難理解了。
    在這里,我們制作了類似MQL4的交易功能,用自定義函數(shù)實(shí)現(xiàn)的,只需要拷貝到你的EA里,然后按例子的樣子使用就行了。
    前提
    以下自定義函數(shù)都需要用到幾個(gè)公共的結(jié)構(gòu),所以先要把下面的公共定義部分拷貝在程序的頭部。然后在拷貝后面的自定義指標(biāo)。
    程序頭部的交易結(jié)構(gòu)定義:
    復(fù)制代碼
    1. int MagicHere=12345;
    2. MqlTradeRequest MyTrade;
    3. MqlTradeResult MyResult;

    自定義函數(shù)一:市價(jià)單入場(chǎng)函數(shù)
    復(fù)制代碼
    1. bool PositionOpen(ulong TradeOrder,double Vol,double ST,double TP,ulong Slip,int Magic,string Comm)
    2. {
    3. MyTrade.action=TRADE_ACTION_DEAL;
    4. MyTrade.magic=Magic;
    5. MyTrade.symbol=Symbol();
    6. MyTrade.volume=Vol;
    7. //SymbolInfoTick(Symbol(),MyTick);
    8. switch(TradeOrder)
    9. {
    10. case ORDER_TYPE_BUY:
    11. MyTrade.price=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
    12. MyTrade.type=ORDER_TYPE_BUY;
    13. break;
    14. case ORDER_TYPE_SELL:
    15. MyTrade.price=SymbolInfoDouble(Symbol(),SYMBOL_BID);
    16. MyTrade.type=ORDER_TYPE_SELL;
    17. break;
    18. }
    19. MyTrade.deviation=Slip;
    20. MyTrade.type_filling=ORDER_FILLING_AON;
    21. MyTrade.comment=Comm;
    22. MyTrade.sl=ST;
    23. MyTrade.tp=TP;
    24. return(OrderSend(MyTrade,MyResult));
    25. }

    調(diào)用舉例:按市場(chǎng)價(jià)賣出當(dāng)前貨幣0.1手,無止損止盈。
    復(fù)制代碼
    1. PositionOpen(ORDER_TYPE_SELL,0.1,0,0,10,MagicHere,"Test");

    自定義函數(shù)二:按市價(jià)平倉(cāng)當(dāng)前貨幣持倉(cāng)單
    復(fù)制代碼
    1. bool PositionClose(const string symbol,ulong deviation)
    2. {
    3. double price;
    4. //--- checking
    5. if(PositionSelect(symbol))
    6. {
    7. if(PositionGetInteger(POSITION_TYPE)==ORDER_TYPE_BUY)
    8. {
    9. //--- prepare query for close BUY position
    10. MyTrade.type =ORDER_TYPE_SELL;
    11. MyTrade.price=SymbolInfoDouble(symbol,SYMBOL_BID);
    12. }
    13. else
    14. {
    15. //--- prepare query for close SELL position
    16. MyTrade.type =ORDER_TYPE_BUY;
    17. MyTrade.price=SymbolInfoDouble(symbol,SYMBOL_ASK);
    18. }
    19. }
    20. //--- setting request
    21. MyTrade.action =TRADE_ACTION_DEAL;
    22. MyTrade.symbol =symbol;
    23. MyTrade.volume =PositionGetDouble(POSITION_VOLUME);
    24. MyTrade.sl =0.0;
    25. MyTrade.tp =0.0;
    26. MyTrade.deviation =deviation;
    27. MyTrade.type_filling=ORDER_FILLING_AON;
    28. //---
    29. return(OrderSend(MyTrade,MyResult));
    30. }

    調(diào)用舉例:按市價(jià)單平倉(cāng) 滑點(diǎn)可接受5點(diǎn)內(nèi)
    復(fù)制代碼
    1. PositionClose(Symbol(),5);

    自定義函數(shù)三:修改當(dāng)前貨幣持倉(cāng)單的止盈止損
    復(fù)制代碼
    1. bool PositionModify(const string symbol,double sl,double tp)
    2. {
    3. //--- setting request
    4. MyTrade.action=TRADE_ACTION_SLTP;
    5. MyTrade.symbol=symbol;
    6. MyTrade.sl =sl;
    7. MyTrade.tp =tp;
    8. //---
    9. return(OrderSend(MyTrade,MyResult));
    10. }

    調(diào)用舉例:設(shè)置新的止盈止損
    復(fù)制代碼
    1. PositionModify(Symbol(),NewStop,NewTarget);

    自定義指標(biāo)四:當(dāng)前貨幣持倉(cāng)單的手?jǐn)?shù)總和
    復(fù)制代碼
    1. double PositionVolume()
    2. {
    3. if(PositionSelect(Symbol(),0))
    4. {
    5. double Vol=PositionGetDouble(POSITION_VOLUME);
    6. return(Vol);
    7. }else return(-1);
    8. }

    自定義指標(biāo)五:發(fā)出當(dāng)前貨幣的掛單
    復(fù)制代碼
    1. bool OrderOpen(ENUM_ORDER_TYPE order_type,double volume,double limit_price,
    2. double price,double sl,double tp,const string comment)
    3. {
    4. //--- checking
    5. if(order_type==ORDER_TYPE_BUY || order_type==ORDER_TYPE_SELL)
    6. {
    7. MyResult.retcode=TRADE_RETCODE_INVALID;
    8. MyResult.comment="Invalid order type";
    9. return(false);
    10. }
    11. //--- setting request
    12. MyTrade.action =TRADE_ACTION_PENDING;
    13. MyTrade.symbol =Symbol();
    14. MyTrade.magic =MagicHere;
    15. MyTrade.volume =volume;
    16. MyTrade.type =order_type;
    17. MyTrade.price =price;
    18. MyTrade.sl =sl;
    19. MyTrade.tp =tp;
    20. MyTrade.type_filling=ORDER_FILLING_AON;
    21. MyTrade.comment =comment;
    22. //---
    23. return(OrderSend(MyTrade,MyResult));
    24. }

    自定義指標(biāo)六:修改當(dāng)前指定Ticket的掛單的止盈止損數(shù)值
    復(fù)制代碼
    1. bool OrderModify(ulong ticket,double price,double sl,double tp)
    2. {
    3. //--- setting request
    4. MyTrade.action =TRADE_ACTION_MODIFY;
    5. MyTrade.order =ticket;
    6. MyTrade.price =price;
    7. MyTrade.sl =sl;
    8. MyTrade.tp =tp;
    9. //---
    10. return(OrderSend(MyTrade,MyResult));
    11. }

    自定義指標(biāo)七:刪除當(dāng)前指定Ticket的掛單
    復(fù)制代碼
    1. bool OrderDelete(ulong ticket)
    2. {
    3. //--- setting request
    4. MyTrade.action =TRADE_ACTION_REMOVE;
    5. MyTrade.order =ticket;
    6. MyTrade.symbol =NULL;
    7. MyTrade.magic =0;
    8. MyTrade.volume =0.0;
    9. MyTrade.type =0;
    10. MyTrade.price =0.0;
    11. MyTrade.sl =0.0;
    12. MyTrade.tp =0.0;
    13. MyTrade.type_time =0;
    14. MyTrade.expiration=0;
    15. //---
    16. return(OrderSend(MyTrade,MyResult));
    17. }

    自定義指標(biāo)八:獲得當(dāng)前最新入場(chǎng)的掛單的Ticket號(hào)碼
    復(fù)制代碼
    1. ulong GetLastOrderTick()
    2. {
    3. int Cnt=OrdersTotal();
    4. if(Cnt>0)
    5. {
    6. for(int i=Cnt-1;i>=0;i++)
    7. {
    8. int Tick=OrderGetTicket(i);
    9. if(OrderGetString(ORDER_SYMBOL)==Symbol())
    10. return(Tick);
    11. }
    12. return(-1);
    13. }else return(-1);
    14. }

    栽自www.520fx.com
    上面那些函數(shù)都是非常有用的,如果能有效的使用,能提高你編程速度數(shù)倍啊。
    上面只是粗略的講下,如果你有什么疑問,就在本站回帖,本站會(huì)給予進(jìn)一步的解答。

【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 久草最新 | 一级毛片q片 | 亚洲欧美日韩在线播放 | 很很在线视频观看 | 99精品视频3 | 91精品久久久久久久久中文字幕 | 亚欧在线观看 | yy6080网午夜毛片一级 | 免费高清a级毛片在线播放 免费高清欧美一区二区视频 | 7mav视频| 日韩在线视频中文字幕 | 91在线 在线播放 | 国产精品欧美亚洲 | 国产日韩欧美swag在线观看 | 窝窝午夜看片免费视频 | 一个人看的www视频在线播放 | 人人爽天天碰天天躁夜夜躁 | 午夜欧美成人久久久久久 | 亚洲专区第一页 | 日韩欧美亚洲香蕉七次郎 | 97免费视频免费视频 | a免费视频 | 5566成人免费视频观看 | 精品不卡 | 最近2019中文字幕免费看最新 | 午夜按摩 | 午夜精品在线视频 | 一级a俄罗斯毛片免费 | 色噜噜狠狠色综合网图区 | 成人a视频高清在线观看 | 91香焦国产线观看看免费 | 日皮视频在线观看 | 无遮挡男女激烈免费动态图 | 国产精品成人观看视频网站 | 午夜无码国产理论在线 | 91久久人澡人人添人人爽 | 国产欧美在线不卡 | 色在线导航 | 亚洲va久久久久综合 | 啪免费视频 | 日本在线不卡免 |