Aide au codage - page 112

 
mladen:
Au lieu d'utiliser iCustom() pour rsi et cci, utilisez les fonctions intégrées.

Paramètres nécessaires pour le RSI :

iCCI( [TD]string symbol, int timeframe, int period, int applied_price, int shift)
double iRSI([/TD]string symbol, int timeframe, int period, int applied_price, int shift)[/TD]

[/TR]

[/TABLE]

Paramètres nécessaires pour CCI :

[TABLE="class : docvar"]

[TR]

[TD]double

Et pour CMO, le premier paramètre est LastBarOnly et le second est CMO_Range, donc l'appel iCustom() devrait être quelque chose comme :

iCustom(NULL,0, "cmo",false,CMORange,0,i) ;

où CMORange serait un paramètre

Je suis novice en matière de mql4, pouvez-vous m'écrire, s'il vous plaît ?

 
anonimm:
Je suis un novice en matière de mql4, pouvez-vous m'écrire ? s'il vous plaît

Faites quelque chose comme ceci :

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Crimson

#property indicator_color2 RoyalBlue

extern int barsToProcess=100;

extern int RsiPeriod = 14;

extern int RsiPrice = PRICE_CLOSE;

extern int CciPeriod = 14;

extern int CciPrice = PRICE_TYPICAL;

extern int CmoRange = 14;

//

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init()

{

SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233);

SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234);

return(0);

}

int deinit() { return(0); }

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars>0)counted_bars--;

int limit=Bars-counted_bars; if(limit>barsToProcess)limit=barsToProcess;

for(int i=limit;i>=0;i--)

{

double rsi=iRSI(NULL,0,RsiPeriod,RsiPrice,i);

double cci=iCCI(NULL,0,CciPeriod,CciPrice,i);

double cmo=iCustom(NULL,0,"cmo",false,CmoRange,0,i);

if(rsi>60.0 && cci>150.0 && cmo>30.0)

ExtMapBuffer1=High+5*Point;

else ExtMapBuffer1=EMPTY_VALUE;

if(rsi<40.0 && cci<-150.0 && cmo<-30.0)

ExtMapBuffer2=Low-5*Point;

else ExtMapBuffer2=EMPTY_VALUE;

}

return(0);

}

Joindre un indicateur de test (le même que le code ci-dessus) aussi.

Dossiers :
_test.mq4  2 kb
 

Je poste ici l'une des meilleures divergences stochastiques de FX5 que j'ai jamais vue (j'ai essayé beaucoup d'indis comme ça),

Il indique la "divergence normale" et la très intéressante "divergence cachée".

Quelqu'un peut-il ajouter dans le code la possibilité de changer la couleur des lignes de tendance sur le graphique et les stochastiques ?

Et quelqu'un peut-il utiliser ce code pour une si belle divergence RSI car je ne la trouve jamais.

Merci beaucoup pour le codeur qui le fera.

Bonne journée à tous

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Ps : Merci au modérateur qui a changé ce message au bon endroit ;-)

Dossiers :
 
zilliq:
Je poste ici l'une des meilleures divergences stochastiques de FX5 que j'ai jamais vue 5 (j'ai essayé beaucoup d'indis comme ça),

Il indique "divergence normale" et la très intéressante "divergence cachée".

Quelqu'un peut-il ajouter dans le code la possibilité de changer la couleur des lignes de tendance sur le graphique et des stochastiques ?

Et quelqu'un peut-il utiliser ce code pour faire une divergence RSI si belle car je ne la trouve jamais

Merci beaucoup pour le codeur qui le fera.

Bonne journée à tous

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Ps : Merci au modérateur qui a changé ce message au bon endroit ;-)

zilliq

Essayez-le maintenant : les couleurs peuvent être réglées à partir des paramètres.

Dossiers :
 

Merci beaucoup Mladen ,

Je l'essaie immédiatement

Zilliq

 

Bonjour Mladen

Les valeurs de l'indicateur de corrélation de Advanced Elite n'apparaissent pas, pouvez-vous m'aider ?

 
nevar:
Bonjour Mladen Les valeurs de l'indicateur de corrélation d'Advanced Elite n'apparaissent pas, pouvez-vous m'aider ?

Bonjour Nevar, si c'est celui-là https://www.mql5.com/en/forum/180028, avez-vous obtenu la dll également et activé les importations de dll ?

 

Merci MrTools

Oui, le problème est résolu avec le fichier dll.

 

Aide au codage nécessaire....

Je m'amuse avec OBJ_VLINE et je n'arrive pas à avancer rapidement. En utilisant le code suivant, je peux dessiner une VLINE sur une intersection de deux moyennes mobiles à titre d'exemple.

{

string name="vline "+DoubleToStr(i,0) ;

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0) ;

}

Ce que j'essaie vraiment de faire est de créer une VLINE et une ligne horizontale au point où une MA change de pente de positive à négative. La ligne horizontale montre le prix réel où le changement se produit. J'utilise le code suivant pour changer les couleurs en fonction de la pente.

fasttrend=fasttrend ;

si (MABuf>MABuf) fasttrend= 1 ;

si (MABuf<MABuf) fasttrend=-1 ;

si (fasttrend>0)

{

FastUpBuffer = MABuf ;

si (fasttrend<0) FastUpBuffer=MABuf ;

FastDnBuffer = EMPTY_VALUE ;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf ;

if (fasttrend>0) FastDnBuffer=MABuf ;

FastUpBuffer = EMPTY_VALUE

}

Ma première tentative a eu pour résultat de dessiner des vlines sur chaque barre, ce qui était coloré mais pas vraiment ce que j'avais en tête. Je ne sais pas non plus comment supprimer l'ancienne "croix" lorsqu'une nouvelle est créée. Existe-t-il une fonction permettant de le faire ? J'aimerais mettre en place ce système comme une alternative aux flèches pour indiquer le changement de pente où nous pouvons voir le prix réel sur la barre où l'indicateur a effectivement changé de direction.

Merci pour toute aide,

Alex

 
hughesfleming:
Aide au codage nécessaire....

Je m'amuse avec OBJ_VLINE et je n'arrive pas à avancer rapidement. En utilisant le code suivant, je peux dessiner une VLINE sur une intersection de deux moyennes mobiles à titre d'exemple.

{

string name="vline "+DoubleToStr(i,0) ;

ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0) ;

}

Ce que j'essaie vraiment de faire est de créer une VLINE et une ligne horizontale au point où une MA change de pente de positive à négative. La ligne horizontale montre le prix réel où le changement se produit. J'utilise le code suivant pour changer les couleurs en fonction de la pente.

fasttrend=fasttrend ;

si (MABuf>MABuf) fasttrend= 1 ;

si (MABuf<MABuf) fasttrend=-1 ;

si (fasttrend>0)

{

FastUpBuffer = MABuf ;

si (fasttrend<0) FastUpBuffer=MABuf ;

FastDnBuffer = EMPTY_VALUE ;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf ;

if (fasttrend>0) FastDnBuffer=MABuf ;

FastUpBuffer = EMPTY_VALUE

}

Ma première tentative a eu pour résultat de dessiner des vlines sur chaque barre, ce qui était coloré mais pas vraiment ce que j'avais en tête. Je ne sais pas non plus comment supprimer l'ancienne "croix" lorsqu'une nouvelle est créée. Existe-t-il une fonction permettant de le faire ? J'aimerais mettre en place ce système comme une alternative aux flèches pour indiquer le changement de pente où nous pouvons voir le prix réel sur la barre où l'indicateur a effectivement changé de direction.

Merci pour toute aide,

Alex

Alex

Avez-vous essayé quelque chose comme ceci (pour l'ajout de la ligne horizontale ) :

{

string name="vline"+Time;ObjectCreate(name,OBJ_VLINE,0,Time,0);

name="hline"+Time;ObjectCreate(name,OBJ_HLINE,0,Time,MABuff);

}

Raison: