Les erreurs typiques et la façon de les traiter dans l'environnement de négociation - page 6

 
Комбинатор:
Nous en avons déjà discuté. Ce ne sera pas universel, car l'un a besoin d'une chose et l'autre d'une autre.
J'appelle à un retour à la réalité. Et s'il y a une incertitude sous la forme d'un ordre de marché, il faut soit attendre son résultat et sortir ce qui s'est déjà passé, soit laisser le programme décider de la façon de le traiter. Mais certainement pas pour renvoyer une quantité au hasard.
 
Artyom Trishkin:
J'appelle à un retour à la réalité. Et s'il y a une incertitude sous la forme d'un ordre de marché, alors soit vous attendez son résultat et renvoyez ce qui s'est déjà passé, soit vous laissez le programme décider de la manière de le traiter. Mais certainement pas pour renvoyer une quantité à l'improviste.

Ce n'est pas un quid pro quo, mais c'est comme ça. Il y a deux positions entièrement disponibles pour un changement et une position gelée (aucun changement). Il y a trois postes au total. Cela s'inscrit bien dans la logique de MT4 que vous avez prise comme référence.

 
Artyom Trishkin:

Si le MC avait effectué une opération synchrone normale, il n'y aurait eu aucune question de ce genre.

De plus, fxsaber a expliqué pourquoi il procède de cette manière et pourquoi il n'est pas satisfait de ma logique.

 

Cet exemple s'est avéré être beaucoup plus cool. Un TP placé par le courtier lui-même a été codé ! Et presque immédiatement (j'ai attendu 115 ms - apparemment, il s'agissait d'un bug de MT5) après la clôture du réordre, le courtier a fixé un autre TP, qui a été exécuté. Les commentaires des commandes n'apparaissent pas dans la capture d'écran. La couleur verte correspond àORDER_REASON_TP. Par conséquent, l'ordre de rejet possède même un ORDER_POSITION_ID.

 
Комбинатор:

Si les MCs effectuaient un fonctionnement synchrone normal, il n'y aurait pas du tout de telles questions.

Un tel OrderSend peut être écrit par le codeur lui-même. Lorsque j'utilise un OrderSend synchrone, c'est la solution que j'utilise.

Il faut comprendre que les MC's pourraient obtenir un temps mort s'ils l'écrivent eux-mêmes. Logiquement, le MC n'est pas responsable des ordres de marché envoyés à un système tiers.

J'ai essayé très fort, mais je n'ai toujours pas réussi à comprendre où 2 + 1 != 3 est important.


ZZZ, il existe également une variante asynchrone. Et là, il est tout à fait possible de tomber sur un ordre au marché. Une telle fonction de comptage de position serait donc pertinente même si les MCs effectuaient un "fonctionnement synchrone normal".

 
fxsaber:

Cet OrderSend peut être écrit par le codeur lui-même. Lorsque j'utilise une variante synchrone de OrderSend, c'est la solution que j'utilise.

Cependant, il faut comprendre que les MCs pourraient obtenir un timeout s'ils écrivent eux-mêmes une telle solution. Logiquement, le MC n'est pas responsable des ordres de marché envoyés à un système tiers.

J'ai essayé très fort, mais je n'ai toujours pas réussi à comprendre où 2 + 1 != 3 est important.

Non, ça ne l'est pas. Dans votre cas : 2 + 1 - 1 = 3
 
Artyom Trishkin:
Nah, pas comme ça. Dans votre cas : 2 + 1 - 1 = 3

Je réalise que nous avons une arithmétique différente. Je ne devrais probablement pas continuer. Mais influencer le Buy More pour qu'il arrête de poster du code bogué en vaudrait la peine.

 
fxsaber:

Je réalise que nous avons une arithmétique différente. Je ne devrais probablement pas continuer. Mais ça pourrait valoir la peine de faire en sorte que le QB arrête de poster du code bogué.

Et pour les influencer, ils doivent me comprendre et discuter des mesures possibles pour corriger ce défaut. Mais vous vous obstinez à ne pas voir le défaut possible de l'approche que vous suggérez. Qu'est-ce que je peux faire ? Vous persuader d'écouter plutôt que de chérir votre méthode ? Donc vous n'écoutez pas.
 
fxsaber:

J'ai essayé très fort, mais je n'arrive toujours pas à comprendre où il est important que 2 + 1 != 3.

lorsque la stratégie implique une réaction immédiate à une position ouverte. dans ce cas, la redirection peut rompre la logique.

Dans la grande majorité des cas, toute comptabilisation (à la fois l'ordre en tant que position et l'ordre en tant qu'état intermédiaire, non fonctionnel) fera disparaître les problèmes.

fxsaber:

Un tel OrderSend peut être écrit par le codeur lui-même.

logique étrange, je peux écrire le terminal de cette façon aussi. après mt4 il semble que les problèmes de déplacement à la tête du codeur. et tant de choses.

 
Комбинатор:

lorsque la stratégie implique une réaction immédiate à une position ouverte. dans ce cas, la redirection peut rompre la logique.

J'ai peur que ce soit de la logique tordue. Mais je peux me tromper, bien sûr. Il serait intéressant d'entendre la logique.

logique étrange, je peux écrire le terminal de cette façon aussi. après mt4 il semble que les problèmes se déplacent vers la tête du codeur. et ainsi de suite avec beaucoup de choses.

Je suppose que c'est toujours une question de documentation non informée ou faible. Je pense que si tout y était bien expliqué, il y aurait moins d'erreurs et de conversations de ce genre. Mais c'est probablement à ça que sert ce forum. Car il est évident qu'il est impossible de tout prendre en compte dans la documentation.

ZZY Le code source de ma solution toute faite a été mis dans le domaine public.

Raison: