Il faut donc extraire la fonctionnalité requise de la classe et l'écrire pour soi-même.
Merci. Ma question est beaucoup plus simple - j'ai ouvert un ordre via OrderSend(request,result) et je veux opérer immédiatement avec ses paramètres - par exemple, les imprimer. Comme ça :
//============================================================//--- declare and initialize the trade request and result of trade requestMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parameters of request
request.action = TRADE_ACTION_DEAL; // type of trade operation
request.symbol = Pair1; // symbol
request.volume = lots; // volume of lot
request.type = oper; // order type
request.price = priceOpen; // price for opening
request.deviation= Slippage; // allowed deviation from the price
request.magic = magic;
//=================================== if(OrderSend(request,result))
Print ("retcode = " + retcode + "; ");
Print ("deal = " + deal + "; ");
Print ("order = " + order + "; ");
Print ("volume = " + volume + "; ");
Print ("price = " + price + "; ")
Certains des paramètres, tels que le retcode, l'ordre et le volume, sont imprimés, mais pas le deal et le prix. Le prix est particulièrement intéressant. Tous les résultats sont dans MqlTradeResult. Je les imprime tous de la même façon, mais certains sont imprimés et d'autres non. La question est de savoir pourquoi certains paramètres sont imprimés et d'autres non.
Je comprends queArrayCopy ne copie que des tableaux unidimensionnels ?
Non, ArrayCopy copie tous les tableaux qui sont autorisés dans mql5\4. Mais ils doivent être identiques pour être copiés. La deuxième dimension du premier tableau est de 50, et le deuxième tableau n'en a que 20. Il en va de même pour la troisième dimension.
Algotrader18: Merci. Ma question est beaucoup plus simple - j'ai ouvert un ordre via OrderSend(request,result) et je veux opérer immédiatement avec ses paramètres - par exemple, les imprimer. Par exemple, certains paramètres comme le retcode, la commande et le volume sont imprimés, mais pas le deal et le prix. Le prix est particulièrement intéressant. Tous les résultats sont disponibles dans MqlTradeResult. Je les imprime de la même manière, mais certains d'entre eux sont imprimés et d'autres non. La question est de savoir pourquoi certains paramètres sont imprimés et d'autres non.
//============================================================//--- declare and initialize the trade request and result of trade requestMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parameters of request
request.action = TRADE_ACTION_DEAL; // type of trade operation
request.symbol = Pair1; // symbol
request.volume = lots; // volume of lot
request.type = oper; // order type
request.price = priceOpen; // price for opening
request.deviation= Slippage; // allowed deviation from the price
request.magic = magic;
//=================================== if(!OrderSend(request,result))
return;
Print ("retcode = " + result. retcode + "; ");
Print ("deal = " + result. deal + "; ");
Print ("order = " + result. order + "; ");
Print ("volume = " + result. volume + "; ");
Print ("price = " + result. price + "; ");
J'ouvre une position et je veux imprimer le contenu de MqlTradeResult comme ceci :
//--- declare and initialize the trade request and result of trade requestMqlTradeRequest request={0};
MqlTradeResult result={0};
//--- parameters of request
request.action = TRADE_ACTION_DEAL; // type of trade operation
request.symbol = Pair1; // symbol
request.volume = lots; // volume of lot
request.type = oper; // order type
request.price = priceOpen; // price for opening
request.deviation= Slippage; // allowed deviation from the price
request.magic = magic;
//============================================================ if(OrderSend(request,result))
Print ("result.retcode = " + result.retcode + "; ");
Print ("deal = " + result.deal + "; ");
Print ("order = " + result.order + "; ");
Print ("volume = " + result.volume + "; ");
Print ("price = " + result.price + "; ");
result.retcode, l'ordre et le volume sont imprimés mais deal et price sont toujours des zéros. S'il vous plaît, pouvez-vous me dire ce que je fais mal ?
Pourquoi s'être perdu dans le code suivant.... Question...
Je pense que ce retour est inacceptable. Il sera imprimé sur le prochain tic-tac.
Sile contrôle de la structure de base (contrôle du pointeur) est réussi, true est renvoyé - cela n'indique pas que l'opération commerciale a été exécutée avec succès. Pour obtenir une description plus détaillée du résultat de la fonction, nous devons analyser les champs de la structure du résultat.
Si le contrôle de base est passé, alors seulement nous l'imprimons. Tout cela sur une seule tique. C'est pourquoi j'ai écrit
Essayez de chercher, fxsaber a déjà travaillé sur ce problème. Je ne sais pas ce qu'il a fait, ça ne m'intéresse pas. Il est plus facile pour moi d'obtenir tous ces paramètres dans OnTradeTransaction.
Il faut donc extraire la fonctionnalité requise de la classe et l'écrire pour soi-même.
Le prix est particulièrement intéressant. Tous les résultats sont dans MqlTradeResult. Je les imprime tous de la même façon, mais certains sont imprimés et d'autres non. La question est de savoir pourquoi certains paramètres sont imprimés et d'autres non.
Comment fusionner des tableaux ?
Je comprends queArrayCopy ne copie que des tableaux unidimensionnels ?
Comment fusionner des tableaux ?
Je comprends queArrayCopy ne copie que des tableaux unidimensionnels ?
Merci. Ma question est beaucoup plus simple - j'ai ouvert un ordre via OrderSend(request,result) et je veux opérer immédiatement avec ses paramètres - par exemple, les imprimer. Par exemple, certains paramètres comme le retcode, la commande et le volume sont imprimés, mais pas le deal et le prix.
Le prix est particulièrement intéressant. Tous les résultats sont disponibles dans MqlTradeResult. Je les imprime de la même manière, mais certains d'entre eux sont imprimés et d'autres non. La question est de savoir pourquoi certains paramètres sont imprimés et d'autres non.
C'est comme ça que c'était à l'origine
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégie
Questions des débutants MQL5 MT5 MetaTrader 5
Algotrader18, 2018.10.25 07:39
Bonjour !
J'ouvre une position et je veux imprimer le contenu de MqlTradeResult comme ceci :
result.retcode, l'ordre et le volume sont imprimés mais deal et price sont toujours des zéros.
S'il vous plaît, pouvez-vous me dire ce que je fais mal ?
Pourquoi s'être perdu dans le code suivant.... Question...
Je pense que ce retour est inacceptable. Il sera imprimé sur le prochain tic-tac.
Et je pense que ce retour est inacceptable. Après tout, il sera imprimé sur le prochain tic-tac.
Apprendre CommanderEnvoyer
Valeur retournée
Sile contrôle de la structure de base (contrôle du pointeur) est réussi, true est renvoyé - cela n'indique pas que l'opération commerciale a été exécutée avec succès. Pour obtenir une description plus détaillée du résultat de la fonction, nous devons analyser les champs de la structure du résultat.
Exploration de OrderSend
S'il passe le contrôle de base, alors seulement l'imprimer. Tous sur le même tic. C'est pour ça que je l'ai écrit.C'était le cas à l'origine.
pourquoi était-il perdu dans le code suivant... question...
Mais à mon avis, celle-ci est inacceptable. Il sera imprimé sur le prochain tic-tac.
J'ai essayé plusieurs variantes, dont celle-ci :
Je n'ai pas tout copié dans la question par erreur...
J'ai essayé différentes options, dont celle-ci :
et copié dans la question par erreur...
Bonjour à tous !
Il n'y a rien de semblable. MT5 est multithread.