Watch how to download trading robots for free

Interesting script?
So post a link to it -
let others appraise it

You liked the script? Try it in the MetaTrader 5 terminal


Crossing Moving Average - expert for MetaTrader 5

Scriptor | English Русский 中文 Español Deutsch 日本語 Português

Published by:
Vladimir Karputov
votes: 12
2018.08.23 13:26

The author of the idea: Scriptor

MQL5 code author: barabashkakvn

The EA only operates when a new bar appears. Position volume is always fixed and set in the Lots parameter. Stop Loss, Take Profit and Trailing Stop parameters can be disabled - to do this, set the appropriate value to "0.0". The last Trailing Step parameter - trailing step.

Two Moving Averages (First and Second) are used. The crossing is defined in a very simple way (this is not the most accurate method, but it is the easiest one) - by analyzing the indicators values on two adjacent bars:

//--- Buy Signal
   if(MA_First[1]>MA_Second[1]+ExtMA_MinimumDistance && MA_First[2]<MA_Second[2]-ExtMA_MinimumDistance)
//--- Sell signal
   if(MA_First[1]<MA_Second[1]-ExtMA_MinimumDistance && MA_First[2]>MA_Second[2]+ExtMA_MinimumDistance)


  • MA_First[1] - First indicator value on bar #1;
  • MA_First[2] - First indicator value on bar #2;
  • MA_Second[1] - Second indicator value on bar #1;
  • MA_Second[2] - Second indicator value on bar #2;
  • ExtMA_MinimumDistance - calculated parameter of the minimum distance between the indicators (Minimum distance between MA's). This parameter can be completely disabled: to do this, set the parameter to "0.0" in the inputs.

Then each signal is checked by the filter using the Momentum indicator - the Momentum filter parameter override is checked.

Visually, this looks as follows:

Crossing Moving Average Algorithm

Test on EURUSD M15:

Crossing Moving Average

Translated from Russian by MetaQuotes Software Corp.
Original code:

Rj_SlidingRangeRj_Digit_System_HTF Rj_SlidingRangeRj_Digit_System_HTF

The Rj_SlidingRangeRj_Digit_System indicator with the timeframe selection option available in the input parameters.

Rj_SlidingRangeRj_Digit_System Rj_SlidingRangeRj_Digit_System

The indicator paints candles going beyond the Rj_SlidingRangeRj_Digit channel.

Separate Trade Separate Trade

iATR (Average True Range, ATR) and iStdDev (Standard Deviation, StdDev) indicators are configured for crossing of the two iMAs (Moving Average, MA) plus for Buy and Sell separately.

IdeaTrend IdeaTrend

IdeaTrend is meant for checking a trend defining idea.