MQL4 première étape - page 2

 

HA...J'ai réussi à obtenir une instruction / fonction iCustom pour extraire la valeur d'un indicateur Moving Average et voir la valeur dans la petite fenêtre où vous copiez le nom et exécutez le script et voyez la valeur...

Qui est votre maître programmeur ! ;)

Quelques autres questions qui ne sont pas claires pour moi sur la base de ma lecture, s'il vous plaît si je peux :

1. Je remarque qu'il y a une section sur l'EA qui dit onTick et ensuite OnTimer... est-ce que la compréhension entre les deux est que si la construction de l'EA doit être déclenchée sur la base du mouvement du prix, alors onTick est la préférence, tandis que si la construction est basée sur le timing du graphique, c'est-à-dire l'ouverture et la fermeture de la barre M1, alors il faut utiliser la section onTimer du programme ?

2. Avec les iCustom et autres i[indicateurs] intégrés, lorsque l'indicateur a plus d'une entrée, dois-je référencer toutes les entrées supplémentaires dans la même fonction d'une ligne ou dois-je répliquer la fonction autant de fois qu'il y a d'entrées, par exemple l'indicateur stochastique qui a kPeriod, dPeriod, etc ?

3. Si ma compréhension de No1 est correcte, puis-je synchroniser mon indicateur pour qu'il démarre avec le temps du graphique, c'est-à-dire si je charge l'EA qui regarde les 5 premières secondes et les 5 dernières secondes de la durée de la barre, au temps du graphique de 42 secondes restantes sur un M1, puis-je synchroniser mon EA pour qu'il fonctionne comme tel ou est-ce qu'il le fait automatiquement ?

Merci à tous !


MW

 
MUZZLE_ZA:

1. J'ai remarqué qu'il y a une section sur l'EA qui dit onTick et ensuite OnTimer... Est-ce que la compréhension entre les deux est que si la construction de l'EA doit être déclenchée en fonction du mouvement du prix, alors onTick est la préférence, alors que si la construction est basée sur le timing du graphique, c'est-à-dire l'ouverture et la fermeture de la barre M1, alors il faut utiliser la section onTimer du programme ?


Jusqu'à présent, je n'ai pas rencontré une seule situation où j'ai eu besoin d'utiliser OnTimer.

Une barre ne peut pas se fermer et une nouvelle s'ouvrir tant qu'un nouveau tick n'est pas entré. Donc si vous avez besoin de vérifier la présence d'une nouvelle barre (une nouvelle barre signifie que la précédente a dû se fermer), faites-le dans OnTick.

 
MUZZLE_ZA:

2. Avec les iCustom et autres i[indicateurs] intégrés, lorsque l'indicateur a plus d'une entrée, dois-je référencer toutes les entrées supplémentaires dans la même fonction d'une ligne ou dois-je répliquer la fonction autant de fois qu'il y a d'entrées, par exemple pour un indicateur stochastique qui a kPeriod, dPeriod, etc ?

Je ne comprends pas la question
 

Bonjour Gumrai,

Merci pour votre réponse. Je suis maintenant confus sur la définition de OnTick. J'ai cru comprendre que sur OnTick, il y a un changement de prix, c'est-à-dire une fluctuation du taux de change indépendante du temps ?

Référence MQL : Le tick est un événement caractérisé par un nouveau prix pour un symbole à un moment donné.

Sur la base de ce qui précède, ma première pensée était que si un prix ne bouge pas pendant une période de 10 secondes, il n'y a pas d'événement Tick pour cette durée ?

Peut-être faut-il plus de clarté ?

En ce qui concerne la question 2, j'ai réussi à m'auto-médicamenter, donc je suis content de cet objectif atteint ! - Je vous remercie.

A vous de jouer :)


MW

 
MUZZLE_ZA:

Bonjour Gumrai,

Merci pour votre réponse. Je suis maintenant confus sur la définition de OnTick. J'ai cru comprendre que sur OnTick, il y a un changement de prix, c'est-à-dire une fluctuation du taux de change indépendante du temps ?

