Comment coder ? - page 157

 

merci wolfe !

Merci pour votre réponse et pour le livre ! C'est nouveau pour moi, je vais donc m'y plonger et en apprendre davantage. Je posterai ensuite la prochaine version de mon ea ou une autre question si je rencontre un obstacle.

Eric

 

Fixation temporelle d'un objet

Je me demandais si quelqu'un pouvait me dire comment fixer l'heure d'un objet (comme une flèche) de sorte que, lorsque je modifie le TF du graphique, la flèche reste à l'heure d'origine. C'est un peu comme dessiner une ligne verticale et changer ensuite le TF du graphique. Merci.

 

comment changer ou supprimer.00

double HiPrice2 = iHigh(NULL,NULL,1) ;

double LoPrice2 = iLow (NULL,NULL,1);

double Rangehilo= (HiPrice2-LoPrice2) ;

si (Chiffres < 4) Rangehilo = Rangehilo * 100 ; sinon Rangehilo = Rangehilo * 10000 ;

Comment("\n", "Range : ",DoubleToStr(Rangehilo,2)+" pip","\n") ;

J'essaie de créer une plage PIP entre le haut et le bas, mais le résultat est le suivant

->> Plage : 37.00 pip

Ma question est la suivante : comment enlever le .00 ? pour que cela n'affiche que 37 pip ?

Merci

 

NormaliserDouble(var1,0) ;

Lux

PS : Je viens de remarquer votre code : DoubleToStr(Rangehilo,0) - changer le 2 en 0

 
luxinterior:
NormalizeDouble(var1,0) ;

Lux

PS : Je viens de remarquer votre code : DoubleToStr(Rangehilo,0) - changez le 2 en 0

Ohohhhh, juste une petite erreur..merci luxinterior !

 

Ajout de bandes stdev

Bonjour, désolé pour la question stupide, mais s'il vous plaît aidez-moi ici :

Si vous avez un indicateur qui consiste en une ligne dans la fenêtre graphique, et que vous voulez ajouter des bandes d'écart standard à cette ligne, comme des bandes de Bollinger. Comment faites-vous cela ?

Disons que votre tampon qui trace votre indicateur original est nommé abc.

Vous devez donc d'abord les déclarer :

extern int BandsPeriod=20 ;

extern int BandsShift=0 ;

extern double BandsDeviations=2.0 ;

1) vous modifiez

#property indicator_buffers 1 (1 devient 3)

2)

SetIndexBuffer(0,abc) ;

SetIndexStyle(0,DRAW_LINE) ;

et ajoutez

SetIndexBuffer(1,UpperBuffer) ;

SetIndexStyle(1,DRAW_LINE) ;

SetIndexBuffer(2,LowerBuffer) ;

SetIndexStyle(2,DRAW_LINE) ;

SetIndexDrawBegin(0,BandsPeriod+BandsShift) ;

SetIndexDrawBegin(1,BandsPeriod+BandsShift) ;

3) vous ajoutez le reste du code des bandes de bollinger dans la boucle d'initialisation

int start()

{

int i,k,counted_bars=IndicatorCounted() ;

double écart,somme,oldval,newres ;

//----

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

//---- zéro initial

if(counted_bars<1)

et ainsi de suite....

4) mais comment remplacer le tampon appelé MovingBuffer dans le code original bands.mq4 par le nouveau tampon de votre indicateur, appelé "abc" ?

Quelle est la meilleure façon de procéder ?

Dois-je essayer d'intégrer le code de mon indicateur dans le code bands.mq4 ou l'inverse ?

J'ai joint un morceau de code bien connu appelé bands.mq4 pour que vous puissiez voir avec quoi je travaille.

Encore une fois, désolé pour mon ignorance en matière de codage.

Peut-être que quelqu'un connaît un "tutoriel sur l'ajout de bandes stdev" ? C'est ce dont j'ai besoin pour l'instant. Merci

Dossiers :
bands.mq4  3 kb
 
 

Codage pour un EA

Bonjour à tous,

J'aimerais créer un codage qui empêcherait un EA d'effectuer des transactions s'il a déjà effectué une transaction rentable pour la session de trading en cours.

J'ai un certain nombre d'EA que j'ai construits et qui me permettent de choisir l'heure d'ouverture et de fermeture du marché chaque jour. L'EA n'intervient également qu'à l'ouverture de chaque nouvelle barre. Donc, si j'ai une transaction en cours et qu'elle est fermée parce qu'elle a touché mon stop loss ou mon take profit, l'EA attendra l'ouverture de la prochaine barre avant d'ouvrir une nouvelle transaction.

Par exemple, j'ai configuré l'EA pour qu'il négocie entre 6h00 et 14h00 sur un graphique d'une heure. A 6h00 du matin, une transaction est ouverte. À 9:23, mon take profit est atteint et la transaction est fermée. À 10 h 00, une nouvelle position est ouverte et le reste jusqu'à ce que le nouveau seuil de déclenchement ou le nouveau profit soit atteint, ou jusqu'à 14 h 00, heure à laquelle la position est fermée et la négociation est terminée pour le reste de la journée.

Ce que j'aimerais que l'EA fasse, c'est non seulement reconnaître l'heure de la journée, mais aussi reconnaître si j'ai déjà eu une transaction gagnante au cours de la session de trading. Ainsi, dans l'exemple ci-dessus, même si l'on se trouve encore dans la période de négociation de la journée, l'EA n'ouvrira pas de nouvelle transaction à 10h00 car un profit a déjà été réalisé. D'un autre côté, si c'est mon stop loss qui a été touché dans l'exemple ci-dessus, l'EA ouvrirait une nouvelle transaction à 10h00 car aucun profit n'a encore été réalisé.

Je pense que je devrais utiliser la fonction "OrderSelect" avec le paramètre "Mode_History" pour examiner les transactions précédemment fermées, puis comparer le prix d'ouverture au prix de clôture de l'ordre pour déterminer si un profit ou une perte a été réalisé. Cela vous semble-t-il correct ? Étant novice en programmation, je ne suis pas sûr que ce soit la meilleure façon d'aborder le problème et, si c'est le cas, il me faudra beaucoup, beaucoup de temps pour obtenir le format correct pour fonctionner correctement.

Si quelqu'un pouvait m'aider ou, au moins, me donner quelques idées sur la façon d'aborder ce problème, je lui en serais reconnaissant. Si mon exemple n'a pas de sens, faites-le moi savoir et j'essaierai de mieux l'expliquer.

Merci d'avance pour toute aide offerte.

Ron

 

Vérification des pertes de commandes...

Sur ce site, à ce lien https://www.mql5.com/en/forum/176053/page25 se trouve une copie du DIN_Kukus_EA_V2.6. Si vous consultez le contenu de l'EA, vous trouverez une fonction qui vérifie les pertes d'ordres dans votre historique d'ordres, comme vous l'avez décrit vous-même. Vous pouvez utiliser cet exemple de travail pour extraire le nombre de transactions réussies de votre historique d'ordres. Vous pouvez également le modifier pour extraire l'historique pour une période de temps particulière, mais j'espère que cela vous aidera à voir comment accomplir ce que vous proposez de faire vous-même...

 

Je veux utiliser les résultats d'un indicateur dans un EA

Bonjour à tous,

L'indicateur Gliding_Channels place les données du canal actuel dans la zone de commentaire de la fenêtre de données. Il indique la profondeur verticale du canal sur la barre actuelle, l'angle du canal (positif et négatif), la limite haute et la limite basse. Je veux voir ces données, mais elles entrent en conflit avec les données que mon EA affiche dans la zone de commentaires, ce qui fait que mes commentaires clignotent.

J'ai essayé d'ajouter un SetIndexBuffer pour chacune des quatre données de l'indicateur afin de pouvoir les référencer dans mon EA en utilisant iCustom. Je n'ai pu intégrer qu'une seule des quatre valeurs dans les commentaires de mon EA de cette façon. (J'ai également continué à avoir le problème de scintillement).

Quelqu'un pourrait-il me montrer la manière correcte d'accéder aux résultats de ces quatre indicateurs dans mon EA ?

Dans mon EA, j'appellerai ces quatre valeurs "profondeur, angle, limiteHI et limiteLO".

Dossiers :
Raison: