Questions des débutants MQL5 MT5 MetaTrader 5 - page 1009

 
Aleksey Vyazmikin:

Cela dépend probablement de la méthode de modélisation des tiques...

C'est possible. Mais ce courtier a une qualité de cotation de 100% sur toutes les paires, à l'exception de l'EUR/USD(la paire la plus populaire). Si vous optimisez votre EA sur une telle qualité, vous êtes assuré d'échouer).

 
Aleksandr Prishenko:

Peut-être. Mais ce courtier a une qualité de cotation de 100% sur toutes les paires, à l'exception de l'EUR/USD(la paire la plus populaire). Si vous optimisez votre conseiller expert en utilisant une telle qualité, son échec est garanti).

Vous pouvez l'adapter à toutes les conditions, l'essentiel étant d'utiliser davantage de variables/indicateurs. Personne ne garantit la répétition de la séquence des mêmes prix que sur l'historique - c'est juste la probabilité sur laquelle le Conseiller Expert doit survivre...

 
Une transaction par barre ou par temps. Comment mettre en œuvre ?
 
Vladimir Baskakov:
Une transaction par barre ***

Dans OnTradeTransaction, nous attrapons la transaction TRADE_TRANSACTION_DEAL_ADD et déterminons le type de transaction. Si la transaction est DEAL_TYPE_BUY ou DEAL_TYPE_SELL, nous mémorisons l'heure d'ouverture actuelle du bar. Dans le bloc de génération du signal, nous comparons cette heure avec l'heure d'ouverture de la barre actuelle.

 
Vladimir Karputov:

Dans OnTradeTransaction, nous attrapons la transaction TRADE_TRANSACTION_DEAL_ADD et déterminons le type de transaction. Si la transaction est DEAL_TYPE_BUY ou DEAL_TYPE_SELL, nous mémorisons l'heure d'ouverture actuelle du bar. Dans le bloc de génération du signal, nous comparons cette heure avec l'heure d'ouverture de la barre actuelle.

if (day!=TimeDay(TimeCurrent()))
      {
      
      // проверяем условие открытия
          {
          //если условие подходит, открываем сделку — и изменяем флаг day
          day=TimeDay(TimeCurrent());
          }
 
Vladimir Baskakov:

"TimeDay" - cette fonction n'existe pas.

 
Vladimir Karputov:

"TimeDay" - cette fonction n'existe pas.

Excusez mon erreur, c'est ça ?
MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      
 

Vladimir Baskakov:
Пардон ошибся, а так?

MqlDateTime currTime=TimeToStruct(TimeCurrent());
   if (day!=currTime.day)
      {
      day=currTime.day);
      
      // открываем сделку
      

Cela fonctionnera comme "une affaire par jour".

 
Vladimir Karputov:

Cela fonctionnera comme "une affaire par jour".

Oh, c'est ça !

 
Bonjour.
Question : Comment calculer le nombre réel de barres de temps. En demandant Bars, iBars donne 01.01.1970 (si converti en date). De manière réaliste, la barre réelle sur l'écran est du 21.09.2019.
L'historique complet sur le graphique est de 25 semaines... (PERIOD_W1).

A quoi ressemble exactement la ligne de code de la requête, qu'est-ce qui s'affiche réellement à l'écran ? Comment procéder au rapprochement ? Merci.
Raison: