Erreurs, bugs, questions - page 2013

 
fxsaber:
Il serait vraiment pratique d'avoir au moins une telle liste.

Peut-être que c'est mieux non pas à partir de MarketWatch mais à partir de la liste des graphiques ouverts. Après tout, une telle liste existe ; elle est ouverte dans le testeur.

Cependant, si un conseiller expert ouvre un graphique, il a besoin de la liste MarketWatch.

En tout cas, je le soutiens.

 
fxsaber:
En fait, il serait pratique d'avoir au moins cette

Sur le travail avec des symboles, une suggestion :

Tant que l'algorithme pour travailler avec le type chaîne est coûteux - implémentez au moins la capacité de travailler avec l'index numérique du symbole du courtier.

int OrderSymbolIndex()//à partir du serveur directement

int SymbolIndex((string)symbol_name)//puisqu'il est synchronisé avec l'index du broker dans le terminal, il est exécuté localement


Les avantages sont évidents au niveau du stockage (peut être dans des structures simples, des tableaux), du traitement (processeur et mémoire) et du transfert.

 
Kirill Belousov:

Sur le travail avec des symboles, une suggestion :

Tant que l'algorithme pour travailler avec le type chaîne est coûteux - implémentez au moins la capacité de travailler avec l'index numérique du symbole du courtier.

int OrderSymbolIndex()//à partir du serveur directement

int SymbolIndex((string)symbol_name)//puisqu'il est synchronisé avec l'index du broker dans le terminal, il est exécuté localement


Les avantages sont évidents au niveau du stockage (dans des structures simples, des matrices), du traitement (processeur et mémoire) et de la transmission.

Il y a beaucoup à suggérer, mais il vaut sans doute la peine de s'imaginer un peu à la place des développeurs. Le travail avec des chaînes de caractères est susceptible de s'accélérer.

 

Comment puis-je attacher la fonctionnalité frame au Market Advisor de quelqu'un d'autre pour pouvoir obtenir le même historique de trading backtest ?

Pour l'instant, je dois utiliser WinAPI pour le faire. C'est une douleur dans le cul.

 
prostotrader:

Pourquoi est-ce que c'est comme ça ?

Code

Je voulais probablement direDoubleToString(xxx, 2). Lorsque le deuxième paramètre est omis, la valeur par défaut est de 8.

 
Stanislav Korotky:

Je voulais probablement dire DoubleToString(xxx, 2). Lorsque le deuxième paramètre est omis, la valeur par défaut est de 8.


J'ai compris, alors j'ai supprimé le message

 

MT4 build 1090

Lors de la compilation de .mqh, le compilateur interprète mal la portée des variables, limitée par les accolades.

Pour, pendant, si, etc.

si une variable est déclarée localement, il se plaindra de sa redéclaration

void test1()
  {
   int total=1;
   for(int i=0;i<total;i++)
     {
      int a=0;
     }
   for(int i=0;i<total;i++)//в mqh 'i' - variable already defined
     {
      int a=0;//в mqh 'a' - variable already defined
     }
   Print(a);//в mqh компилятор здесь молчит
  }

si vous redéclarez le même code, alors il est correct.


Est-ce un bug connu ou dois-je créer une application dans le SD ?

 
Kirill Belousov:

MT4 build 1090

Lors de la compilation de .mqh, le compilateur interprète mal la portée des variables, limitée par les accolades.

Pour, pendant, si, etc.

si une variable est déclarée localement, il se plaindra de sa redéclaration

si vous redéclarez le même code, alors il est correct.

Est-ce un bogue connu, ou dois-je créer un ticket auprès de l'AC ?


Il est trop tôt pour le servicedesk - vous faites peut-être une erreur de programmation. Mais d'abord le code, un exemple d'utilisation et une description détaillée du bug.

 
Kirill Belousov:

MT4 build 1090

Lors de la compilation du fichier .mqh, le compilateur n'interprète pas correctement les variables délimitées par des accolades.

#property strict
 
fxsaber:
#property strict

Ça a aidé.

Dans MT5, il fonctionne bien sans lui. A quoi sert l'approche différente ?

Ou est-ce des queues historiques ?