Trading: Comparative Analysis of 30 Indicators and Oscillators

 

New article Comparative Analysis of 30 Indicators and Oscillators has been published:

The article describes an Expert Advisor that allows conducting the comparative analysis of 30 indicators and oscillators aiming at the formation of an effective package of indexes for trading.

Pay attention, this EA is not intended for the execution of live trading and therefore does not contain the money management block. Block of trade execution is implemented in a very simple way. The main task of the Expert Advisor is the provision of information about the presence or absence of signals from different indicators in connection with a price chart.

For the implementation of this task a digital matrix consisting of "-1", "0" and "1" is drawn on a chart. Each matrix line belongs to a certain indicator or oscillator. The matrix columns are formed at each moment of time (according to the selected chart period). The appearance of "-1" in a certain matrix line denotes the presence of a signal to sell produced by a certain indicator (oscillator); appearance of "1" - presence of a buy signal, "0" denotes the absence of any signal. Fig. 1 illustrates the program operation results.

Fig. 2 illustrates the analysis of RVI operation based on the matrix. In the line 26 (it contains data about this indicator) "1" is recorded when the main line moves above the signal one (the indicator recommends to buy), "-1" - when the signal line is above the main one (Sell signal). Due to the indicator characteristics this line does not contain "0".

Author: Александр

 

Please translate English. Your article is Rusian language.

 
i have test.  EURUSD,M5: OrderSend error 131
 
Thanks very good article!
 

i download Matrix.mq4 and open metaeditor. but screen not appearm remark.

 
//----------Ïåğåìåííûå ğàçìåùåíèÿ ïîçèöèé----------
extern int distance=7; //Èíòåğâàë (óñòàíîâêà SL è TP)
extern int slipp=2; //Ìàêñèìàëüíîå ïğîñêàëüçûâàíèå
double Lot=0.01; //Ëîò

//----------Ïåğåìåííûå äëÿ âûâîäà çíà÷åíèé ôëàãîâ----------
datetime timeident; //Òåêóùåå âğåìÿ äëÿ ñîçäàíèÿ óíèêàëüíûõ èìåí îáúåêòîâ "òåêñò"
int i; //Äëÿ öèêëà
string ident; //Óíèêàëüíûå èìåíà îáúåêòîâ "òåêñò"
string info;
int f[50]; //Ìàññèâ èç 50 ıëåìåíòîâ (íà ïåğñïåêòèâó, äî 50 èíäèêàòîğîâ)

 
Very nice article and interesting EA, could be very useful for testing new strategies. Are all the indicators used the standard built in ones that come with MetaTrader or do I have to go hunt for them?
 
Now the translated source code into English is attached.
 
Can you make signal alert in matrix ?
 

I doesn't show anything...


I tried to compile (ok), and added the EA (ok), but it's not showing anything.


Reg. DK

 

what's the point to having the the Alligator even bother showing up in the price chart?  In the matrix EA, it will ALWAYS be 0.

//4. Gator Oscillator
//Ñàìîñòîÿòåëüíûõ ñèãíàëîâ íå äàåò. Èñïîëüçóåòñÿ äëÿ êîððåêòèðîâêè Alligator'à.
//Ïðèíöèï: òåíäåíöèÿ äîëæíà óñèëèâàòüñÿ. Ïðè ýòîì Gator Oscillator ðàñòåò.
//Äëÿ ïîäñ÷åòîâ âçÿòà íèæíÿÿ ÷àñòü äèàãðàììû. Ïðîâåðÿåòñÿ ðîñò íà 4 ïåðèîäàõ.
//Ôëàã ðàâåí 1 ïðè óñèëåíèè òðåíäà, 0 - ïðè îòñóòñòâèè óñèëåíèÿ, -1 - íèêîãäà.
//Èñïîëüçóåò ÷àñòü ïåðåìåííûõ Alligator'à
if (iGator(NULL,piga,jaw_period,jaw_shift,teeth_period,teeth_shift,lips_period,lips_shift,
        MODE_SMMA,PRICE_MEDIAN,MODE_LOWER,3)>iGator(NULL,piga,jaw_period,jaw_shift,
        teeth_period,teeth_shift,lips_period,lips_shift,MODE_SMMA,PRICE_MEDIAN,MODE_LOWER,2)
        &&iGator(NULL,piga,jaw_period,jaw_shift,teeth_period,teeth_shift,lips_period,lips_shift,
        MODE_SMMA,PRICE_MEDIAN,MODE_LOWER,2)>iGator(NULL,piga,jaw_period,jaw_shift,teeth_period,
        teeth_shift,lips_period,lips_shift,MODE_SMMA,PRICE_MEDIAN,MODE_LOWER,1)&&iGator
        (NULL,piga,jaw_period,jaw_shift,teeth_period,teeth_shift,lips_period,lips_shift,
        MODE_SMMA,PRICE_MEDIAN,MODE_LOWER,1)>iGator(NULL,piga,jaw_period,jaw_shift,teeth_period,
        teeth_shift,lips_period,lips_shift,MODE_SMMA,PRICE_MEDIAN,MODE_LOWER,0))
{f4=1;}
//Îáúåäèíåíèå ôëàãîâ 3 è 4
if (f3==1&&f4==1)
{f4=1;}
if (f3==-1&&f4==1)
{f4=-1;}
f3=0; //Ôëàã 3 áîëåå íå èñïîëüçóåòñÿ

f3, which is the int variable for Alligator, ALWAYS gets set to 0.

Sorry about the extended ascii characters.  the comments are in ru, i assume, and I don't run ru on my pc (because I can't read it, sorry).

 

I have to add Bears into the "what's the point" section.  It's always getting set to 0.

if (iBullsPower(NULL,pibull,pibullu,PRICE_CLOSE,2)>0&&iBullsPower
    (NULL,pibull,pibullu,PRICE_CLOSE,1)>0&&iBullsPower(NULL,pibull,pibullu,PRICE_CLOSE,0)>0&&iBullsPower
    (NULL,pibull,pibullu,PRICE_CLOSE,2)>iBullsPower(NULL,pibull,pibullu,PRICE_CLOSE,1)&&iBullsPower
    (NULL,pibull,pibullu,PRICE_CLOSE,1)>iBullsPower(NULL,pibull,pibullu,PRICE_CLOSE,0))
{f10=-1;}
f10=0; //Ïîêà íå èñïîëüçóåì
Reason: