Erreurs, bugs, questions - page 1634

 
fxsaber:
J'aimerais voir dans Tester->Réglages l'option "Supprimer les journaux précédents après le démarrage". Il est fatiguant de cliquer à chaque fois sur "Supprimer les journaux" dans Testeur->Journal. Évidemment, les journaux des backtests précédents peuvent être utiles dans de rares cas. La plupart du temps, ils ne sont pas nécessaires. Par conséquent, l'option permettant de supprimer automatiquement les anciens journaux serait utile à la fois pour des raisons de commodité et pour économiser de l'espace sur le disque dur/SDD.
C'est vrai."Peut s'avérer utile dans de rares cas"
 
fxsaber:
Comment puis-je savoir si le mode couverture est activé/désactivé sur le compte/testeur ? Il n'y a aucune mention de cela dans l'aide hors ligne.

Passez votre souris sur le compte dans le navigateur. Vous pouvez le voir dans l'infobulle du compte.

Lorsque vous vous connectez au compte, le journal du terminal indique "compensation ou couverture".

 

Précédemment sur l'application #1534780 à propos de l'appel principal du constructeur où le résultat du code joint était

2016.08.10 16:39:26.982 Test (GBPUSD,M15) void A::~A():12855
2016.08.10 16:39:26.982 Test (GBPUSD,M15) OnDeinit:3
2016.08.10 16:39:26.975 Test (GBPUSD,M4) void A::A():17233
2016.08.10 16:39:15.587 Test (GBPUSD,M15) void A::A():12855

la réponse (*) était la suivante :

Équipe de soutien 2016.08.11 13:35

Il n'y a pas d'appel principal, lorsque vous changez d'horizon temporel, un nouvel indicateur est créé (cloné), puis le précédent est supprimé.


Si c'est le cas, l'exemple suivant montre un appel de constructeur retardé

Séquence d'actions :

  1. Ouvrir un nouveau graphique de GBPUSD,M15
  2. Changez la période de temps en H1
  3. Attachez l'indicateur Test.ex5 au graphique.
  4. Changez la période du graphique en M15

Résultat :

2016.08.11 15:51:51.188 Test (GBPUSD,M15) void A::A():17936
2016.08.11 15:51:50.932 Test (GBPUSD,H1) void A::~A():12285
2016.08.08.11 15:51:50.931 Test (GBPUSD,H1) OnDeinit:3
2016.08.11 15:51:39.421 Test (GBPUSD,H1) void A::A():12285

il devrait être (voir *) - la ligne soulignée devrait venir en 2ème position (dans le temps), pas en dernière position

//Test.mq5
class A { public:
        A() : a( MathRand()) { Print( __FUNCSIG__, ":", a ); }
        virtual ~A()         { Print( __FUNCSIG__, ":", a ); }
        int a;
};
static A a;
void OnInit() {}
void OnDeinit( const int reason ) { Print( __FUNCTION__, ":", reason ); }
int OnCalculate( const int rates_total, const int, const int, const double& [] ) { return rates_total; }
 

Lecalcul de l'indicateur s'effectue dans un fil de discussion séparé sur les symboles, la définition de la période du graphique et la création d'un clone s'effectuent dans un fil de discussion sur l'interface graphique.

C'est pourquoi une situation peut se produire lorsqu'un nouvel indicateur est calculé avant que le précédent ne soit supprimé et vice versa.

Opération de flux de caractères (abstrait)

  1. Action 1
  2. action n°2
  3. action n°4
  4. action 5 - vérifier et supprimer les indicateurs non utilisés
  5. action n° 6
  6. action #N
  7. passez à l'étape 1 si le flux n'est pas arrêté

La séquence d'initialisation d'un nouvel indicateur et de suppression de l'ancien dépend du point où se trouvait le flux de symboles.

 
Slawa:
C'est vrai."peut s'avérer utile en de rares occasions".
Il est donc logique de ne pas écrire des gigaoctets lorsque l'utilisateur le demande spécifiquement. Vous devez les nettoyer manuellement de toute façon.
 
Slawa:

Passez votre souris sur le billet dans le navigateur. Vous verrez l'infobulle du compte.

Après la connexion au compte, le journal du terminal indique la compensation ou la couverture.

Comment ?
 
fxsaber:
De manière programmatique, comment ?
ENUM_ACCOUNT_MARGIN_MODE margin_mode=(ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE);
bool is_hedging=(margin_mode==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING);
 
fxsaber:
Comment puis-je savoir si le mode couverture est activé/désactivé sur le compte/testeur ? L'aide hors ligne n'en dit pas un mot.

Référence MQL5 - Constantes, énumérations et structures standard - Environment State - Account Information - ENUM_ACCOUNT_MARGIN_MODE

Manuel de référence MQL5 - Information sur les comptes - AccountInfoInteger - ENUM_ACCOUNT_INFO_INTEGER - ENUM_ACCOUNT_MARGIN_MODE

MQL5\Include\Trade.mqh - CTrade::IsHedging

 
Slawa:

Référence MQL5 - Constantes, énumérations et structures standard - Environment State - Account Information - ENUM_ACCOUNT_MARGIN_MODE

Manuel de référence MQL5 - AccountInfoInteger - ENUM_ACCOUNT_INFO_INTEGER - ENUM_ACCOUNT_MARGIN_MODE

MQL5\Include\Trade.mqh - CTrade::IsHedging

Merci ! Désolé, j'ai cherché par le mot "couverture".
 

Le compilateur semble être "tavo".

void OnStart()
{  
  int i = 0; // Почему нет warning?: variable 'i' not used
}