MT5編程實例課程(阿郎)第三講:均線交叉EA

2019-07-11 阅读 : 次
#property copyright "Simon Yau"

#property link "http://www.xxxxxx.com"

#property version "1.00"

int maFastHandle, maSlowHandle; //定义两个指标操作句柄,用来操作两条均线

double maFast[], maSlow[]; //定义两个数组,用于保存均线的数值

//+------------------------------------------------------------------+

//| Expert initialization function |

//+------------------------------------------------------------------+

int OnInit()

{

//---

//在初始化函數OnInit中,分別指定兩個操作句柄所對應的均線指標

maFastHandle = iMA(Symbol(), PERIOD_CURRENT, 5, 0, MODE_SMA, PRICE_CLOSE); //对应5期均线

maSlowHandle = iMA(Symbol(), PERIOD_CURRENT, 10, 0, MODE_SMA, PRICE_CLOSE); //对应10期均线

 

ArraySetAsSeries(maFast, true); //将数组设置为倒序保存,即图表上方向由右向左

ArraySetAsSeries(maSlow, true); //同上

//---

return(0);

}

//+------------------------------------------------------------------+

//| Expert deinitialization function |

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//| Expert tick function |

//+------------------------------------------------------------------+

void OnTick()

{

//---

MqlTradeRequest request;

MqlTradeResult result;

 

CopyBuffer(maFastHandle, 0, 0, 3, maFast); //将句柄对应的指标数值复制入数组

CopyBuffer(maSlowHandle, 0, 0, 3, maSlow); //同上

 

if (maFast[1]>maSlow[1] && maFast[2]<=maSlow[2]) //数组获得指标的数值后,就可以进行均线交叉的判定了

{

request.action = TRADE_ACTION_DEAL;

request.symbol = Symbol();

request.volume = 0.1;

request.price = SymbolInfoDouble(Symbol(), SYMBOL_ASK);

request.type = ORDER_TYPE_BUY;

 

OrderSend(request, result); //下单

}

else if (maFast[1]<maSlow[1] && maFast[2]>=maSlow[2])

{

request.action = TRADE_ACTION_DEAL;

request.symbol = Symbol();

request.volume = 0.1;

request.price = SymbolInfoDouble(Symbol(), SYMBOL_BID);

request.type = ORDER_TYPE_SELL;

 

OrderSend(request, result); 

}

作者:阿郎(shawnyau)

本文標題:MT5編程實例課程(阿郎)第三講:均線交叉EA - MT5平台MQL5編程學習
本文地址:/fxschool/autotrading/mql5/113860.html

相關文章

  • 使用外彙EA炒外彙,怎樣才能有效控制EA虧損及爆倉?

    在如今的外彙交易中,隨著量化交易或者人工智能在一定程度上代替了人工交易,由于交易者不需要隨時盯盤,隨之而來的可能就是風險。所以,使用EA進行外彙交易中的風險控制也就成爲了第一要點。下面我們就來看看外彙EA交易怎麽才能夠有效控制爆倉。請大家牢記一句話:收益越高,風險越大!...

    2019-09-05 MQL5編程學習
  • 外彙EA交易者要如何控制使用外彙EA時的風險?
    外彙EA交易者要如何控制使用外彙EA時的風險?

    實際上隨著金融市場體制的日趨完善,無風險投資已經很難實現,因此才需要每個進入金融市場的投資者隨時應對可能出現的風險。那我們就需要未雨綢缪,做一些必要的准備,這也成爲在使用EA時所必須掌握的一門學問,在接下來的課程...

    2019-09-05 MQL5編程學習
  • 淺談外彙EA,如何讓交易變得更安全?

    外汇EA,全称Expert Advisor,是使用MQL4编程语言,针对Meta Trader 交易平台编写的自动交易程序。通过实时获取市场报价信息,自动判断入场和出场时机,模拟交易员对MT4/MT5客户端进行一系列交易操作,从而实现自动化交易。 交...

    2019-09-05 MQL5編程學習
  • 外彙EA常用的資金管理策略

    1.中性策略(Neutral strtegy,NT)现在测试EA都要求使用0.1手固定手数,不得启用复利模式,以检视EA的性能。 用于提供与其他EA比较的基准。 2.马丁格尔法(Martingale,MG)在每次赔钱后,将赌注加倍,而在任何一次赢钱后,下一次又...

    2019-07-16 MQL5編程學習
  • MT5編程實例課程(阿郎)第三講:均線交叉EA

    #property copyright "Simon Yau"#property link "http://www.xxxxxx.com"#property version "1.00"int maFastHandle, maSlowHandle; //定义两个指标操作句柄,用来操作两条均线double maFast[], maSlow[]; //定义两个...

    2019-07-11 MQL5編程學習
你可能感興趣