- Caractéristiques du langage mql4, subtilités et techniques
- Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes.
- Réseaux neuronaux artificiels.
lorsqu'uneposition est ouverte avec succès par un ordre au marché, un Result.deal nul est obtenu à chaque fois ?
Une fois que l'envoi d'un ordre a été exécuté, il n'est pas toujours possible d'accéder à l'ordre, à la position ou à la transaction en question. Il existe des situations où vous devez attendre quelques dizaines de millisecondes pour que les informations historiques ou actuelles sur les transactions deviennent correctes.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
TakeProfit (et StopLoss) d'une position fermée
fxsaber, 2016.07.17 20:19
Il ne s'agit pas d'une accusation sans discernement, mais du résultat d'heures passées à essayer de comprendre (l'absence de HistorySelectByPosition et d'autres trucs n'aide pas) comment tout fonctionne. Et je suis heureux de m'excuser si je me trompe. Pour ne pas être sans fondement, je montre un Expert Advisor pour le testeur (il est plus facile à comprendre) sur le serveur RoboForexEU-MetaTrader 5, qui ouvre une position, puis met des niveaux SL et TP.
void OnTick() { static bool Flag = true; if (Flag) { // Открываем SELL-позицию MqlTradeRequest Request = {0}; Request.action = TRADE_ACTION_DEAL; Request.symbol = Symbol(); Request.volume = 1; Request.price = SymbolInfoDouble(Symbol(), SYMBOL_BID); Request.type = ORDER_TYPE_SELL; MqlTradeResult Result; if (OrderSend(Request, Result)) { // Устанавливаем SL и TP Request.position = Result.deal; Request.action = TRADE_ACTION_SLTP; Request.tp = Result.ask - 10 * _Point; Request.sl = Result.ask + 10 * _Point; if (OrderSend(Request, Result)) Print("Сделка в тестере закроется либо по SL, TP, либо по окончании бэктеста") ; Flag = false; } } }
Dans cet EA, le SL et le TP d'une seule position fermée ne peuvent pas être définis (dans OnDeinit). C'est censé faire ça ?
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Alternative à Sleep to run in tester
Vitalie Postolache, 2017.02.10 18:01
Les minuteries fonctionnent-elles dans le testeur MT5 ?Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Alternative à Sleep pour le fonctionnement dans le testeur
Slawa, 2017.02.22 11:16
Oui, mais seulement pour l'EA testé. Pas pour les indicateurs utilisés par le conseiller expertForum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Slawa, 2017.02.14 13:46
Pourquoi ? Une seule action suffit.Tant que le symbole est sélectionné dans la revue de marché et que l'historique du symbole est détenu par le Conseiller Expert, il est maintenu en synchronisation. Le maintien par le conseiller expert signifie que vous accéderez à cet historique au moins une fois toutes les 2 minutes, par exemple en copiant une barre. Si l'historique est synchronisé, aucun temps n'est passé à copier une barre - seulement quelques cycles de processeur. Ou, comme cela vient d'être dit ici, demandez le nombre de barres, également quelques cycles d'horloge...
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Alexey Kozitsyn, 2017.02.14 13:47
Les indicateurs comprennent-ils un intervalle de 2 minutes ?
Oui, et en vérifiant le fait de la synchronisation, la synchronisation sera-t-elle également retenue ?
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
Slawa, 2017.02.14 13:50
Cela s'applique également aux indicateurs. Créez une minuterie d'une minute et demandez le nombre de barres de toutes les séries temporelles qui vous intéressent.La vérification du fait de la synchronisation ne maintient pas la synchronisation.
Une fois l'OrderSend exécuté, la référence à l'ordre, à la position ou à la transaction appropriée n'est pas toujours réussie. Il existe des situations où vous devez attendre quelques dizaines de millisecondes pour que les informations historiques ou actuelles sur les transactions soient correctes.
Vous n'avez pas besoin d'attendre quelques millisecondes.
Le message viendra dans OnTradeTransaction
voir code
Vous n'avez pas besoin d'attendre quelques millisecondes.
Le message viendra dans OnTradeTransaction
voir le code.
Les scripts ne l'ont pas. Il est stupide d'utiliser EA+ExpertRemove au lieu du script.
De plus, OrderSend se bloque par timeout s'il n'y a pas de réponse du serveur pendant 180 secondes. Cela suggère que la transaction OnTradeTransaction peut accumuler pour toujours des tickets en attente. Et l'option d'un seul order_ticket pour OnTradeTransaction, comme dans votre script, est mauvaise. Après l'envoi asynchrone, il y a un travail avec les listes de commandes. C'est pourquoi il est asynchrone - pour travailler par lots. Et s'il n'y a pas de travail par lot, alors l'asynchronisme n'est jamais nécessaire.

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation