# Examples: Theoretical Basis of Building Cluster Indicators for FOREX

Moderator
188021

New article Theoretical Basis of Building Cluster Indicators for FOREX has been published:

Cluster indicators are sets of indicators that divide currency pairs into separate currencies. Indicators allow to trace the relative currency fluctuation, determine the potential of formating new currency trends, receive trade signals and follow medium-term and long-term positons.

Author: Simeon Semenych

16319

CAN ANYONE MAKE CFp MULTI-TIME FRAME AND OBLIGE.

DILIP

257

Price is the SAME on all time frames so it is time frame independent.

117

The Complex_pairs1.mq4 indicator is a great indicator!

http://

16319

Hi, congrats on the work done, look forward to the article: Practical use of cluster indicators in FOREX market
37

Thanks for a very interesting article!
16319

Dear All !

Many thanks !

16319

Thank you very much for these great indicators, Simeon!

I have just one problem; I made an EA to do some back testing with the CC indicator. But, for some reason, when I make back testing in Visual Mode and compare the CC values in it's window to the values in the "ordinary" chart window, the values are totally different. I.e., if I test EURUSD, there might be a situation where EUR rises over USD in the tester's window. But if I check exactly the same moment in time from an EURUSD window, attached with the CC indicator with exactly the same input values, EUR might be going to a totally different direction than in the tester's window. What's the problem with this?? Have I done something wrong, or is it not possible to use these indicators for history testing at all??

16319

thaankssss...
16319

Dear all.

The Complex_pairs1.mq4 indicator looks clever.

How to use the Complex_pairs1 indicator to input/close positions ?

13

sry for posting in an old thread but i got a question...

i think the calculation in CCFP is wrong, can one check this pls?

```double ma(string sym, int per, int Mode, int Price, int i)
{
double res = 0;
int k = 1;
int ma_shift = 0;
int tf = 0;
switch(Period())
{
case 1:     res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k += 5;
case 5:     res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k += 3;
case 15:    res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k += 2;
case 30:    res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k += 2;
case 60:    res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k += 4;
case 240:   res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k += 6;
case 1440:  res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k += 4;
case 10080: res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
k +=4;
case 43200: res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i);
}
return(res);
}  ```
he forgot the "break;" after each "case" - the result is that he adds values of higher timeframes to the real/correct output value "res" ...

the correct result for H4 is 117,93, because of the missing breaks all higher timeframe results are added with wrong k values...?

why wrong k values?

` case 240:   res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i); k += 6;`

in my picture you'll see k = 7 @ H4 but the IMA call is before we increased k(intial value 1) to 7, the IMA calculation is done with k = 1! this makes no sense, why increase k after we used it? we don't need it anymore?

example code for that H4 line should be like this or did i understand something wrong?

``` case 240:   k += 6; res += iMA(sym, tf, per*k, ma_shift, Mode, Price, i); break;
```