Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 904

 
Podrían decirme a qué puede deberse el error al depurar con datos reales: "el símbolo especificado no está seleccionado".
Gracias.
MT5
 
IlyaDemidenko:
Por favor, indique cuál puede ser la razón del error de depuración con datos reales: "el símbolo especificado no está seleccionado".
Gracias.
MT5

Antes de realizar la prueba (antes de ejecutar una prueba desde el MetaEditor) ve a la configuración del MetaEditor y mira la pestaña "Depuración". En esta pestaña puede ver el símbolo que se utilizará para las pruebas:

Ahora abra el terminal y compruebe si el símbolo seleccionado está en la ventana "Market Watch".


 
Vladimir Karputov:

Antes de realizar la prueba (antes de ejecutar una prueba desde el MetaEditor) ve a la configuración del MetaEditor y mira la pestaña "Depuración". En esta pestaña puede ver el símbolo que se utilizará para las pruebas:

Ahora abra el terminal y compruebe si el símbolo seleccionado está en la ventana "Market Watch".

Muchas gracias )
Proceso iniciado ))

 
Hola. El precio a las 17:30 horas del último día. ¿Cómo puedo averiguarlo? Es decir, el precio de cierre de cualquier bar a las 17:30 horas.
 
bij:
Hola. El precio a las 17:30 del pasado día. ¿Cómo saberlo? Es decir, el precio de cierre de cualquier bar a las 17:30 horas.

LeerCopyOpen(segunda forma de invocación).

 
Vladimir Karputov:

LeerCopyOpen(segunda forma de invocación).

Gracias, no entendía como poner la hora excepto 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:

Gracias, no me había dado cuenta de cómo ajustar la hora.

Acabo de hacer un guión rápido:

//+------------------------------------------------------------------+
//|                                                  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 ? "Вчера" : "Позавчера");
  }
//+------------------------------------------------------------------+

El registro mostrará el día seleccionado, su fecha y hora después del lanzamiento.

 
Artyom Trishkin:

Acabo de hacer un guión rápido:

El registro mostrará el día seleccionado, su fecha y la hora después del inicio.

Gracias, quiero poner una línea en el indicador en la historia al precio a las 17:30, todos los días. ¿Cómo se fija cada día? No escribir todas las fechas, sino sólo la hora 17:30

Así es como pongo la línea del precio de cierre del día, todos los días.

 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:

Gracias, quiero poner una línea en el indicador en la historia al precio a las 17:30, todos los días. ¿Cómo se fija cada día?

Así es como lo pongo al precio de cierre del día, todos los días.

Si la fecha pasada (año, mes, día) no es igual a la fecha actual, y la hora y los minutos son iguales a los establecidos, entonces ponga una línea.

O: Si la fecha anterior (año, mes, día) es igual a la fecha actual, o la hora y los minutos no son iguales a los establecidos, entonces continúe;

En cualquier caso, habrá saltos - no todas las barras del marco temporal seleccionado tienen el tiempo establecido.

 
Artyom Trishkin:

Si la fecha pasada (año, mes, día) no es igual a la fecha actual, y la hora y los minutos son iguales a los especificados...

if(iTime(NULL,PERIOD_D1,i+1)!=iTime(NULL,PERIOD_D1,i)&& ¿Aquí cómo se escribe? )