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

 
Pourriez-vous me dire à quoi pourrait être due cette erreur lors du débogage avec des données réelles : "le symbole spécifié n'est pas sélectionné".
Merci !
MT5
 
IlyaDemidenko:
Veuillez m'indiquer quelle peut être la raison de l'erreur de débogage avec des données réelles : "le symbole spécifié n'est pas sélectionné".
Merci !
MT5

Avant de tester (avant de lancer un test à partir du MetaEditor), allez dans les paramètres du MetaEditor et regardez l'onglet "Debug". Dans cet onglet, vous pouvez voir le symbole qui sera utilisé pour les tests :

Ouvrez maintenant le terminal et vérifiez si le symbole sélectionné figure dans la fenêtre "Market Watch".


 
Vladimir Karputov:

Avant de tester (avant de lancer un test à partir du MetaEditor), allez dans les paramètres du MetaEditor et regardez l'onglet "Debug". Dans cet onglet, vous pouvez voir le symbole qui sera utilisé pour les tests :

Ouvrez maintenant le terminal et vérifiez si le symbole sélectionné est dans la fenêtre "Market Watch" ?

Merci beaucoup.)
Le processus a démarré ;)

 
Bonjour. Le prix à 17h30 le dernier jour. Comment puis-je le savoir ? C'est-à-dire le prix de clôture de n'importe quel bar à 17h30.
 
bij:
Bonjour. Le prix à 17h30 le dernier jour. Comment le savoir ? C'est-à-dire le prix de clôture de n'importe quel bar à 17h30.

LireCopyOpen(deuxième forme d'invocation).

 
Vladimir Karputov:

LireCopyOpen(deuxième forme d'invocation).

Merci, je n'ai pas compris comment régler l'heure sauf time=D'2018.07.26 17:30' ;

        time=???;      //Как сюда передать 17:30 прошлого дня?
        int barIndex = iBarShift(NULL,PERIOD_M1, time);        // Определение индекса бара, соответствующего времени time
        double openPrice = CopyOpen(NULL, PERIOD_M1, barIndex);// Определение Bid цены открытия бара barIndex
 
bij:

Merci, je n'avais pas réalisé comment régler l'heure.

J'ai juste fait un script rapide :

//+------------------------------------------------------------------+
//|                                                  TestOpenDay.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                             https://mql5.com/ru/users/artmedia70 |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://mql5.com/ru/users/artmedia70"
#property version   "1.00"
#property script_show_inputs
//--- enums
enum ENUM_DAY
  {
   DAY_CURRENT,            // Сегодня
   DAY_YESTERDAY,          // Вчера
   DAY_BEFORE_YESTERDAY    // Позавчера
  };
//--- input parameters
input ENUM_DAY InpDay      =  DAY_YESTERDAY; // День:
input uint     InpHours    =  17;            // Часы
input uint     InpMinutes  =  30;            // Минуты
//--- global variables
datetime day;
int      day_shift;
int      hours;
int      minutes;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   hours=int(InpHours> 23 ? 23 : InpHours);
   minutes=int(InpMinutes>59 ? 59 : InpMinutes);
   day_shift=(int)InpDay;
   day=iTime(NULL,PERIOD_D1,day_shift);
   Print("Сегодня: ",TimeToString(TimeCurrent(),TIME_DATE),", день: ",InputDayToString(),", дата/время: ",TimeToString(GetTime(day)));
//---
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime GetTime(const datetime time)
  {
   MqlDateTime tm;
   if(!TimeToStruct(time,tm))
      return 0;
   tm.hour=hours;
   tm.min=minutes;   
   return StructToTime(tm);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string InputDayToString(void)
  {
   return(InpDay==DAY_CURRENT? "Сегодня" : InpDay==DAY_YESTERDAY ? "Вчера" : "Позавчера");
  }
//+------------------------------------------------------------------+

Le journal indiquera le jour sélectionné, sa date et son heure après le lancement.

 
Artyom Trishkin:

J'ai juste fait un script rapide :

Le journal indique le jour sélectionné, sa date et son heure après le démarrage.

Merci, je veux mettre une ligne dans l'indicateur dans l'historique au prix à 17:30, tous les jours. Comment puis-je régler chaque jour ? Ne pas écrire toutes les dates, mais seulement l'heure 17:30

C'est ainsi que je place la ligne sur le prix de clôture du jour, tous les jours.

 if(!TrendCreate(0,"close"+time[i],0,iTime(NULL,PERIOD_D1,i+1),iClose(NULL,PERIOD_D1,i+1),iTime(NULL,PERIOD_D1,i),0,clrLime,STYLE_SOLID,2,false,false,false,false,0))
        {
         continue;
        }
 
bij:

Merci, je veux mettre une ligne dans l'indicateur dans l'historique au prix à 17:30, tous les jours. Comment puis-je régler chaque jour ?

C'est ainsi que je le règle sur le prix de clôture du jour, tous les jours.

Si la date passée (année, mois, jour) n'est pas égale à la date actuelle, et que l'heure et la minute sont égales à celles définies, alors mettez une ligne.

Ou : Si la date précédente (année, mois, jour) est égale à la date actuelle, ou si l'heure et la minute ne sont pas égales à celles définies, alors continuez ;

Dans tous les cas, il y aura des sauts - toutes les barres de la période sélectionnée n'ont pas le temps défini.

 
Artyom Trishkin:

Si la date passée (année, mois, jour) n'est pas égale à la date actuelle, et que l'heure et la minute sont égales à celles spécifiées...

if(iTime(NULL,PERIOD_D1,i+1)!=iTime(NULL,PERIOD_D1,i)&& ici comment écrire ? )

Raison: