Trading signals function. – library MetaTrader 4

The trading signals function is based on the values of the OsMA indicator.


Add the function to the EA: #include <Signal.mqh>


Condition if(GetSignal()==1) is for buys


Condition if(GetSignal()==-1) is for sells

Test Example:


Symbol EURUSD (Euro vs US Dollar)
Period 1 Minute (M1) 2009.01.19 00:00 – 2009.01.23 23:59 (2009.01.19 – 2009.01.24)
Model Every tick (the most accurate mode based on the shortest available time frames)
Parameters fast_ema_period=10; slow_ema_period=12; signal_period=11; applied_price=5; shift0=18; shift1=20; shift2=0; shift3=11; TakeProfit=66; SL=20; Lots=0.1;

Bars in test 8073 Ticks modelled 96748 Modelling quality 25.00%
Mismatched chart errors 0




Initial deposit 1000.00



Net profit 1018.12 Gross profit 1913.42 Gross loss -895.30
Profit factor 2.14 Expected payoff 14.54

Absolute drawdown 50.00 Maximum drawdown 154.58 (8.63%) Relative drawdown 8.63% (154.58)

Total trades 70 Short positions (won %) 38 (44.74%) Long positions (won %) 32 (37.50%)

Profit trades (% of total) 29 (41.43%) Loss Trades (% of total) 41 (58.57%)
Largest profit trade 66.28 loss trade -24.58
Average profit trade 65.98 loss trade -21.84
Maximum consecutive wins (profit in money) 4 (264.28) consecutive losses (loss in money) 6 (-134.58)
Maximal consecutive profit (count of wins) 264.28 (4) consecutive loss (count) -134.58 (6)
Average consecutive wins 2 consecutive losses 2
Alternative:  Chaikin Oscillator smoothed for MT4 - indicator MetaTrader 4


📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks