Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 160

 

Je ne veux pas créer un nouveau sujet, je ne comprends pas comment fonctionne l'EA, peut-être que mes aînés me diront quelque chose.

J'ai plusieurs indicateurs utilisés dans mon conseiller expert.

Mais dans le journal, je peux voir que l'un d'entre eux est constamment chargé par EA, puis déchargé. Je ne comprends pas ce comportement.

Il est écrit uninit reason 1, qu'est-ce que cela signifie ? D'autres indicateurs ne sont pas déchargés parce que

2017.03.21 12:12:25.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:09:06.551 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:09:06.551 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 12:07:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 12:07:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:04:12.957 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:04:12.957 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:43:29.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:43:29.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:38:04.097 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:38:04.097 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:36:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:36:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:30:11.582 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:30:11.582 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:06:17.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:06:17.316 MTF_WPR USDRUR,H4: uninit reason 1
 
harbor:

Je ne veux pas créer un nouveau sujet, je ne comprends pas comment fonctionne l'EA, peut-être que mes aînés me diront quelque chose.

J'ai plusieurs indicateurs utilisés dans mon conseiller expert.

Mais dans le journal, je peux voir que l'un d'entre eux est constamment chargé par EA, puis déchargé. Je ne comprends pas ce comportement.

Il est écrit uninit reason 1, qu'est-ce que cela signifie ? D'autres indicateurs ne sont pas déchargés parce que

Paramètres de l'indicateur incorrectement définis dans iCustom()
 
Merci, je pense que oui.
 
Artyom Trishkin:

Dans ce fil de discussion, je veux commencer à aider ceux qui veulent vraiment comprendre et apprendre la programmation dans le nouveau MQL4 et qui veulent passer facilement à MQL5 - les langages sont très similaires.

Ce sera un bon endroit pour discuter des tâches, des algorithmes de leur solution et de toute autre question, de toute façon, liée à la programmation MT.

J'espère que d'autres membres expérimentés de notre forum se joindront à nous et que le fil de discussion sera intéressant pour tous.


Bonjour


J'ai une telle question. Comment écrire un code dans MQL4m ? Par exemple, je dois additionner les prix et diviser par le nombre de ces prix. Considérez ceci : 1,05000+1,06000+1,07000+1,08000:4= 1,06500



Merci beaucoup !

 
isiklik:


Bonjour

J'ai une question. Comment écrire du code en MQL4 ? Par exemple, je dois additionner les prix et diviser par le nombre de ces prix. Par exemple : 1,05000+1,06000+1,07000+1,08000:4= 1,06500.

Merci beaucoup !

double res=(1.05+1.06+1.07+1.08)/4.0;
 
Artyom Trishkin:

Merci beaucoup, Artyom !


Vieillir n'est pas une partie de plaisir ! J'ai oublié de vous parler de la chose la plus importante.

Disons que j'ai un nombre N de transactions ouvertes dans MT4 dans une direction avec des prix différents.

Comment écrire un code, MT4 prendrait ces prix d'un graphique, les additionnerait, diviserait par le nombre de transactions ouvertes dans une direction. Puis ajoutez 200 pips.

Le prix obtenu permettrait de prescrire ces opérations dans TakeProfit.

Maintenant, j'espère que c'est tout. :)


Merci beaucoup !

 
isiklik:

Merci beaucoup, Artyom !


La vieillesse n'est pas une joie ! J'ai oublié de te dire la chose la plus importante.

Disons que j'ai un nombre N de transactions ouvertes dans MT4 dans une direction avec des prix différents.

Comment écrire un code, MT4 prendrait ces prix dans un graphique, les additionnerait, diviserait par le nombre de transactions ouvertes dans une direction. Puis ajoutez 200 pips.

Le prix obtenu permettrait de prescrire ces opérations dans TakeProfit.

Maintenant, j'espère que c'est tout. :)


Merci beaucoup !

Vous devez calculer le prix d'équilibre, et y ajouter/soustraire le nombre N de pips. Cherchez, ou voyez comment calculer le seuil de rentabilité.
 
Vitaly Muzichenko:
Vous devez calculer le prix d'équilibre et y ajouter ou soustraire un nombre N de points. Cherchez, ou voyez comment calculer le seuil de rentabilité.

Non, je ne le fais pas. Pourquoi ai-je besoin d'atteindre le seuil de rentabilité ? Je dois calculer le montant des ordres ouverts pour leur donner un total Take.
 
Maxim Kuznetsov:

vous pouvez calculer "après combien de barres il y aura un crossover" (juste de la géométrie scolaire)

et la date qui en découle ne peut être qu'approximative, les barres ne se forment que lorsque le marché est ouvert, c'est-à-dire qu'elles sont différentes pour chaque instrument.

Simplifié, si vous connaissez le calendrier à l'avance :

  • ajoute 24 heures au jour actuel, si c'est un samedi/dimanche, vous le sautez, si c'est un jour férié, vous le sautez, si c'est un jour de congé bancaire, vous le sautez.
  • pour W1 et plus, vous devez tenir compte du fait que la barre hebdomadaire commence du samedi au dimanche, M1 - selon le calendrier
  • Pour un TF de moins d'un jour, vous devez également tenir compte de l'heure d'ouverture/fermeture du marché et de l'horaire de votre DC.
  • lorsque vous changez les dates (le matin, aux premiers ticks) vous devez refaire tous les calculs précédents

c'est tellement désordonné, que c'est un gros problème dans MT :-)


Si vous avez une semaine, vous devez en tenir compte.

 
isiklik:

Merci beaucoup, Artyom !


La vieillesse n'est pas une joie ! J'ai oublié de te dire la chose la plus importante.

Disons que j'ai un nombre N de transactions ouvertes dans MT4 dans une direction avec des prix différents.

Comment écrire un code, MT4 prendrait ces prix sur un graphique, les additionnerait, diviserait par le nombre de transactions ouvertes dans une direction. Puis ajoutez 200 pips.

Le prix obtenu permettrait de prescrire ces opérations dans TakeProfit.

Maintenant, j'espère que c'est tout. :)


Merci beaucoup !

Vous passez en boucle toutes les positions ouvertes de votre compte et les filtrez par numéro magique et par type.
Si vous obtenez le bon type de position, vous augmentez de 1 la taille du tableau de temps et y inscrivez le prix d'ouverture de cette position.
Lorsque la boucle est terminée, vous obtenez un tableau contenant les prix d'ouverture de toutes les positions nécessaires.
Dans la boucle, additionnez toutes les valeurs du tableau, et à la fin de la boucle, divisez la valeur obtenue par la taille du tableau.
C'est tout - vous avez un prix calculé. Ajoutez-y maintenant le nombre requis de points*Point().
Et la prochaine chose intéressante - si le prix obtenu s'avère être inférieur au prix d'ouverture de la position (achat), il ne s'agira pas d'une prise de profit, mais d'un stop loss.