Erreurs, bugs, questions - page 1778
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Erreur pendant l'exécution suite à la compilation
void OnStart()
{
Print( MACRO( "1\0" )); //равносильно Print( "\"1\\0\"" );
}
Résultat : 1
Attendu : "1\0".
2 erreurs : guillemets manquants " et caractère \ interprété de manière erronée.
et ensuite
{
Print( MACRO( 1\0 )); //Error: '\' - illegal escape sequence
}
Oui, mais vous ne pouvez pas expliquer cela aux clients, n'est-ce pas ?
Imaginez que l'expert fonctionne, il fonctionne, vous allez dormir, vous vous endormez, vous vous réveillez et l'expert ne fonctionne pas, pourquoi ?
Il est utile de redémarrer avec un court délai, comme ceci :
int count=5;
{while((err!=0)&&(count>0))
{
ResetLastError();
EventSetMillisecondTimer(MSTimerSet); //Установка таймера XXX миллисекунд
err=GetLastError();
Print("EventSetMillisecondTimer n=",count," err >>",err);
{if(err!=0){Sleep(50);}}
}}//while((err!=0)&&(count>0))
Il est utile de redémarrer avec un léger retard, en quelque sorte :
int count=5;
{while((err!=0)&&(count>0))
{
ResetLastError();
EventSetMillisecondTimer(MSTimerSet); //Установка таймера XXX миллисекунд
err=GetLastError();
Print("EventSetMillisecondTimer n=",count," err >>",err);
{if(err!=0){Sleep(50);}}
}}//while((err!=0)&&(count>0))
Erreur d'exécution
class A { public:
fn a;
};
class B : public A { public:
void a() { Print( __FUNCSIG__ ); }
};
void OnStart()
{
B b;
b.a();
}
Résultat : appel de pointeur de fonction invalide ; l'exécution de B::a() était attendue.
et ici -> erreur de compilation
class A { public:
fn a;
};
class B : public A { public:
void a() { Print( __FUNCSIG__ ); }
};
void OnStart()
{
B b;
b.a(); //Error: 'a' - wrong parameters count
}
MT4 saute les événements utilisateur dans les packs. Est-ce que c'est un bug ou une anomalie ?
Je viens de vérifier sur le tableau de bord - tout est ok, tous les événements fonctionnent bien.
Je viens de vérifier sur le tableau de bord - tout est OK, tous les événements fonctionnent normalement.
Rien de lourd ne tourne, un graphique est ouvert.
Que se passe-t-il avec MT4 ? Win 10 64, MT4 build 1031
le faire :
{
Print(MarketInfo (Symbol (), MODE_MARGININIT));
Print(MarketInfo (Symbol (), MODE_MARGINMAINTENANCE));
Print(MarketInfo (Symbol (), MODE_MARGINHEDGED));
Print(MarketInfo (Symbol (), MODE_MARGINREQUIRED));
Print(SymbolInfoDouble (Symbol (),SYMBOL_MARGIN_INITIAL));
}
Voici les valeurs obtenues auprès de 2 courtiers :
2017.01.31 22:15:59.312 Script MarginReq AUDCHF,M15 : retiré
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : raison de désinit 0
2017.01.31 22:15:59310 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 1000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:15:59.309 MarginReq AUDCHF,M15 : initialisé
2017.01.31 22:15:59.300 MarginReq AUDCHF,M15 entrées : Input1=0 ;
2017.01.31 22:15:57.899 Script MarginReq AUDCHF,M15 : chargé avec succès
2017.01.01.31 22:13:38.077 Script MarginReq AUDCHF,M15 : retiré
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : raison de désinit 0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 1000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : initialisé
2017.01.01.31 22:13:38.066 MarginReq AUDCHF,M15 entrées : Input1=0 ;
2017.01.31 22:13:36.806 Script MarginReq AUDCHF,M15 : chargé correctement
Je n'arrive pas à obtenir une valeur adéquate de la marge requise pour ouvrir une position. J'obtiens la même valeur pour tous les symboles, différents courtiers ont des valeurs différentes, l'un affiche 0.0 pour tous les symboles, un autre affiche 100000.0.
Que se passe-t-il avec MT4 ? Win 10 64, MT4 build 1031
le faire :
{
Print(MarketInfo (Symbol (), MODE_MARGININIT));
Print(MarketInfo (Symbol (), MODE_MARGINMAINTENANCE));
Print(MarketInfo (Symbol (), MODE_MARGINHEDGED));
Print(MarketInfo (Symbol (), MODE_MARGINREQUIRED));
Print(SymbolInfoDouble (Symbol (),SYMBOL_MARGIN_INITIAL));
}
Voici les valeurs obtenues auprès de 2 courtiers :
2017.01.31 22:15:59.312 Script MarginReq AUDCHF,M15 : retiré
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : raison de désinit 0
2017.01.31 22:15:59310 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 1000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:15:59.310 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:15:59.309 MarginReq AUDCHF,M15 : initialisé
2017.01.31 22:15:59.300 MarginReq AUDCHF,M15 entrées : Input1=0 ;
2017.01.31 22:15:57.899 Script MarginReq AUDCHF,M15 : chargé avec succès
2017.01.01.31 22:13:38.077 Script MarginReq AUDCHF,M15 : retiré
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : raison de désinit 0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 1000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 0.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : 100000.0
2017.01.31 22:13:38.075 MarginReq AUDCHF,M15 : initialisé
2017.01.01.31 22:13:38.066 MarginReq AUDCHF,M15 entrées : Input1=0 ;
2017.01.31 22:13:36.806 Script MarginReq AUDCHF,M15 : chargé correctement
essayez
Contrôle de la marge libre du compte
Essayez
Contrôle de la marge libre du compte
Et j'ai compris pourquoi. Pour que toutes ces fonctions fonctionnent correctement, vous devez avoir les symboles appropriés ouverts pour le calcul dans l'aperçu du marché. Dans MT5, cela se fait automatiquement (en mode arrière-plan), et dans MT4, vous devez ouvrir les symboles explicitement dans la revue de marché.
Je suis curieux, comment fonctionnent vos EAs qui sont sur le marché ?
Je n'ai pas trouvé d'informations sur ce sujet dans l'aide.
PS. Print(MarketInfo(Symbol (), MODE_MARGINREQUIRED)) ; ceci nous donnera ce dont nous avons besoin. Mais vous devrez essayer de le faire plusieurs fois.