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
Regardez cette vidéo à partir de 01:35 et 03:35.
Pourquoi ai-je besoin de tes trucs faits maison ? Vous me surprenez. Avec une telle connaissance de la programmation, vous ne pouvez pas comprendre le gestionnaire OnTradeTransaction.
Pourquoi ai-je besoin de tes trucs faits maison ? Vous me surprenez. Avec une telle connaissance de la programmation, vous ne pouvez pas comprendre le gestionnaire OnTradeTransaction.
C'est difficile de parler à quelqu'un qui ne peut même pas imaginer la tâche.
Il n'y a pas de positions, ou elles sont entre guillemets ?
Il s'agit d'une situation tout à fait normale lorsque, en termes de compensation, il n'y a pas de position (c'est-à-dire que la position totale == 0,0).
Et du point de vue de deux EAs - chacun a sa propre position ouverte.
Il peut y avoir plus d'un conseiller expert sur un même symbole. De plus, certains métiers peuvent se faire à la main.
Il s'agit d'une situation tout à fait normale lorsque, en termes de compensation, il n'y a pas de position (c'est-à-dire que la position totale == 0,0).
Et du point de vue de deux conseillers - chacun a sa propre position ouverte.
Il peut y avoir plus d'un conseiller expert sur un même symbole. De plus, certains métiers peuvent être effectués à la main.
La femme a pris l'argent de la table de nuit et a acheté une télé. Le mari a pris la télé, l'a vendue et a mis l'argent dans la table de nuit. En termes de compensation, il n'y a pas de télévision. Et selon votre logique, la femme a la télé et l'argent dans la table de nuit. Ils décident donc d'acheter un autre téléviseur ou de dépenser l'argent.
Ou bien ont-ils chacun une télévision ? Après tout, chacun d'entre eux l'a tenu dans ses mains. Exagérer.
Si un conseiller a ouvert une position et que l'autre la ferme, elle disparaît... Oubliez-les... Il n'y a pas de position.
La femme a pris l'argent dans la table de nuit, a acheté une télévision. Le mari a pris la télé, l'a vendue et a mis l'argent dans la table de nuit. En termes de compensation, il n'y a pas de télévision. Et selon votre logique, la femme a la télé et l'argent dans la table de nuit. Ils décident alors d'acheter une autre télévision ou de dépenser tout l'argent obtenu en boissons.
Ou bien chacun d'entre eux avait-il un poste de télévision ? Après tout, chacun d'entre eux en a tenu un dans ses mains. J'exagère.
Si un conseiller a ouvert une position et que l'autre la ferme, elle disparaît... Oubliez-les... Il n'y a pas de position.
Il n'y a pas de position.
Mais dans le cadre de leur logique - chaque EA a une position différente. Par exemple, l'un - "long terme" - s'assoira sur la perte, tandis que l'autre - "scalper" - fera sienne la contre-tendance au même moment.
Il n'y a pas de position.
Mais dans les limites de leur logique - chaque EA défend sa propre position. Par exemple, l'un - le "long terme" - attendra les pertes, et l'autre - le "scalper" - recherchera une contre-tendance.
Apparemment, vous essayez d'appliquer la logique de deux stratégies de couverture à la compensation. La séquence la plus logique serait la suivante.
Un scalper sur une contre-tendance ferme une position et place un ordre limite au prix TP attendu pour sa position imaginaire. Et si cet interrupteur de fin de course fonctionne, la position sera rétablie dans son intégralité MAIS !!! avec un ticket différent. Il n'est donc pas absolument correct de la considérer comme une continuation de cette position fermée, et l'EA à long terme ne pourra pas la déterminer comme la leur.
Il s'agit d'une autre question si le scalper fonctionne avec un plus petit volume. Le billet restera alors le même, malgré le fait que le prix d'ouverture change. En général, n'essayez pas de transférer simplement la stratégie à la compensation pour la couverture, rien de bon n'en sortira. L'analogie fonctionne, mais les actions doivent être différentes. Les spécificités de la compensation doivent être prises en compte.
Apparemment, vous essayez d'appliquer la logique de deux stratégies de couverture à la compensation. Une séquence plus logique serait la suivante.
Un scalper sur une contre-tendance fermera sa position et fixera un ordre limite au prix TP attendu pour sa position imaginaire. Et si cet interrupteur de fin de course fonctionne, la position sera rétablie dans son intégralité MAIS !!! avec un ticket différent. Il n'est donc pas absolument correct de la considérer comme une continuation de cette position fermée et l'EA à long terme ne pourra pas la déterminer comme la leur.
Il en va tout autrement si le scalper travaille avec des valeurs plus petites. Dans ce cas, le billet restera au moins le même, malgré le fait que le prix d'ouverture ait changé. En général, n'essayez pas de transférer simplement la stratégie de compensation pour couvrir, rien de bon n'en sortira. L'analogie fonctionne, mais les actions doivent être différentes. Les spécificités de la compensation doivent être prises en compte.
Ceci n'est qu'un exemple du scalper et du long riser, il peut y avoir beaucoup d'EA sur le symbole, et ils peuvent avoir des lots différents.
"Le scalper ferme une position sur une contre-tendance et place un interrupteur de limite au prix du TP attendu pour sa position imaginaire". - Mais le scalpeur suppose pour lui-même qu'il a une "position imaginaire".
Et le fait que la position totale ait changé le billet - donc le conseiller à long terme n'en a pas besoin, il sait déjà qu'il a sa propre position, qui n'est pas liée à la position totale.
Par conséquent, chaque EA fonctionne indépendamment de qui d'autre travaille avec elle sur ce symbole, sans savoir ou vouloir savoir quoi que ce soit à ce sujet.
Et oui, je n'essaie pas de transférer des stratégies de couverture, car j'ai commencé tout de suite avec MT5, FORTS et la compensation. Je voulais simplement que plusieurs robots puissent trader sur le symbole et qu'ils puissent échanger leurs mains sans interférer avec eux.
JRandomTrader:
Mais pour lui-même, le dilapidateur pense avoir une "position imaginaire".
C'est ce que je dis, vous devez construire une logique différente pour les filets. Il ne devrait pas y avoir de positions imaginaires . Je l'ai dit comme ça parce que je ne trouvais pas d'autre mot pour que tu me comprennes. S'il y a un remplissage, alors le volume total de la position et le nouveau prix de la position ouverte sont pris en compte, s'il y a une fermeture partielle, la même chose et le prix et le volume sont pris en compte.
C'est ce que je dis : il faut construire une logique différente pour les filets. Il ne doit pas y avoir de positions imaginaires . J'ai dit ça parce que je ne trouvais pas d'autre mot pour que tu me comprennes. S'il y a un remplissage, alors le volume total de la position et le nouveau prix d'ouverture sont pris en compte ; s'il y a une fermeture partielle, alors il en est de même et le prix et le volume total sont pris en compte.
Nous devrons alors établir une certaine interaction entre les robots et tenir compte des actions des "voisins", qui sont les mêmes aujourd'hui et peuvent être différents demain. Et les avantages qui en découleront ne sont pas clairs.
Une position imaginaire est nécessaire du point de vue de l'algorithme du robot : s'il l'a ouverte, il doit la fermer.
Je dois ensuite créer une sorte d'interaction entre les robots et prendre en compte les "voisins" qui sont un aujourd'hui et peut-être un autre demain. Et les avantages qui en découleront ne sont pas clairs.
Une position imaginaire est nécessaire du point de vue de l'algorithme du robot : s'il l'a ouverte, il doit la fermer.
Pour simplifier les choses, oui. Je suis d'accord.
Alors, le "gestionnaire des transports" n'a pas entièrement formulé le problème et ses actions.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Traitement des transactions (OnTradeTransaction)
Ilya Child, 2019.02.07 20:08
Bonsoir.
Les gars, s'il vous plaît, aidez-nous à résoudre ce problème. Le problème n'est probablement pas nouveau, mais je n'ai pas trouvé de solution univoque (ni en pratique, ni sur les forums).
J'exécute deux robots différents dans le terminal sur deux instruments différents. Les magies sont différentes partout. Le robot place des limites en attente et la procédure OnTradeTransaction me permet de détecter une transaction et de placer des ordres stop en attente en utilisant cette transaction.
Voici le code de la transaction commerciale
Voici le code de la fonction qui vérifie si l'affaire appartient à un robot
Voici le code de la procédure pour les ordres stop en attente
Voici le code de la fonction de recherche d'un ordre dans l'historique et hors de l'historique
J'éditerais les informations sur les transactions entrantes dans les fichiers journaux dans l'ordre où elles sont reçues dans le terminal. J'ai maintenant un problème auquel j'ai été confronté lorsque je négociais sur un compte de démonstration :
Parfois, les transactions se présentent dans l'ordre suivant : TRADE_TRANSACTION_ORDER_DELETE, puis TRADE_TRANSACTION_DEAL_ADD, puis TRADE_TRANSACTION_HISTORY_ADD. Dans ce cas, les ordres stop ne sont souvent pas placés après l'exécution d'une transaction. Je suppose que cela se produit parce que la commande a déjà été supprimée mais n'a pas encore été ajoutée à l'historique. Cela signifie que nous ne pouvons pas trouver l'ordre de l'opération ni dans l'historique ni dans le terminal. Bien que cela soit douteux, le fait est qu'aucun ordre stop n'est placé car le robot ne le trouve pas après avoir recherché l'ordre dans toutes les dimensions(isFindOrder=false). L'ordre des transactions peut être correct, mais l'ordre est toujours introuvable. Dans tous les cas, le robot détecte correctement la transaction, mais ne parvient pas à placer des ordres.Cependant, il arrive aussi qu'il fonctionne correctement et que des ordres soient placés.
J'ai essayé différentes approches, rien ne fonctionne. J'envisage maintenant d'ajouter un intervalle d'une seconde au début de la procédure de passation des commandes en attente. Je ne sais pas où creuser d'autre.
Veuillez partager vos expériences et vos idées.