Questions des débutants MQL5 MT5 MetaTrader 5 - page 974

 
Sprut112:

Que pensez-vous de ça ?

Fais-le comme ça...

double Freeus =AccountInfoDouble(ACCOUNT_MARGIN_FREE)* MaximumRisk 
               /SymbolInfoDouble(symbol_name[ir],SYMBOL_TRADE_TICK_VALUE)/ 1000;
  input_lots = NormalizeDouble(MathRound(Freeus) * SymbolInfoDouble(symbol_name[ir], SYMBOL_VOLUME_STEP),dg);
 
xxz:

fais ça...

Nan, ça a marché quand j'ai ajouté Step :) Merci encore !
 
Vladimir Karputov:

Correction des blocs d'initialisation dans les EAs (OnInit() ).

Quoi exactement ? 0 avertissement. Retourner 0 à
return(INIT_SUCCEEDED) si seulement.
 
pivomoe:
Qu'en est-il ? Retour 0 sur
return(INIT_SUCCEEDED) si seulement.

Montrez le code MQL5 complet de la fonction OnInit() des EAs qui ne se rechargent pas. Montrer le code MQL5 complet de la fonction OnDeinit() des Expert Advisors qui ne se rechargent pas. Les conseillers experts utilisent-ils des bibliothèques tierces ? Dll ?

 
Vladimir Karputov:

Montrer le code MQL5 complet de la fonction OnInit() des EAs qui ne se rechargent pas. Montrez le code MQL5 complet de la fonction OnDeinit() des EAs qui ne se rechargent pas. Les conseillers experts utilisent-ils des bibliothèques tierces ? Dll ?

Je n'utilise pas de Dll. Le code de OnInit est long de 1000 lignes. Il y a une allocation de mémoire pour les classes. Peut-être que toute la mémoire n'est pas libérée dans OnDeinit. Fermer le terminal avec une croix, c'est bien, mais le planificateur ne fonctionne que 90 % du temps.
 
pivomoe:
Je n'utilise pas de Dll. Le code de OnInit est long de 1000 lignes. Il y a une allocation de mémoire pour les classes. Peut-être que toute la mémoire n'est pas libérée dans OnDeinit. La fermeture du terminal avec une croix est correcte, mais le planificateur ne fonctionne bien que 90 % du temps.

Vous avez déjà répondu à 90% de votre question. Il ne reste plus qu'à trouver l'erreur :)

 
Veuillez me conseiller sur la manière d'attribuer explicitement à chaque commande un magik différent.
Par exemple.
Par exemple, nous devons mettre en place
Ordre Buy_Stop et l'assigner à magic_1
commandez Buy_Stop et attribuez-lui magic_2
Ordre Buy_Stop et définition de son magic_3

Ainsi, lors de la modification des commandes, nous pourrions spécifier explicitement la commande à modifier.

si un ordre Buy_Stop == wizard_2, le modifier.

 

Bon après-midi.

J'ai des questions concernant l'absence de Sleep() dans le testeur. J'aimerais savoir comment les gens résolvent les problèmes suivants lorsqu'ils utilisent le testeur de stratégie (à la fois les exécutions uniques et l'énumération des paramètres d'entrée) :

1) Comment vérifient-ils si une poignée indicatrice est prête ? Comment faire pour que j'attende que le calcul de l'indicateur soit terminé, et qu'ensuite seulement je passe aux lignes.

2) Comment puis-je attendre que le fichier texte appelé s'ouvre à la lecture pendant l'EA ?

3) Comment attendre la réponse de la fonction OrdersTotal() ? Et peut-il y avoir un délai dans la réponse de cette fonction ?

4) Comment attendre la réponse de la fonction OrderCalcMargin() ? Et peut-il y avoir un délai dans la réponse de cette fonction ?

5) Est-il judicieux d'attendre le"code de retour du serveur de commerce" par le biais de MqlTradeResult dans le testeur (même si la façon de procéder n'est pas claire).

Dans le terminal, toutes ces tâches ont été résolues en utilisant Sleep(), alors que cela ne fonctionne pas dans le testeur. De plus, je ne suis pas sûr que Sleep() soit nécessaire, peut-être y a-t-il une solution plus rationnelle ?

Merci déjà.

 

Bonjour ! décomposez la construction en si... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C : 0 ;

lire l'aide - mais sans succès)

 
Tango_X:

Bonjour ! Décomposez la construction en si... C= (i>0) ? (A>B) ? 1 : (A<B) ? 2 : C : 0 ;

lire l'aide - mais sans succès)

C'est comme ça :

C=xxx;
if(i>0)
  {
   if(A>B)
     {
      C=1;
     }
   else
     {
      if(A<B)
        {
         C=2;
        }
      else
        {
         C=C;
        }
     }
  }
else
  {
   C=0;
  }

S.S. Ça n'a rien à voir avec l'aide. C'est une question de logique.