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
Encore une fois. OrderSelect doit venir en premier lorsqu'on travaille avec une commande. Puis tout le reste.
Merci pour la réponse ... Voulez-vous dire que la ligne if(OrderSelect(i=0;i<accTotal;i++)==true) n'est pas écrite correctement, ou au mauvais endroit dans le code ? ...
Renat Akhtyamov:
по ссылке пройдите, она у Вас в посте выделена.
Je l'ai déjà regardé. Il n'a pas les informations nécessaires. Valeur à 10 chiffres dans le tampon vide et valeur du prix quand il y a un signal... Comment le code mql4 indique-t-il l'absence ou la présence d'une valeur dans le tampon ? (Je l'ai utilisé plus d'une fois, mais j'ai oublié...)
if( iCustom(NULL,t, "T...c",1,b) != .......).....
atik441:уже смотрел. нет там нужной информации .в пустом буфере 10и значное значение а при наличии сигнала - значение цены... и как в коде mql4 обозначается отсутствие или наличие значения в буфере ? (пользовался не раз ,да забыл ...)
if( iCustom(NULL,t, "T...c",1,b) != EMPTY_VALUE).....Ce dont nous avons besoin... Merci pour le rappel !
Aide à la compréhension. Est-il possible d'exécuter des ordres de manière séquentielle si deux ordres dirigés différemment
les trades ouverts déclenchent d'abord le TP de n'importe lequel des trades, puis seulement le SL, bien que dans le processus de trading le niveau de SL
l'un des métiers a été adopté en premier ?
Aide à la compréhension. Est-il possible d'exécuter des ordres de manière séquentielle si deux ordres dirigés différemment
les trades ouverts déclenchent d'abord le TP de n'importe lequel des trades, puis seulement le SL, bien que dans le processus de trading le niveau SL
l'un des métiers a été adopté en premier ?
Encore une fois. OrderSelect doit venir en premier lorsqu'on travaille avec une commande. Et puis tout le reste.
Si nous travaillons dans une boucle d'évaluation de l'ordre, l'ordre des actions est le suivant
1. Vérification if(OrderSelect())
2. Pour vérifier s'il s'agit du bon ordre, nous vérifions généralement le symbole et le numéro magique, puis le type si(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) - dans ce cas, seuls les ordres de marché placés pour le symbole actuel et avec le numéro magique spécifié sont traités.
Traitement d'autres données comme OrderComment(), OrderProfit(), etc.
Cela ressemblerait à quelque chose comme ça :
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) //если ордер выбран то работаем дальше, иначе смысла нет
{
if(OrderSymbol()==_Symbol && OrderMagicNumber()==Magic && OrderType()<2) //Если ордер тот, что нам нужен (эту проверку можно и опустить, если нужно обработать все ордера в истории)
{
if(StringFind(OrderComment(),"[tp]",0)>-1) //если найден признак закрытия профитом
Print("Order #",OrderTicket()," profit: ", OrderTakeProfit());
if(StringFind(OrderComment(),"[sl]",0)>-1) //если найден признак закрытия стоплосс
Print("Order #",OrderTicket()," loss: ", OrderTakeProfit());
}
}
}
Merci de votre réponse ... Ainsi, pour rechercher les ordres dans l'historique des transactions, nous utilisons la fonctionOrdersHistoryTotal qui, après avoir éliminé tout ce dont nous n'avons pas besoin, ressemble à ceci
for(int i=OrdersHistoryTotal()-1; i>=0; i--) // - voici la question, que signifie "accTotal" dans le modèle de fonction, que nous avons écarté ? et pourquoi avez-vous pris "i--" et non "i++" comme dans le modèle ?
- La deuxième fonctionOrderComment renvoie le commentaire de la commande sélectionnée, si elle est sélectionnée par la fonction précédenteOrdersHistoryTotal, prend la forme de
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) //- où "i", c'est "i>=0" de la fonction précédente, et "SELECT_BY_TICKET" a été remplacé par "SELECT_BY_POS" et "MODE_HISTORY" a été ajouté- pourquoi ?
- La troisième ligne est une définition, nous n'avons pas réellement besoin de vérifier l'ordre nécessaire puisque nous n'avons que des ordres de marché fermés par TP et SL dans cet historique (nous pourrions avoir un ordre en attente fermé, mais ce sera rare), tous les autres paramètres d'ordre ne sont pas importants pour nous. La seule chose importante est que la quantité de commandes fermées dans l'historique va constamment augmenter, est-il possible de faire en sorte que notre recalcul prenne une certaine quantité des dernières commandes, par exemple, 5-10, et pas toutes ?
- Les quatre dernières lignes sont assez claires, la seule question concerne la fonction PlaySound, dont le code doit être inséré après chaque ligne"Print("..." dans laforme suivante:
bool PlaySound(
string // nom de fichier
) ;
... Ou est-il également converti d'une manière ou d'une autre ?
Lisez sur les boucles, comment elles sont limitées et comment elles fonctionnent, et en général, il serait bien de lire un manuel sur le C++ pour les débutants, le C++ est très similaire à MQL, la seule différence est dans les fonctions commerciales.
Et vous devriez également lire le tutoriel MQL et l'aide au compilateur. Les articles du forum se trouvent sur le bord supérieur de la fenêtre avec un fond bleu. Vous ne pouvez pas simplement répéter et expliquer tout le cours sur le forum.
Lisez sur les boucles, comment elles sont limitées et comment elles fonctionnent, et en général, il serait bien de lire un manuel sur le C++ pour les débutants, le C++ est très similaire à MQL, la seule différence est dans les fonctions commerciales.
Et vous devriez également lire le tutoriel MQL et l'aide au compilateur. Les articles du forum se trouvent sur le bord supérieur de la fenêtre avec un fond bleu. Vous ne pouvez pas simplement répéter et expliquer tout le cours sur le forum.