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

 
progeon:
¿Puedes decirme cómo mostrar una matriz bidimensional como una constante, es decir, establecer todos los parámetros manualmente?
double Variable[][3]={{1, 2, 3},{ 4, 5, 6},{7, 8, 9}};

https://www.mql5.com/ru/articles/567

Основы программирования на MQL5 - Массивы
Основы программирования на MQL5 - Массивы
  • 2012.11.03
  • Dmitry Fedoseev
  • www.mql5.com
Наряду с переменными и функциями, массивы являются практически неотъемлемой частью любого языка программирования. Статья должна быть интересна в первую очередь новичкам, приступившим к изучению программирования на MQL5. Опытным программистам представляется хорошая возможность подытожить, обобщить и систематизировать свои знания.
 

¿Pueden decirme cómo configurar la negociación en un día determinado a una hora determinada?

He buscado en el foro y he leído los fundamentos de la programación en MQL5 - Tiempo, pero todavía no entiendo cómo encajar todo en el algoritmo?

Por ejemplo, necesito abrir una posición el miércoles después de la primera vela de las 4.

Todo lo que se refiere a la negociación en un día determinado lo tomo de mi artículo:

input bool Sunday   =true; // Воскресенье
input bool Monday   =true; // Понедельник
input bool Tuesday  =true; // Вторник 
input bool Wednesday=true; // Среда
input bool Thursday =true; // Четверг
input bool Friday   =true; // Пятница
input bool Saturday =true; // Суббота

bool WeekDays[7];
void WeekDays_Init()
  {
   WeekDays[0]=Sunday;
   WeekDays[1]=Monday;
   WeekDays[2]=Tuesday;
   WeekDays[3]=Wednesday;
   WeekDays[4]=Thursday;
   WeekDays[5]=Friday;
   WeekDays[6]=Saturday;
  }
bool WeekDays_Check(datetime aTime)
  {
   MqlDateTime stm;
   TimeToStruct(aTime,stm);
   return(WeekDays[stm.day_of_week]);
  }

¿Cómo lo aplico? Trato de añadir la llamada de la función en OnTimer() y poner una condición que si WeekDays_Check(3)==true y el tiempo desde el comienzo del miércoles en segundos>14300 && segundos <14800, entonces el comercio se abrirá.

void OnTimer()
  {
   S_Time=TimeCurrent();
   if(WeekDays_Check(3)==true)
     {
      Print("Среда");
      long seconds=S_Time%86400;
      if (seconds>14300 && seconds <14800)
      {
      double Open_1=S_Open(NULL,PERIOD_CURRENT,1);
      double Close_1=S_Close(NULL,PERIOD_CURRENT,1);
      double High_1=S_High(NULL,PERIOD_CURRENT,1);
      double Low_1=S_Low(NULL,PERIOD_CURRENT,1);
      bool S_CriBuy=0,S_CriSell=0;
      double S_Lot;
      S_CriBuy=S_TailBar_Buy(Open_1,Close_1,High_1,Low_1);
      S_CriSell=S_TailBar_Sell(Open_1,Close_1,High_1,Low_1);
      Print("Прошлый бар",High_1);
      if(S_CriBuy==1)
        {
         double S_Price=Low_1;
         double S_SL=Low_1+SL*Point();
         double S_TP=Low_1-TP*Point();
         S_Lot=countLot(Lot,HandLot);
         S_Trade.SellStop(S_Lot,S_Price,NULL,S_SL,S_TP);
        }
      if(S_CriSell==1)
        {
         double S_Price=High_1;
         double S_SL=High_1-SL*Point();
         double S_TP=High_1+TP*Point();
         S_Lot=countLot(Lot,HandLot);
         S_Trade.BuyStop(S_Lot,S_Price,NULL,S_SL,S_TP);
        }
        }
     }
  }

No funciona así( Se abre en cualquier día. ¿Explicar cómo hacer una operación en un día específico por lo menos?

Gracias de antemano. Si el código es infantil - lo siento, acabo de aprender)

 
DenisSavenko:

