MetaTrader 4 Build 529 beta publié avec un nouveau compilateur - page 138

 
VOLDEMAR:

Je pense qu'il y a un bug Le conseiller ne peut pas appeler une fonction de la bibliothèque

Code EA appelant la fonction

code de bibliothèque

Erreur de journal

  • 2013.12.22 12:54:45.408 2013.08.19 05:16 Violation d'accès en écriture à 0x00000000
  • 2013.12.22 12:54:45.408 2013.08.19 05:16 Impossible de trouver 'ins' dans 'bib.ex4'.


Impossible à reproduire. Discutons de tous les détails dans Servicedesk. Merci.
 
alexloz:

Je ne peux pas le reproduire. Discutons de tous les détails dans Servicedesk. Merci


Envoyé par e-mail à Servicedesk

Appeler la bibliothèque

Erreurs, MetaTrader 4, Ouvert, Démarré : 2013.12.23 06:39, #916314

 
VOLDEMAR:


Le bureau de service a été envoyé

Appel à la bibliothèque

Erreurs, MetaTrader 4, Ouvert, Démarré : 2013.12.23 06:39, #916314


Problème résolu

Lorsque vous utilisez
#property  strict

Veillez à utiliser l'exportation
int ins() export
  {
   int a=1, b=1,c=1,d=0;
   d=a+b+c;
   return d; 

}

 
pro_:

J'ai remarqué une caractéristique désagréable de l'option Rechercher-Remplacer dans ME881. J'ai vérifié le ME482, c'est la même chose. Peut-être que pendant que vous êtes occupés à mettre à jour MT, vous pouvez aussi régler ce problème ?

Donc, dans l'ordre : mon code est long, pour les changements de routine j'utilise "Trouver-Remplacer" dans tout le texte. J'ai essayé de changer tous les x1+3 en x1, cela semble correct. Mais mon code contient des lignes avec x1+3+3*abc. Ces lignes, au lieu de x1+3+3*abc , sont devenues x1+3*abc et ont donné x1*abc . Et il se trouve qu'il peut y avoir autant de ces +3 que l'on veut, le résultat sera toujours x1*abc. Les lignes avec par exemple x1+3+4*abc changent correctement.

Il s'agit d'un cas unique et plutôt curieux. Bien sûr, cette correction n'est pas urgente, mais je pense qu'elle est nécessaire pour éviter les problèmes lors du codage.


Le dernier éditeur MT4 ne se reproduit pas et remplace tout correctement. En remplaçant x1+3 par x1 dans l' expression x1+3+3*abc, on obtient x1+3*abc . Vous pouvez écrire au service d'assistance ou ici dans quelle partie du code est modifié.
 

Lorsque la fenêtre du navigateur est détachée, les infobulles sont affichées derrière la fenêtre elle-même.

 
Night63:

J'ai trouvé quelques petites coquilles dans le manuel :

CommanderModifier

[Numéro d'ordre unique de l'ordre à clôturer .

Peut-être serait-il plus correct d'écrire modifiable au lieu de fermable?

Merci pour votre message. L'erreur a été corrigée.
 
alexey_pak:

Le dernier éditeur MT4 ne se reproduit pas et remplace tout correctement. On remplace x1+3 par x1 dans l' expression x1+3+3*abc, on obtient x1+3*abc . Vous pouvez écrire au service d'assistance ou ici dans quelle partie du code est modifié.

Bizarrement, je n'ai pas eu de répétition aujourd'hui. Avant d'écrire ici sur le problème, je l'ai vérifié plusieurs fois, et j'ai même ouvert l'ancien ME et c'était la même chose. Rien n'est joué aujourd'hui.
L'une (sur 30 lignes) où cela s'est produit est la suivante :
   CreateEdit(0,"ed_4R", txt4, PosX+12+3*(xBS-x1p)+Vx, PosY+row3+3+3*yBH+Vy, bxS, bxS/2, SubWindow, 0, fs, "Arial", clrGray, clrBlack, 0, true);
J'ai par ailleurs essayé d'écrire simplement x1+3+3+3*abc dans n'importe quelle partie du code comme dans l'exemple donné ici. Il s'est avéré x1*abc.
Mais aujourd'hui, comme vous l'avez écrit, tout change correctement. Je ne comprends pas. Si je constate une récurrence du problème, je ne manquerai pas d'écrire. Rien à dire pour l'instant. Désolé pour la fausse alerte.
 

Il y a un bug dans la version 509 de ME. x1+3+3*abc devient x1*abc si vous appuyez sur "Remplacer tout" (lorsque vous remplacez x1+3 par x1) plutôt que de faire des remplacements individuels.

Non observé dans la nouvelle version 563.

 
Quand sera-t-il possible de tester les indicateurs dans le testeur de stratégie ?
 

Non, et pourtant je l'ai attrapé (le problème)... Bien que cela ne se manifeste pas toujours. (MT 563, ME 881)

J'ai ouvert un tout nouveau conseiller expert et écrit quelques lignes. J'ai fait une vidéo rapide. Notez les 2 premières lignes du 2ème paragraphe exactement là changer row3+3 na row3 est faux (avec d'autres variantes erreurs dans d'autres lignes). Curieusement, lorsque j'ai voulu commenter ces lignes pour plus de clarté, il n'y a eu aucun problème et la modification était correcte. J'ai découvert que si je place le curseur à la fin de la ligne avant d'essayer de "chercher-remplacer", tout change correctement. Mais dès que je place le curseur à la toute fin du code, l'erreur se reproduit. Eh bien, c'est un tour très étrange - c'est pourquoi la vidéo, sinon vous ne pourrez pas prouver et croire en vous :). Le format *.FLV n'est pas de qualité, c'est pourquoi dans l'application *.MP4 en archive zip.

Et le code lui-même :

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---

posY+row1+3+3*yBH;
posY+row1+3+3*yBH;
posY+row2+3+3*yBH;
posY+row2+3+3*yBH;
posY+row2+3+2*yBH;
posY+row2+3+2*yBH;

posY+row3+3+3*yBH; 
posY+row3+3+3*yBH;
posY+row3+3+2*yBH;
posY+row3+3+2*yBH;
posY+row3+3+4*yBH;
posY+row3+3+5*yBH;
posY+row3+3+6*yBH;
posY+row3+3+7*yBH;
   
  }


Dossiers :
frp_x264.zip  1693 kb