Erreurs, bugs, questions - page 3023

 

optimiser=0

Ne fonctionne pas - soit 0 ou 1 - le temps de compilation est le même. Avant (l'année dernière), tout était compilé assez rapidement, maintenant c'est très long.

 
A100:

Ne fonctionne pas - soit 0 ou 1 - le temps de compilation est le même. Auparavant (l'année dernière), tout était compilé assez rapidement, maintenant cela prend beaucoup de temps.

utiliser la fonctionnalité mqh. La compilation mqh n'utilise pas d'optimisations car elles ne sont pas nécessaires (pas de génération de code exécutable).

 
Andrei Trukhanovich:

Utilisez la fonction mqh. Lors de la compilation de mqh, optimize=0 n'est pas utilisé car il n'est pas nécessaire (pas de génération de code exécutable).

J'ai trouvé un moyen plus simple d'ouvrir un projet inutile et de décocher l'optimisation - en une fois 5 fois plus rapide, mais quia empêché l'optimisation=0 n'est pas clair et de la ligne de commande la compilation rapide des bibliothèques ne fonctionne pas non plus.

 

Plus d'une douzaine de terminaux MT5 sont en fonctionnement. Les cœurs logiques ne sont pas chargés de manière égale.

  • Combien de cœurs un terminal peut-il utiliser ?
  • Le MT5 sélectionne-t-il lui-même les cœurs pour son fonctionnement ou le système d'exploitation ?
  • Est-il possible de répartir équitablement le travail des terminaux entre les cœurs ?
 

Comment puis-je obtenir la valeur de ce champ dans MT5 que je peux voir dans MT4 ?


Partagez la fonction qui produit toujours la valeur de marge correcte. OrderCalcMargin ment, malheureusement. Et cette option n'est pas une panacée.

 
fxsaber:

Partagez une fonction qui produit toujours la valeur de marge correcte. OrderCalcMargin ment, malheureusement. Et cette option n'est pas une panacée.

Je demande aux développeurs de comprendre le fonctionnement incorrect de OrderCalcMargin !


Veuillez ouvrir un compte de démonstration sur le serveurForexTimeFXTM-Demo01 à partir du terminal et exécuter ce script sur EURSEK.

// Выводит количество маржи для открытия Buy-позиции на 1 лот.
void OnStart()
{
  double Margin;
  
  if (OrderCalcMargin(ORDER_TYPE_BUY, _Symbol, 1, SymbolInfoDouble(_Symbol, SYMBOL_ASK), Margin))
    Alert(Margin);
}


On a ce décalage.

Absolument tous les paramètres de symbole/compte qui sont disponibles via MQL, j'ai vérifié. Tout est correct. J'ai l'impression qu'il y a un paramètre du côté du courtier qui n'est pas disponible dans le terminal. Probablement celui-là.

Il y a beaucoup de symboles similaires. Il n'est pas évident de savoir comment négocier correctement. Veuillez le commenter car l'erreur est critique pour le terminal de trading. Il est facile de tomber sur un MarginCall sur le champ.

 

La capture d'écran montre que, contrairement à MT4, sur MT5 il n'est pas possible de reconnaître l'effet de levier/la marge du symbole.


 
fxsaber:

La capture d'écran montre que, contrairement à MT4, il n'y a aucun moyen de connaître l'effet de levier/la marge d'un symbole sur MT5.

SymbolInfoMarginRate ? Et comptez la marge à la main, quelque chose comme

if(IsSymbForexCFD)
    Result=GetLastPrice(SymbName)/GetForexSymbLeverage(SymbName)*GetSymbolTickValue(SymbName)/GetSymbolTickSize(SymbName);
 
traveller00:

SymbolInfoMarginRate ? Et compter la marge à la main, quelque chose comme.

Je l'ai essayé. Ça n'aide pas toujours.

Raison: