アイデア提供者 — ジョン・スミス、MQL5コードの作成者 — barabashkakvn。
このEAは、ポジションをクローズするためのアシスタントです。主にポジションのクローズを行います:

ポジションはブレイクイーブンに移動され、ストップロスはStopATR_autoインジケーターに基づいて計算されます。また、ポジションは2つの移動平均線(MA)の交差でクローズされます。
このEAを運用するためには、コンパイル済みのStopATR_autoインジケーターを、フォルダーMQL5\Indicators\Downloadsに追加してください:
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- ... //--- create handle of the indicator iCustom handle_iCustom=iCustom(m_symbol.Name(),TimeFrame,"Downloads\\StopATR_auto", CountBarsForAverage, Target );
このエキスパートアドバイザーはポジションをクローズするだけですが、ポジションをオープンするための小さなコード部分も追加しています:
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(MQLInfoInteger(MQL_DEBUG) || MQLInfoInteger(MQL_PROFILER) || MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION)) { static long counter=-50; static bool trade_buy=true; if(counter==0) m_trade.Buy(m_symbol.LotsMin()); else if(counter%1500==0) { if(RefreshRates()) { if(trade_buy) { OpenBuy(m_symbol.LotsMin()); trade_buy=false; } else { OpenSell(m_symbol.LotsMin()); trade_buy=true; } } else counter=counter-9; } counter++; } //---
このユニットは、テストまたは最適化中にのみ機能します。1,500ティックごとにポジションがオープンされます。
コメント 0