¿Pueden decirme cómo configurar la negociación en un día determinado a una hora determinada?

He buscado en el foro y he leído los fundamentos de la programación en MQL5 - Tiempo, pero todavía no entiendo cómo encajar todo en el algoritmo?

Por ejemplo, necesito abrir una operación el miércoles después de la primera vela de las 4.

Todo lo que se refiere a la negociación en un día determinado lo tomo de mi artículo:

¿Cómo lo aplico? Trato de añadir la llamada de la función en OnTimer() y poner una condición que si WeekDays_Check(3)==true y el tiempo desde el comienzo del miércoles en segundos>14300 && segundos <14800, entonces el comercio se abrirá.

No funciona así( Se abre en cualquier día. ¿Explicar cómo hacer una operación en un día específico por lo menos?

Gracias de antemano. Si el código es infantil - lo siento, acabo de aprender)

M.B.
   if(WeekDays_Check(TimeCurrent())==true)
?
 
uncleVic:
Tal vez.
?

Sí, ha funcionado. Muchas gracias. Por supuesto, todavía hay algunos errores en los desfases de los días, pero eso ya es mi parte del problema del código, pero tal como está, todo funciona. Si pones falso en días innecesarios, en verdad el comercio va - eso es lo que se necesita.

Gracias de nuevo

 
Volví a registrarme en Insta Trader conecté una cuenta real, en MQ5 me inscribí en una señal en /**/ la suscripción fue exitosa, luego abrí Insta Trader y entré en la configuración del sistema para habilitar la señal pero Atam escribe señal no está conectada, ¿cómo conecto la señal y la ejecuto en el trabajo con dinero real [Cuenta de trading #5216372].
 
752360:
Me volví a registrar en Insta Trader conecté una cuenta real, me inscribí en la señal en MQ5 / ***/ la suscripción fue exitosa, luego abrí Insta Trader y fui a la configuración del sistema para habilitar la señal pero Atam escribe la señal no está conectada, ¿cómo puedo conectar la señal y ponerla en efecto con dinero real [Cuenta de operaciones #5216372].
Lo mismo que con el dinero irreal, es decir, entrar en tu cuenta real y registrarte en la señal.
 
dónde entrar exactamente
 
752360:
dónde entrar exactamente

En la terminal de comercio.

Suscribirse a una señal

 

Hola.

¿Podría decirme cómo establecer la fecha de vencimiento de la orden pendiente (EXPIRATION) en la clase CTrade? He intentado añadir esta posición al enviar CTrade.SellStop(Lot,Price,NULL,SL,TP,expiration); siempre dice "no se puede convertir el enum". Lo único que he encontrado en la documentación de CTrade es cómo averiguar el tiempo de vida de la orden pendiente RequestExpiration, pero no sé cómo establecerlo.

¿Puede CTrade fijar la hora de vencimiento? ¿O tal vez sea necesario utilizar la solicitud completa MqlTradeRequest a través de OrderSend()? Los artículos de todos los artículos apuntan a CTrade.

 
DenisSavenko:

Hola.

¿Podría decirme cómo establecer la fecha de vencimiento de la orden pendiente (EXPIRATION) en la clase CTrade? He intentado añadir esta posición al enviar CTrade.SellStop(Lot,Price,NULL,SL,TP,expiration); siempre dice "no se puede convertir el enum". Lo único que he encontrado en la documentación de CTrade es cómo averiguar el tiempo de vida de la orden pendiente RequestExpiration, pero no sé cómo establecerlo.

¿Puede CTrade fijar la hora de vencimiento? ¿O tal vez sea necesario utilizar la solicitud completa MqlTradeRequest a través de OrderSend()? Los artículos de todos los artículos apuntan a CTrade.

   bool              SellStop(const double volume,const double price,const string symbol=NULL,const double sl=0.0,const double tp=0.0,
                              const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,const datetime expiration=0,const string comment="");
parámetros perdidos