Référence MQL : Tick est un événement caractérisé par un nouveau prix pour un symbole à un moment donné.

Oui, vous avez raison.

Imaginons que sur le graphique M1

une barre s'ouvre à 12:01:00

le dernier tick de la barre arrive à 12:01:59

à ce moment-là, nous ne savons pas que c'est le dernier tick, il y a encore du temps pour un ou plusieurs ticks supplémentaires.

mais

le tick suivant arrive à 12:02:05 et c'est l'heure à laquelle la nouvelle barre s'ouvre et l'ancienne se ferme. Comme il y a eu une période de 6 secondes sans ticks, il est impossible de détecter le début d'une nouvelle barre tant qu'un tick n'est pas entré. Testez donc la présence d'une nouvelle barre dans OnTick.

 

Je pense que je comprends ce que vous me dites.

On peut alors se demander à quoi sert la partie OnTimer de l'EA.

Si mon objectif principal était de regarder une période de temps et ensuite l'action qui s'est produite au cours de cette période de temps, n'ai-je pas choisi le OnTimer ?

En d'autres termes, je suis plus intéressé par ce qui se passe entre 12:01:00 et 12:02:00 : Le résultat pourrait être une augmentation de prix, une baisse de prix ou aucune action de prix pendant cette période de temps ?

J'espère que cela a du sens.

 

Bonjour à tous,

J'ai réussi à obtenir l'aide d'un ami programmeur pour la logique de base du jeu de règles après avoir réussi à appeler toutes les fonctions d'indicateurs de graphiques pertinents.

Le problème maintenant est que lorsque je charge l'EA sur un graphique, il renvoie un grand nombre d'alertes stochastiques au lieu de l'alerte requise...

Je ne suis pas sûr que l'alerte de l'EA fonctionne correctement car lorsque je l'ai exécutée sur le testeur de stratégie, rien n'est revenu alors que je sais que certaines règles auraient dû déclencher une alerte.

Comment puis-je valider que l'EA a déclenché un événement ?

Je remarque que l'EA a un visage renfrogné sur le graphique, ce qui, si je comprends bien, n'est pas un problème car je ne souhaite pas autoriser le trading en direct ?

Si je n'effectue pas de transactions en direct à partir de l'EA et que je l'exécute sur le testeur de stratégie, l'EA doit-il déclencher une alerte pendant le test et s'arrêter ou cette fonction n'est-elle pas offerte dans le testeur ?

Merci,


M

 
Vous ne recevez pas d'alertes contextuelles dans le testeur de stratégie, mais elles seront répertoriées dans le journal.
 

Hé GumRai...

J'espère que tu as passé un bon week-end.

Ok, j'ai ouvert le code de l'indicateur dans l'éditeur et j'ai changé les valeurs d'alerte en false, donc maintenant je ne reçois plus les alertes de la divergence stochs quand je charge l'EA. - J'espère que cela n'aura pas d'effet négatif sur mon EA.

Lorsque j'essaie d'exécuter l'indicateur sur un graphique M1 sur 2 jours et que je regarde le journal, les entrées indiquent Custom Indicators xyz : removed - Cela ressemble-t-il au comportement attendu lorsque le code est dans le bloc OnTick du programme ?

Je me tape la tête... :)

 

Bonjour à tous,

Y a-t-il un décalage de l'EA... c'est-à-dire un retard de quelques secondes dans le traitement de l'EA ?

Si l'heure de mon système diffère de l'heure du graphique et qu'une alerte apparaît, quelle est l'heure de l'alerte, basée sur mon heure locale ou sur l'heure du graphique ?

La fonction MqlTick qui renvoie le last_tick.bid est le dernier prix du tick le plus récent ?

Lorsque j'utilise la fonction OPEN(0), s'agit-il du prix d'ouverture de la bougie actuelle dans laquelle se trouve le téléscripteur ?