Erreurs, bugs, questions - page 1578

 
Messieurs, veuillez vérifier l'erreur que j'ai mentionnée https://www.mql5.com/ru/forum/1111/page1598#comment_2481097 ou peut-être est-ce mon ignorance qui donne ce résultat, l'erreur est détectée dans MT4 lors de l'exécution du script, merci.
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • avis : 1
  • www.mql5.com
Форум трейдеров
 
Allons-nous introduire une nouvelle fonction OnSignal() - Signal event handler - pour accéder aux événements générés par le service "Signals" dans le terminal lors de la copie des signaux? Nous aimerions avoir une image plus claire lors de la copie des signaux, notamment lorsque les volumes des positions sont corrigés ou que les positions sont fermées complètement/partiellement.
 

construire 1331. Erreur de compilation : la constante ne peut pas être modifiée

class A {
        const A *a;
        void f( const A *b ) { a = b; } //error:  constant cannot be modified
        A const *c; 
        void g( A const *d ) { c = d; } //error:  constant cannot be modified
};
 
-Aleks-:
Les gens, s'il vous plaît vérifier l'erreur que j'ai mentionné https://www.mql5.com/ru/forum/1111/page1598#comment_2481097 ou peut-être c'est mon ignorance qui donne ce résultat, l'erreur est détectée dans MT4 lors de l'exécution du script, merci.

Regardez la fonction PrintFormat(). Dans votre cas, il est préférable de l'utiliser.

Alors ça se passe comme ça :

string symbolName=_Symbol; // сюда можно добавить свой символ например: symbolName="EURUSD";
double ATR_D_1000=iATR(symbolName,1440,1000,1);
PrintFormat("symbolName=%s, ATR_D_1001=%0.4f",symbolName,ATR_D_1000);

Les règles de parcimonie :-)

 
Dennis Kirichenko:

Regardez la fonction PrintFormat(). Il est préférable de l'utiliser dans votre cas.

Alors ça se passe comme ça :

Merci. Bien que je ne comprenne pas quelle est la différence globale - entre l'impression de la variable et l'impression directe de la fonction, comme je l'ai souligné ci-dessus.

Mais je dois sauvegarder les données dans un fichier et j'obtiens des lignes vides... qu'est-ce qui ne va pas ?

FileWrite(handle,symbolName,":\t",MarketInfo(symbolName,MODE_SPREAD),":\t",MarketInfo(symbolName,MODE_MINLOT),":\t",MarketInfo(symbolName,MODE_MARGINREQUIRED)*MarketInfo(symbolName,MODE_MINLOT),":\t",(MarketInfo(symbolName,MODE_TICKVALUE)*MarketInfo(symbolName,MODE_MINLOT))*100,":\t",MarketInfo(symbolName,MODE_STOPLEVEL),":\t",str2,":\t",string (ATR_D_1000),":\t",string (ATR_M15_9600),":\t",string (iBars(symbolName,1440)),":\t",string (iBars(symbolName,15)),":\t");

 

Essayez d'écrire uniquement des variables de type chaîne dans le fichier.

C'est comme ça :

   string spread_str=IntegerToString(MarketInfo(symbolName,MODE_SPREAD));
 
A100:

construire 1331. Erreur de compilation : la constante ne peut pas être modifiée

Autant que je me souvienne, il n'y avait auparavant aucune différence entre ces entrées dans MQL. Quelque chose a changé ?
 
Комбинатор:
Autant que je me souvienne, il n'y avait aucune différence entre ces entrées dans MQL. Quelque chose a changé ?
Les entrées sont égales. Il s'agit d'une nouvelle erreur (tout a été compilé avant), pourquoi elle est apparue soudainement - je ne sais pas.
 

construire 1331. Erreur de compilation : erreur d'accès à un membre privé protégé

class A {
protected:
        int f;
};
class B : A {
public:
        int f() const { return this.f; }
};
class C {
        int g() { return b.f(); } //error:  private\protected member access error
        B *b;
};
 
Dennis Kirichenko:

Regardez la fonction PrintFormat(). Dans votre cas, il est préférable de l'utiliser.

Alors ça se passe comme ça :

Les règles de parcimonie :-)

J'ai essayé le code, j'ai eu des zéros

2016.05.12 00:41:43.336 Info_SymbolList AUDJPY,M15 : symbolName=AUDJPY, ATR_D_1001=0.0000