Une question pour les experts MQL - page 17

 

Qui vous a dit que c'était une erreur ?

La capture d'écran montre clairement que votre conseiller expert utilise la fonction ErrorDescription avec le type de chaîne de caractères suivante

Il n'y a pas d'erreur. La nouvelle version vient d'ajouter une fonctionnalité pratique - vous pouvez maintenant voir quelles fonctions sont utilisées par l'EA à partir de la dll et des bibliothèques.

 
Rita:

Les deux dossiers (Incloud et Libraries) contiennent des sources stdlib. Juste au cas où, j'ai ajouté-copié depuis le dossier Incloud.

Mais l'erreur décrite ci-dessus est toujours affichée dans l'onglet "dépendances". Peut-être changer d'une manière ou d'une autre l'appel de ces fonctions : Au lieu de :

Régler l'appel d'une autre manière ?

Ou sera-t-il impossible d'utiliser les fonctions de I.Kim dans la dernière version de mt4 maintenant ?


1) Ouvrir le fichier stdlib.mq4 dans le dossier Libraries

2) le compiler

3) devrait fonctionner sans erreur

 

Merci à tous pour vos réponses et recommandations. Une autre petite question.

Si j'ai bien compris - les noms des variables globales sont maintenant surlignés en rouge dans le code. Cependant, dans mon code, il y a des noms composites, dont certains coïncident avec les noms globaux. Et cette partie correspondante, pour une raison quelconque, est également surlignée en rouge !

Peut-il avoir un impact négatif sur le fonctionnement de l'EA ? Ou bien il n'y a rien de mal à une telle mise en évidence partielle ?

 
Rita:

Merci à tous pour vos réponses et recommandations. Une autre petite question.

Si j'ai bien compris - les noms des variables globales sont maintenant surlignés en rouge dans le code. Cependant, dans mon code, il y a des noms composites, dont certains coïncident avec les noms globaux. Et cette partie correspondante, pour une raison quelconque, est également surlignée en rouge !

Peut-il avoir un impact négatif sur le fonctionnement de l'EA ? Ou bien il n'y a rien de mal à une telle mise en évidence partielle ?


Il n'y a rien d'anormal, mais vous devriez contacter le ServiceDesk et leur demander de le réparer.
 
Je n'ai pas entendu parler d'un tel service. Veuillez me donner un lien.
 
Rita:
Je n'ai pas entendu parler d'un tel service. Veuillez me donner un lien.

Vous devez vous inscrire sur le forum mql5.com, il y aura un lien dans votre profil.
 
La langue russe est éclairée en rouge et ce que vous avez globalement est éclairé un peu différemment, pas de problème pour vous .....
 

Bonjour !

Après la mise à jour de MT4, l'indicateur qui fonctionnait normalement auparavant a cessé de tracer sa ligne. Et il s'est avéré que le code de l'indicateur affecte fortement le travail du processeur sur les anciennes versions de MT4 avec un méta-éditeur mis à jour de force. Mais nous en reparlerons plus tard.

Après la mise à jour, lorsque j'installe l'indicateur sur le graphique, la ligne est tracée de façon irrégulière et incorrecte (basée sur la différence de prix de clôture de 2 symboles spécifiés). Lorsque l'on change de cadre temporel, la ligne disparaît complètement (fenêtre vide), et l'inscription dans le journal apparaît :

et après plusieurs changements d'horizons temporels (ou le redémarrage de mt4) l'indicateur disparaît complètement du graphique :

2014.02.25 10:22:38.640 Indicateur personnalisé Spread-I-env #GCJ4,M30 : supprimé

Quelle en est la raison ? Quelle est cette étrange erreur :

2014.02.25 10:21:07.437Violation d'accès en lecture à 0x000003E5 dans 'C:\Program Files\InstaTrader\MQL4\indicators\Spread-I-env- mod1.ex4'

 

Bonjour !

Pouvez-vous me dire comment trouver la couleur de fond du graphique dans les nouvelles constructions?

Dans les anciens, je l'ai trouvé comme ça :

#import "user32.dll"

int GetWindowDC(int h) ;

int ReleaseDC(int h, int hDC) ;

bool GetWindowRect(int h, int& pos[4]) ;

#import

#import "gdi32.dll"

int GetPixel(int hDC, int x, int y) ;

#import

//+------------------------------------------------------------------+

//| fonction de démarrage du programme de script |

//+------------------------------------------------------------------+

void start()

{

int col = getBackgroundColor() ;

si (col==-1) MessageBox("Aucun coin de la fenêtre n'est visible.") ;

else MessageBox("Couleur de fond : " + col) ;

}

//+------------------------------------------------------------------+

int getBackgroundColor()

{

int h = WindowHandle(Symbol(), Period()) ;

int hDC = GetWindowDC(h) ;

int col = GetPixel(hDC, 2, 2) ;

si(col==-1) {

// le coin supérieur gauche n'est pas visible

int rect[4] ;

GetWindowRect(h, rect) ;

int wW = rect[2] - rect[0] ; // largeur de la fenêtre

int wH = rect[3] - rect[1] ; // hauteur de la fenêtre

col = GetPixel(hDC, wW-3, wH-3) ; // coin inférieur droit

if(col==-1) col = GetPixel(hDC, 2, wH-3) ; // BOW

if(col==-1) col = GetPixel(hDC, wW-3, 2) ; // LNT

}

ReleaseDC(h, hDC) ;

retour(col) ;

}

Ne fonctionne pas dans les nouveaux !

 

Merci, cela clarifie la question. Je l'ai compris moi-même !

Couleur Couleur = ChartGetInteger( 0, CHART_COLOR_BACKGROUND, 0 ) ;