Demandez ! - page 8

 

Salut les codeurs,

est-il possible de créer l'EA pour Triggerlines comme je le vois sur l'historique, il a fait un excellent travail mais c'est un peu difficile de le garder tout le temps.

habituellement je l'ai combiné avec trend manager, donc quand les triggerlines se croisent vers le haut et changent la couleur en bleu et TM a un signal d'achat bleu, si vous pouvez créer un ea qui peut combiner les deux indicateurs, ce serait tellement utile .thx a lot

 

croix ema

Salut codersguru,

J'ai essayé d'obtenir de l'aide pour un EA similaire au vôtre, car je ne suis en aucun cas un programmeur. Cependant, je ne peux pas susciter d'intérêt, alors j'ai pensé, puisque le vôtre est si proche, peut-être qu'il peut être ajusté pour ce que j'essaie de faire. Vous trouverez ci-dessous une explication simple des 3 variables :

Si l'EMA 9 croise l'EMA 30 et que le Momentum(21) croise 100, un signal d'achat est créé. Un signal d'achat est généré lorsque la EMA 9 passe sous la EMA 30, peu importe ce que fait la ligne de momentum.

Si la EMA 9 passe sous la EMA 30 et que le Momentum(21) passe sous 100, un signal de vente est créé. Une sortie de vente sera générée lorsque la EMA 9 croise au-dessus de la EMA 30, peu importe ce que fait la ligne de momentum.

Qu'en pensez-vous ? Est-ce quelque chose qui peut être ajusté ou est-ce même un EA réalisable ? Toute aide serait appréciée !

BW

 

IndicateurCounted

Bonjour Codegru,

Tout d'abord, je tiens à vous remercier de faire un travail aussi remarquable, pour les leçons MT4. Il y a une semaine MT4 était comme très difficile, mais maintenant je commence à pencher.

J'essaie de convertir un indicateur en EA. L'indicateur utilise "int counted_bars = IndicatorCounted()", pour compter les barres, dans l'EA je pense que je ne peux pas utiliser ceci puisque c'est lié à l'indicateur.

Comment puis-je résoudre ce problème ?

Merci beaucoup....

 

Système ADX

Salut Coder's Guru,

Je viens de lire le guide MQL4 le week-end dernier et j'ai conçu mon premier EA.

BTW, merci beaucoup pour votre guide. Je n'ai rien trouvé sur le Net qui rende l'apprentissage du langage aussi facile. Vous avez vraiment construit sur chaque leçon à la bonne gradation.

Quoi qu'il en soit, voici mon premier EA : je ne sais pas si c'est un système rentable ou non, mais les résultats de mon back-test EA ne correspondent pas à certains back-tests manuels que j'ai effectués. Je sais qu'il y a deux filtres que je n'ai pas réussi à programmer, mais j'y reviendrai après avoir tout expliqué. (J'ai joint un fichier texte contenant le code).

Voici la base de mon système :

Configuration initiale :

Période de temps de 15m

Si c'est entre 200 et 1400 EST.

Si ADX est supérieur à 20.

Si l'intervalle [1] de la dernière barre est inférieur à l'intervalle [2] de la barre précédente. (Période intérieure).

Si l'écart [1] de la dernière barre est inférieur à 7 pips.

Configuration conditionnelle A :

Si l'EMA 20-périodes est en hausse.

Si le cours acheteur est supérieur au haut [1] de la dernière barre (je suppose que les graphiques n'affichent que le cours acheteur, n'est-ce pas ?)

Achetez au prix demandé avec un stop loss à un tick en dessous du bas de la dernière période.

Configuration conditionnelle B :

Si l'EMA 20-périodes est en baisse.

Si le cours acheteur est inférieur au bas de la dernière barre [1].

Vendez en tant que Bid avec un stop loss à un tick au-dessus du high+ask de la dernière barre.

Je veux fixer le take profit à un certain taux de Risk:Reward. Dans mon back-testing, j'ai trouvé que lorsque la barre de la période intérieure est inférieure à 5, un ratio de récompense de 3:1 est bon. (un ordre limite de 30 pip (5(range) + 3(spread) + 2(SL et entry))*3=30).... Je ne pense pas avoir programmé cela correctement dans mon code.

Première question :

Est-ce que j'utilise le bon code pour initier les transactions ? Ai-je correctement utilisé les hauts, les bas, etc. ?

Deuxième question :

Mon filtre temporel ne semble pas fonctionner. Est-ce que je le fais correctement ?

Troisième question :

Je veux seulement que les transactions soient initiées UN PIP au-dessus du High+ask de la dernière barre. Je pense que mon code actuel va initier des transactions si les prix sont supérieurs à ce prix. Comment puis-je résoudre ce problème ?

Quatrième question :

Je pense que c'est la plus grosse erreur de mon code : Je n'ai pas de filtre pour le cas où la 20-EMA s'inverse mais où l'ADX est toujours supérieur à 20. J'aimerais AUSSI voir comment ce système fonctionne si la 20-EMA s'inverse, l'ADX descend (mais pas en dessous de 20) et remonte ensuite, donc PEUT-ÊTRE que nous pourrions filtrer les transactions lorsque l'ADX a une tendance à la baisse, mais là encore, cela pourrait éliminer de nombreuses transactions rentables). Si je pouvais obtenir de l'aide pour le codage, je pourrais expérimenter ces différents facteurs.

D'après mon back-testing manuel, je pense avoir un système rentable ici, donc toute aide serait appréciée.

Merci d'avance !

Jason

Dossiers :
ipadxema.txt  5 kb
 

Aide à la programmation

Salut codersguru,

J'ai besoin d'aide pour créer une EA. Pouvez-vous m'aider, et si oui, quels sont vos tarifs ?

 

Salut Codersguru,

Ce serait formidable si tu trouvais le temps de jeter un coup d'œil à mon problème: https://www.mql5.com/en/forum/general.

Meilleures salutations

Peter

 

Question d'un nouveau venu

Pouvez-vous m'aider, je débute

Pouvez-vous me dire comment changer les couleurs par défaut des bougies heiken ashi?

Je peux changer les couleurs sur le graphique mais elles reviennent par défaut au rouge et au blanc si je change de temps ou de devise.

Merci

Gordon

 
gordon:
Pouvez-vous m'aider, je débute

Pouvez-vous me dire comment changer les couleurs par défaut des bougies heiken ashi ?

Je peux changer les couleurs sur le graphique mais elles reviennent par défaut au rouge et au blanc si je change de temps ou de devise.

Merci

Gordon

Bonjour Gordon, pouvez-vous poster le fichier MQ4 ici, nous pourrons alors vous aider ensemble. J'espère que cela vous aidera

 

Merci Dave,

#property indicator_chart_window

#property indicator_buffers 4

#property indicator_color1 Rouge

#property indicator_color2 White

#property indicator_color3 Rouge

#property indicator_color4 White

//---- tampons

double ExtMapBuffer1[] ;

double ExtMapBuffer2[] ;

double ExtMapBuffer3[] ;

double ExtMapBuffer4[] ;

//----

int ExtCountedBars=0 ;

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

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

//|------------------------------------------------------------------|

int init()

{

//---- indicateurs

SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, Red) ;

SetIndexBuffer(0, ExtMapBuffer1) ;

SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1, White) ;

SetIndexBuffer(1, ExtMapBuffer2) ;

SetIndexStyle(2,DRAW_HISTOGRAM, 0, 3, Rouge) ;

SetIndexBuffer(2, ExtMapBuffer3) ;

SetIndexStyle(3,DRAW_HISTOGRAM, 0, 3, White) ;

SetIndexBuffer(3, ExtMapBuffer4) ;

//----

SetIndexDrawBegin(0,10) ;

SetIndexDrawBegin(1,10) ;

SetIndexDrawBegin(2,10) ;

SetIndexDrawBegin(3,10) ;

//---- mappage des tampons d'indicateurs

SetIndexBuffer(0,ExtMapBuffer1) ;

SetIndexBuffer(1,ExtMapBuffer2) ;

SetIndexBuffer(2,ExtMapBuffer3) ;

SetIndexBuffer(3,ExtMapBuffer4) ;

//---- initialisation terminée

retour(0) ;

}

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

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

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

int deinit()

{

//---- TODO : ajoutez votre code ici

//----

return(0) ;

}

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

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

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

int start()

{

double haOpen, haHigh, haLow, haClose ;

if(Bars<=10) return(0) ;

ExtCountedBars=IndicateurCounted() ;

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

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

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

if (ExtCountedBars>0) ExtCountedBars-- ;

int pos=Barres-ExtCountedBars-1 ;

while(pos>=0)

{

haOpen=(ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2 ;

haClose=(Open[pos]+High[pos]+Low[pos]+Close[pos])/4 ;

haHigh=MathMax(High[pos], MathMax(haOpen, haClose)) ;

haLow=MathMin(Low[pos], MathMin(haOpen, haClose)) ;

si (haOpen<haClose)

{

ExtMapBuffer1[pos]=haLow ;

ExtMapBuffer2[pos]=haHigh ;

}

sinon

{

ExtMapBuffer1[pos]=haHigh ;

ExtMapBuffer2[pos]=haLow ;

}

ExtMapBuffer3[pos]=haOpen ;

ExtMapBuffer4[pos]=haClose ;

pos-- ;

}

//----

return(0) ;

}

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

 

Bonjour Gordon, comme vous pouvez le voir sur le code que vous venez de poster, si vous souhaitez changer la couleur de façon permanente, il suffit de changer les mots ALL WHITE et RED par la couleur de votre choix, puis de compiler l'indicateur personnalisé. Veuillez me faire savoir si cela peut résoudre votre problème. J'espère que cela vous aidera

Raison: