Erreurs, bugs, questions - page 1655

 
Andrey Barinov:
Pourquoi être si incertain ? Bien sûr que oui :)
Je ne suis pas sûr car je ne sais pas à quoi m'attendre, j'ai mis à jour le terminal à 1395 et maintenant je ne sais pas comment revenir à 1375 parce que le robot a cessé de faire ce qu'il était censé faire...
 
Andrey Barinov:
Pourquoi être si incertain ? Bien sûr que oui :)
OK, où est le destructeur ?
 
Vladimir Pastushak:
OK, où est le destructeur ?
Plus important encore, où se trouve tout le reste ?
 

Le testeur hors ligne ne revient pas à son état initial après avoir appuyé sur "Start" - le bouton "Stop" est allumé en permanence. Cela se produit lorsque l'intervalle de test dépasse l'historique disponible.

2016.08.28 10:19:48     Core 1  RTS-9.16: read container failed
2016.08.28 10:19:48     Core 1  RTS-9.16: ticks synchronization started
2016.08.28 10:19:48     Core 1  RTS-9.16: history synchronized from 2015.06.22 to 2016.08.25
2016.08.28 10:19:48     Core 1  RTS-9.16: load 2651 bytes of history data to synchronize in 0:00:00.016
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol synchronized, 3224 bytes of symbol info received
2016.08.28 10:19:48     Core 1  RTS-9.16: symbol to be synchronized
....
2016.08.28 10:19:41     Tester  RTS-9.16,M1 (BCS-MetaTrader5): testing of Experts\Test.ex5 from 2016.08.01 00:00 to 2016.08.28 00:00

 
Veuillez expliquer pourquoi vous ne pouvez pas utiliser la construction qui est dans le code ? Et comment modifier (apparemment, un nouveau type de pointeurs pour MQL) pour qu'une telle construction fonctionne ? Et va-t-il se ralentir ?
void f1( int i1, int i2, int i3, int i4, int i5 ) {}
void f2( int i1, int i2, int i3, int i4, int i5 ) {}

void OnStart()
{  
  bool Condition = true;
  
//  (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5); // 'f1', 'f2' - expression of 'void' type is illegal

  if (Condition)
    f1(1, 2, 3, 4, 5);
  else
    f2(1, 2, 3, 4, 5);
  
  (Condition ? f1 : f2)(1, 2, 3, 4, 5); // Почему так нельзя? Как сделать, чтобы можно было?
}
 
fxsaber:
Veuillez expliquer pourquoi vous ne pouvez pas utiliser la construction qui est dans le code ? Et comment modifier (apparemment, un nouveau type de pointeurs pour MQL) pour qu'une telle construction fonctionne ? Et cela provoquera-t-il des décalages ?

Essayez ceci

int b = (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5);
 

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Bugs, bugs, questions

A100, 2016.08.25 14:49

Erreur lors de l'exécution

Dans une version plus complexe reproduite sous la forme : EX5 loading failed

Dans la version 1398, l'erreur "EX5 loading failed" persiste (apparemment sans rapport avec cet exemple).

//Script1.mq5
typedef void (*fn)();
#import "Script2.ex5"
        void g( fn );
#import "Script3.ex5"
        void h();
#import
void OnStart() { g( h ); }
//Script2.mq5
#property library
typedef void (*fn)();
void g( fn f ) export { f(); }
//Script3.mq5
#property library
void h() export {}
 
Vladimir Pastushak:
Utilisez-vous le stockage vous-même ?

Réponse dans quatre jours. Mais comme on dit, mieux vaut tard que jamais.

Rarement, mais j'utilise le coffre-fort. Principalement pour sauver le travail que j'ai fait de la perte. Je passe aussi d'un ordinateur à l'autre, par le biais du stockage. J'ai utilisé Yandex-disk plus tôt. Mais là pour transférer, c'est ainsi qu'il faut faire de nombreuses manipulations.

Sur le premier ordinateur, ouvrez Yandex, sélectionnez le fichier, téléchargez-le.

Sur le deuxième ordinateur, le récepteur : ouvrir Yad, choisir un fichier, télécharger, créer un nouveau code dans l'éditeur, copier le code téléchargé, et compiler.

Et il n'y a pas de confusion supplémentaire avec les versions hébergées par JD.

J'ai une question : le stockage fonctionne. Je connecte différents ordinateurs, le code est transféré. Mais je ne peux pas le voir depuis mon compte. Il n'y a pas de bouton "Aperçu". Il y a des fichiers dans le dossier Projects.

 

Bonjour, j'utilise la fonction ChartSetInteger (MT5 1395 build) pour modifier la hauteur de la fenêtre de l'indicateur :

 if(!ChartSetInteger(0,CHART_HEIGHT_IN_PIXELS, 1, subWindowPixels))
    {
        Print(__FUNCTION__+", Error Code = ",GetLastError());
        return;
    } 
Après avoir redimensionné la fenêtre de cette manière, la fenêtre de l'indicateur est verrouillée et ne peut pas être redimensionnée manuellement.
Dans le fil de discussion suivant https://www.mql5.com/en/forum/59754, la solution de ce problème pour MT4 était de régler la taille de la fenêtre de l'indicateur sur 0 pixel, mais sur MT5 cette méthode ne fonctionne pas. Veuillez me dire si vous pouvez résoudre ce problème d'une manière ou d'une autre. Merci.
 

Bonjour !

Messieurs les officiers, pouvez-vous me dire où commencer à attraper un insecte ?

Conseiller expert multi-devises. Après la première transaction, le testeur s'arrête.

Donne une erreur, dont je ne trouve pas le code.

Oui, le testeur fonctionne bien à partir de la date de début 2016.05.01. Si je change cette date - le testeur s'arrête et une erreur se produit, log ci-dessous.

Aidez-nous !

2016.08.29 12:22:53.068 log file "D:\Terminals\Alpari Limited MT5\Tester\Agent-127.0.0.1-3000\logs\20160829.log" written
2016.08.29 12:22:53.068 stopped on 0% of testing interval with error '16 USDJPY'
2016.08.29 12:22:53.068 history error 9 in undefined function
2016.08.29 12:22:53.066 wrong generated time
2016.08.29 12:22:52.830 wrong generated time
2016.08.29 12:22:52.765 wrong generated time