Fonction ICustom - page 9

 

Voici ce que j'ai fait (en gras) :

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0) ;

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,1) ;

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,2) ;

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,3) ;

 

En fait, regardez mon code maintenant !

//+------------------------------------------------------------------+

//| COG call.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#property indicator_separate_window

#property indicator_buffers 4

#property indicator_color1 Lime

#property indicator_color2 Red

#property indicator_color3 CLR_NONE

#property indicator_color4 CLR_NONE

//---- tampons

double value1[] ;

double value2[] ;

double valeur3[] ;

double valeur4[] ;

//+------------------------------------------------------------------+

//| Fonction d'initialisation de l'indicateur personnalisé |

//+------------------------------------------------------------------+

int init()

{

string short_name ;

//---- indicateurs

IndicatorBuffers(4) ;

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Lime) ;

SetIndexBuffer(0,value1) ;

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1,Red) ;

SetIndexBuffer(1,valeur2) ;

SetIndexStyle(2,DRAW_NONE) ;

SetIndexBuffer(2,valeur3) ;

SetIndexStyle(3,DRAW_NONE) ;

SetIndexBuffer(3,valeur4) ;

IndicatorDigits(Digits+2) ;

return(0) ;

}

//+------------------------------------------------------------------+

//| Fonction personnalisée de désinitialisation de l'indicateur |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0) ;

}

//+------------------------------------------------------------------+

//| Fonction d'itération de l'indicateur personnalisée |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted() ;

//---- vérifier les erreurs éventuelles

if (counted_bars<0) return(-1) ;

//---- dernière barre comptée sera recomptée

if (counted_bars>0) counted_bars-- ;

int pos=Bars-counted_bars ;

while(pos>=0)

{

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0) ;

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,1) ;

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,2) ;

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,3) ;

pos-- ;

}

return(0) ;

}

//+------------------------------------------------------------------+

 

J'ai essayé de mettre

value1[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,0) ;

value2[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,1) ;

value3[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,2) ;

value4[pos]=iCustom(NULL,0, "COGpoint1",50,3000,0,true,pos,0,3) ;

maintenant il a gardé seulement la ligne rouge qui est le tampon 2 mais il a maintenant mis plus haut dans l'écran du graphique et il est toujours plat. fou !?!?

 

ahhhhh !!!

qu'est ce qu'il y a de si spécial avec le tampon 2 ???

 

J'ai réussi à faire fonctionner icustom, ce fil de discussion m'a beaucoup aidé. Je travaille sur un EA mais j'apprends au fur et à mesure que je le fais donc c'est un peu lent. Y a-t-il un moyen d'arrêter l'EA après une transaction ou même de le fermer automatiquement après avoir entré une transaction ?

Le problème est qu'après avoir atteint mon take profit, si tout est encore à la baisse, il entre à nouveau.

Toute aide serait grandement appréciée....

 

Un exemple de code, s'il vous plaît

Quelqu'un pourrait-il partager un exemple de code d'un indicateur qui prendrait les valeurs de deux indicateurs personnalisés sur le graphique à la clôture de la barre, et en fonction de cela, soit donner une alerte, soit dessiner des barres colorées, peu importe ce qu'il fait.

Par exemple, nous avons deux LWMA sur le graphique avec des paramètres de période différents. Lorsque la barre se ferme, l'indicateur compare leurs valeurs, et si la plus courte est supérieure à la plus longue, il dessine une barre bleue dans une fenêtre séparée. Aussi simple que cela.

J'en ai besoin pour mes études de mql, je suis un peu dépassé par la théorie maintenant et je veux faire quelque chose de pratique. Merci d'avance !

 

Comment appeler la fonction lorsque la transaction est exécutée ?

Merci de m'aider

Comment appeler une fonction lorsque la transaction est en cours d'exécution ? Lors de l'ouverture d'une nouvelle transaction, de la fermeture d'une transaction ou de la création d'un ordre en attente, je veux appeler une fonction.

 
prasantha60:
Aidez-moi à savoir comment appeler une fonction lorsque la transaction est en cours d'exécution, lors de l'ouverture d'une nouvelle transaction, de la fermeture d'une transaction ou de la création d'un ordre en suspens.

Quelle fonction voulez-vous appeler ? Je ne suis pas vraiment sûr de comprendre votre question.

 
Dossiers :