Questions des débutants MQL4 MT4 MetaTrader 4 - page 20

 
Vitalie Postolache:
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 du code ?
 
bablusut:
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 ? ...
J'y ai ajouté des détails.
 

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).....
 
Vitalie Postolache:
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 ?

 
ganri:

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 ?

analyse asc/offre
 
Vitalie Postolache:

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 :

for(int i=OrdersHistoryTotal()-1; i>=0; i--) //перебираем историю торгов
{
      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 ?

 
bablusut:

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.

Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
Учебник по MQL4
 
Vitalie Postolache:

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.

MerciVitalie Postolache pour votre aide et vos conseils. Il est trop tard pour que je lise tous les manuels à mon sixième anniversaire - je ne pourrai pas étudier autant, j'aurais dû le faire plus tôt mais je n'ai pas eu le temps. Je vous ennuie vraiment ici, désolé, je ne vous ennuierai plus.
Raison: