Trading signals function. Based on the values of the CCI indicator. – library MetaTrader 4

Trading signals function. Based on the values of the CCI indicator.

Add the function to the EA: #include <Signal.mqh>
Condition if(GetSignal()==1) is for buys.
Condition if(GetSignal()==-1) is for sells.

External variables of the function:

periodCCI – the period of averaging for calculation of the indicator.


applied_price – Used price. It can be any of the price constants, may range from 0 to 6.


shift – index of obtained value from the indicator buffer (shifting back by specified periods relative to the current bar).


CCI_High – The upper level of the indicator.


CCI_Low – The lower level of the indicator.

Test Example:


Symbol EURUSD (Euro vs US Dollar)
Period 15 Minutes (M15) 2009.01.26 00:00 – 2009.02.02 23:45 (2009.01.26 – 2009.02.03)
Model Every tick (the most accurate mode based on the shortest available time frames)
Parameters periodCCI=9; applied_price=2; shift=0; CCI_High=110; CCI_Low=120; TakeProfit=60; SL=30; Lots=1;

Bars in test 1573 Ticks modelled 146419 Modelling quality n/a
Mismatched chart errors 517




Initial deposit 10000.00



Net profit 11625.70 Gross profit 18583.50 Gross loss -6957.80
Profit factor 2.67 Expected payoff 219.35

Absolute drawdown 190.00 Maximum drawdown 2267.80 (10.25%) Relative drawdown 10.25% (2267.80)

Total trades 53 Short positions (won %) 17 (70.59%) Long positions (won %) 36 (52.78%)

Profit trades (% of total) 31 (58.49%) Loss Trades (% of total) 22 (41.51%)
Largest profit trade 601.10 loss trade -320.00
Average profit trade 599.47 loss trade -316.26
Maximum consecutive wins (profit in money) 5 (3001.10) consecutive losses (loss in money) 6 (-1918.90)
Maximal consecutive profit (count of wins) 3001.10 (5) consecutive loss (count) -1918.90 (6)
Average consecutive wins 3 consecutive losses 2
Alternative:   ClockAnalog - indicator MetaTrader 4


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