Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Non, mais peut-être que nous parlons de choses différentes.
Cela fonctionnera toujours.
J'ai quand même dû ouvrir le terminal et vérifier... Voici trois exécutions du même script et trois résultats.
Il n'y a qu'une seule ligne dans le script.
Je veux dire que si un EA fonctionne et qu'un utilisateur décide de changer la plage d'affichage de l'historique avec ses mains coquines, l'EA va devenir fou lors du deuxième changement. Maintenant il sera plus petit, maintenant il sera plus grand, maintenant il sera différent de celui mémorisé. Et même si la ligne
if(HT!=__TotalHist)
mettre > au lieu de !=, la situation ne changera pas. Si l'EA est en cours d'exécution lorsque le paramètre est réglé sur "Aujourd'hui" et qu'il passe à "Tout l'historique"... que se passe-t-il ?
Je n'oserais jamais toucher à OrderHistoryTotal(), pourquoi le ferais-je ?
Juste au cas où : ))))
Juste au cas où : ))))
:))) OrdersTotal() est suffisant pour moi
Peut-être qu'il faut faire deux minuteurs ? l'un compare les valeurs de OrdersTotal() même une fois toutes les 100 ms, et le second pour la sécurité une fois par minute (ou moins fréquemment) dans une boucle - pas une souris ne peut passer par là, si l'une des deux douzaines de transactions se ferme/ouvre 100500 fois par minute plus tard - je ne vais certainement pas mourir, je suppose que le dépôt aussi.
:))) OrdersTotal() est suffisant pour moi
Peut-être que je devrais faire deux minuteurs : l'un d'eux compare les valeurs de OrdersTotal() même une fois toutes les 100 ms, et le second - une fois par minute (ou moins fréquemment) passe par la boucle - pas une seule souris ne peut passer par là, si l'un des deux douzaines d'ordres se ferme/ouvre une minute plus tard, que 100500 fois - je ne mourrai sûrement pas et je suppose que mon dépôt aussi.
Et le nombre d'ordres ouverts en même temps est fourni par l'algorithme ?
J'ai quand même dû ouvrir le terminal et vérifier... Voici trois exécutions du même script et trois résultats.
Il n'y a qu'une seule ligne dans le script
Ce que je veux dire, c'est que si l'EA fonctionne et qu'un utilisateur décide de changer la plage d'affichage de l'historique avec ses mains coquines, l'EA va devenir fou lors du deuxième changement. Maintenant il sera plus petit, maintenant il sera plus grand, maintenant il sera différent de celui mémorisé. Et même si la ligne
La situation ne changera pas si nous mettons > au lieu de !=. Si l'Expert Advisor est lancé au moment où le paramètre est "Aujourd'hui" et passe à "Tout l'historique"... que se passera-t-il ?
Dans tous les cas, il ne sera pas égal, et le code ira plus loin. Mais si nous définissonsif(HT >__TotalHist), alors nous serons confrontés à des problèmes.
Et combien d'ordres ouverts l'algorithme prévoit-il au total ?
Deux ou trois douzaines tout au plus.
Dans tous les cas, il ne sera pas égal et le code passera à autre chose. Mais si (HT >__TotalHist)alors il y a un problème.
Vitaly, il y aura des problèmes dans tous les cas. Quelle que soit la façon dont vous le voyez, si l'EA doit réagir aux changements du nombre d'ordres dans l'historique, il réagira indépendamment de la façon dont le nombre d'ordres a changé. En fait, le nombre d'ordres dans l'histoire ne peut qu'augmenter, c'est pourquoi j'ai suggéré que ce serait moins dangereux, mais cela ne résout pas le problème. Même si vous l'avez rédigé uniquement pour vous-même, vous ne pouvez pas exclure la possibilité d'une commutation manuelle. On ne sait jamais quel genre de SMS va nous venir à l'esprit ;)))
2-3 douzaines tout au plus
Pour un tel nombre, il serait plus facile de créer un tableau de tickets ou même un tableau de structures avec des propriétés d'ordre et de vérifier le changement de type et l'heure de clôture à chaque tick. Cela nous permettra de suivre l'activation d'un ordre en attente ou la fermeture d'une position. Et en ouvrant immédiatement après l'envoi de OrderSend(), ajoutez la taille du tableau et mettez-y tout ce dont vous avez besoin.
C'est ça le truc, tu peux secouer les commandes 86400 fois par jour, mais tu n'as pas voulu.
Dans ce cas, il serait difficile de vivre sans la bibliothèque d'Artem.