Aide au codage - page 427

 
AtApi:
Merci mladen bien que ce ne soit pas exactement ce que je cherche...le doublezigzag ne se repeint pas (les deux zigzag sont alignés) parce qu'il est basé sur des fractales...ces points sont ceux à partir desquels je voudrais construire le triangle...

J'ai essayé de modifier un peu le code afin d'obtenir les 2 signaux supérieurs les plus récents et les 2 signaux inférieurs les plus récents mais je suis un peu coincé... Laissez-moi vous montrer ce que j'essaie de faire :

cette partie est celle qui peint le signal lorsque les deux zigzags sont alignés :

// Do both zigzag agree on the signal?

if(SlowSignal == FastSignal && SlowSignal != EMPTY_VALUE)

{

if(SlowSignal == OP_BUY)

{

ExtMapBuffer3 = fr_support - nShift*Point;

} else {

ExtMapBuffer3 = fr_resistance + nShift*Point;

}

[/CODE]

after this i want to get the most recent upper and the previously upper and most recent lower and the previously lower like this

[CODE]

HighOldest = ExtMapBuffer3[ArrayMaximum(ExtMapBuffer3,BarsBack,i+2)];

LowOldest = ExtMapBuffer3[ArrayMinimum(ExtMapBuffer3,BarsBack,i+2)];

Donc je pense que je devrais avoir le plus récent de ExtMapBuffer3 et le plus ancien de HighOldest.

alors j'aurai les 2 points pour construire les lignes de tendance...

Mais pour une raison quelconque, il doit y avoir un EMPTY_VALUE quelque part dans le tampon parce que lorsque je fais ArrayMaximum, il retourne le EMPY_VALUE comme valeur maximale dans le tableau.

J'espère que c'est clair...

Pas grave, j'ai résolu le problème !

 
mladen:
TFI Vous avez un paramètre supplémentaire qui ne devrait pas être là : le "" après le nom de l'indicateur (après "Efficiency_v1.1"). Supprimez la partie "" (chaîne vide) après le nom de l'indicateur.

Salut Mladen,

Merci beaucoup pour votre suggestion. Je me demande si je n'ai pas mal pris le signal du filtre, car l'EA n'ouvre plus de trade alors que la contrainte d'ouverture d'un trade long / short est remplie (la ligne zéro est franchie). Pourriez-vous probablement revoir mon code avec votre expertise ?

Merci beaucoup (encore une fois) :-)

if(openedOrders<=0)

{

double trend_up = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,1);

double trend_down = iCustom(Symbol(),0,"Hull moving average 2 strict nmc","", HMA_Period, HMA_Price, HMA_Speed,0,3,2);

double trendf_up = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,1); // Signal Buffer 1

double trendf_down = iCustom(Symbol(),0,"Efficiency_v1.1",Price,Length,Smooth,Signal,MA_Mode,NoiseMode,0,1,2);

int clongs = 0;

int cshorts = 0;

for(i=OrdersTotal()-1;i>=0; i--)

{

if(OrderType()==OP_BUY) clongs++; // Check # of long trades.

if(OrderType()==OP_SELL) cshorts++; // Check # of short trades

}

if(trend_up!=trend_down)

{

if((clongs 0 && trendf_down<0)) OpenBuy(); // Indicator and filter = long

if((cshorts < maxshorttrades && trend_down==-1) && (trendf_up0)) OpenSell(); // Indicator and filter = short

}

}

Avec mes salutations distinguées,

TFI

Dossiers :
betrade.jpg  76 kb
 

Bonjour à tous, j'utilise (manuellement) l'indicateur AbsoluteStrength.

Quelqu'un peut-il ajouter une alarme, lorsque la ligne bleue est croisée avec la ligne bleue en pointillés ou la ligne rouge est croisée avec la ligne rouge en pointillés (comme indiqué sur la capture d'écran ci-jointe).

allabsolutestrength_v2.3_600.mq4

Merci beaucoup

Petr Jahoda

 

Bonjour Pro-Coders,

Je me demande si le calcul de mon filtre de force de tendance ADX est correct :

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

Merci.

 
tfi_markets:
Bonjour Pro-Coders,

Je me demande si le calcul de mon filtre de force de tendance ADX est correct :

bool ADX_filter()

{

bool result=false;

double ADXfactor= 1;

double ADXminus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MINUSDI,0);

double ADXplus = iADX(Symbol(),0,14,PRICE_OPEN,MODE_PLUSDI,0);

double ADXmain = iADX(Symbol(),0,14,PRICE_OPEN,MODE_MAIN,0);

if(ADXplus>ADXfactor*ADXminus && ADXmain>=20 && ADXmain<=40) result=true; // buy

if(ADXminus=20 && ADXmain<=40) result=false; // sell

return(result);

}

[/CODE]

It may be called like this:

[CODE]

if(clongs<maxlongtrades && trend_up==1 && (ADX_filter()==true)) OpenBuy();

Merci.

tfi_markets

En ce qui concerne la fonction, oui, elle peut être appelée comme ça

 
mladen:
tfi_markets En ce qui concerne la fonction, oui, elle peut être appelée de cette façon

Bonjour Mladen,

merci pour votre commentaire. Je voudrais garder mon code principalement simple et sans bogue, d'autant plus que le débogage avec MQL4 / MT4 peut être un défi.

Supposons que je souhaite trader des tendances primaires plus fortes où l'ADX est supérieur à 20, je peux aussi coder cela de manière un peu plus simple :

bool ADX_filter()

{

bool result=false;

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>20) result = true; // buy

if (iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)<20) result = false; // sell

return (result);

}

if(clongs1 && ADX_filter()==true)) OpenBuy();

if(cshorts<maxshorttrades && trendc==-1 &&(CCIFilter<-1 && ADX_filter()==false)) OpenSell()

N'est-ce pas ?

Merci d'avance, et bon week-end.

 

Bonjour.

J'ai récemment utilisé la moyenne mobile de la coque et j'ai pensé que je devrais également essayer la pente de la HMA dans une fenêtre d'indicateur, je l'ai trouvé mais il ne fonctionne pas correctement dans ma plateforme mt4.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Merci

 
NWFstudent:
Salut.

Dernièrement, j'ai utilisé la moyenne mobile de la coque et j'ai pensé que je devrais aussi essayer la pente de la HMA dans une fenêtre d'indicateur, je l'ai trouvé mais il ne fonctionne pas correctement dans ma plateforme mt4.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Merci

On dirait que vous avez déjà résolu la moitié du problème !

 
NWFstudent:
Bonjour.

Dernièrement, j'ai utilisé la moyenne mobile de la coque et j'ai pensé que je devrais aussi essayer la pente de la HMA dans une fenêtre d'indicateur, je l'ai trouvé mais il ne fonctionne pas correctement dans ma plateforme mt4.

hull_moving_average_2.01_amp_sr_lines_separate.mq4

Merci

NWFstudent

Changez la 2ème couleur de noir à une autre couleur (et définissez la 3ème couleur à la même couleur que la 2ème couleur) Actuellement, vous ne le voyez pas simplement parce que le fond et la 2ème couleur sont les mêmes - noir.

 
mladen:
NWFstudent Changez la 2ème couleur de noir à une autre couleur (et définissez la 3ème couleur à la même couleur que la 2ème couleur) Actuellement, vous ne le voyez pas simplement parce que le fond et la 2ème couleur sont les mêmes - noir.

wow, maintenant j'ai l'impression d'être un total abruti.

Je regardais dans l'entrée une couleur, le haut était bleu et le bas était rouge, mais bien sûr tu avais raison comme toujours.

Je suis désolé d'être un retardé