Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 834

 
Vladimir Pastushak:


C'est faux, tout comme les autres exemples.

Si vous mettez un stop à 1.2356 et que sur le nouveau tick vous mettez à nouveau un stop à 1.2356, vous obtiendrez l'erreur 1.

C'est du premier bloc. Je l'ai changé, mais l'erreur est restée. Cette condition avec un arrêt a été mise en place pour que l'EA ne fasse pas de passes inutiles. Et sur un nouveau tick, l'EA ne fixera pas à nouveau le même stop - car après cette condition, je vérifierai d'autres conditions, par exemple, si le stop est égal à la valeur que je veux fixer.

 
Alexandr Sokolov:

C'est du premier bloc. Je l'ai changé, mais l'erreur demeure. J'ai créé cette condition avec un stop pour empêcher l'EA de faire des passes inutiles. Et lors d'un nouveau tick, l'EA ne place pas à nouveau le même stop - parce qu'après la vérification de cette condition, les autres sont vérifiées, par exemple, si le stop est égal à la valeur à définir.

OrderStopLoss()

Toutes les commandes...... () doit être normalisé

 
Vladimir Pastushak:

Tous les ordres...... () doit être normalisé.

J'ai fait ça - et ça n'a pas aidé non plus. En même temps, comme précédemment, je n'ai pas cette erreur dans le testeur, et MQL la trouve d'une manière ou d'une autre.

 
Où faut-il enregistrer le fichier texte pour qu'il puisse être lu depuis un autre terminal ?
 
yiduwi:
Quel chemin doit-on utiliser pour enregistrer un fichier texte afin qu'il puisse être lu depuis un autre terminal ?

ENUM_TERMINAL_INFO_STRING

Identifiant

Description

Type de propriété

LANGUE_TERMINALE

Langue du terminal

chaîne de caractères

SOCIÉTÉ_TERMINALE

Nom de la société

chaîne de caractères

TERMINAL_NAME

Nom du terminal

chaîne de caractères

TERMINAL_PATH

Le dossier à partir duquel le terminal est exécuté

chaîne de caractères

CHEMIN_DONNÉES_TERMINAL

Dossier où sont stockées les données du terminal

chaîne de caractères

CHEMIN D'ACCÈS TERMINAL_COMMONDATA

Dossier partagé de tous les terminaux clients installés sur l'ordinateur

chaîne de caractères


Документация по MQL5: Проверка состояния / TerminalInfoString
Документация по MQL5: Проверка состояния / TerminalInfoString
  • www.mql5.com
Проверка состояния / TerminalInfoString - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Qui peut aider à résoudre le problème https://www.mql5.com/ru/forum/160683/page833#comment_11584454 ?
 
Artyom Trishkin:

Merci.

 
Seric29:
Qui peut aider à résoudre le problème https://www.mql5.com/ru/forum/160683/page833#comment_11584454 ?

faites un exemple d'un à l'autre à partir de l'article https://www.mql5.com/ru/articles/18

les codes de l'article fonctionnent à 100% dans mt4, je l'ai vérifié en janvier de cette année.

Alternativement, vous avez un projet compilé pour une dll 64 bits, le terminal MT4 est 32 bits, vous devez configurer et compiler le projet pour une .dll 32 bits.

Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
  • www.mql5.com
Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах показать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Демонстрация будет на примере Visual...
 

Bonjour, chers utilisateurs du forum.

Pouvez-vous expliquer dans quel cas le code est écrit correctement et dans quel cas il ne l'est pas et pourquoi (voir ci-dessous) ?

for (z=OrdersTotal()-1; z>=0; z --)
    {
      OrderSelect (z, SELECT_BY_POS);
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderMagicNumber()!=MAGIC) continue;
      if(OrderType()==OP_BUY)  CloseBUY();
    }
for(int i=OrdersTotal()-1;i>=0;i--)
            {
            if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            {
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
             {
             if(OrderType()==OP_BUY)  CloseBUY();
             }
            }
            }

Si possible, de façon plus détaillée. Merci.

 
novichok2018:

Bonjour, chers utilisateurs du forum.

Pouvez-vous expliquer dans quel cas le code est écrit correctement et dans quel cas il ne l'est pas et pourquoi (voir ci-dessous) ?

Si possible, de façon plus détaillée. Merci.

Même le compilateur vous signalera dans le premier cas"le résultat de OrderSelect doit être vérifié" ;-)

Si vous changez pour le premier if (!OrderSelect(...)) continuez ; les options sont identiques.

Dans le premier, le code est visuellement linéaire, dans le second, il ressemble à un escalier. Je préfère la première variante, elle est plus facile à lire et en général, l'apparition d'onglets logiques profonds {{{{ }}}} indique qu'il est temps de changer quelque chose :-)