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

 
Vladimir Karputov:

Es mejor no confundirse y utilizar un solo enfoque: la clase comercialCSymbolInfo o las funciones del sistema como SymbolInfoXXXX.

Sí, gracias. También puedo aclarar.

¿Puede conducir a errores o es sólo una recomendación para la cultura de la codificación?

 
vladzeit:

Gracias. también puedo aclarar.

¿Puede esto conducir a errores o es sólo una recomendación para la cultura de la codificación?

Nadie prohíbe el uso de la vinagreta, PERO: ¿no te confundirás con los nombres de las variables a lo largo del tiempo, no recordarás si actualizaste o no los datos de la variable?

 
Vladimir Karputov:

Nadie prohíbe el uso de una viñeta, PERO: ¿no te confundirás con los nombres de las variables a lo largo del tiempo y recordarás si actualizaste o no los datos de la variable?

Gracias, ya veo)

 
Vladimir Karputov:

Si necesita comparar varias series temporales del mismo marco temporal, trabaje con un array de tipoMqlRates-> y utiliceCopyRates para llenar este array.

Es conveniente almacenar la hora en una estructuraMqlDateTime-> utilizarTimeToStruct para convertir la hora dedatetime a la estructuraMqlDateTime.

Ahora su ejemplo 1 se verá así:

Gracias por las respuestas ilustrativas. Pero hay preguntas...

1. ¿Qué hace? y : Sólo se ha encontrado :: contexto.

int count=(InpBarTime<10)?10:InpBarTime+1;

2. Qué elemento de entrada define la entrada [h] en MT4

//--- example 1
// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }
  
 
kopeyka2:

Gracias por las respuestas ilustrativas. Pero hay preguntas...

1. ¿Qué significa? y : Sólo se encuentra :: contexto

int count=(InpBarTime<10)?10:InpBarTime+1;

-->

Esta es una forma abreviada. De todos modos:

int count=0;
if(InpBarTime<10)
   count=10;
else
   count=InpBarTime+1;



2. Qué elemento de entrada define la entrada [h] en MT4

//--- example 1
// if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }

-->

Creo que InpBarTime. ¿Qué te parece?

 

¿Qué quieres decir? y : Sólo se encuentra :: contexto

int count=(InpBarTime<10)?10:InpBarTime+1;


https://www.mql5.com/ru/docs/basis/operators/ternary

este operador se ha puesto de moda últimamente, se utiliza cada vez más

Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
Документация по MQL5: Основы языка / Операторы / Условный оператор ?:
  • www.mql5.com
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
 
Vladimir Karputov:
kopeyka2:

Gracias por las respuestas ilustrativas. Pero hay preguntas...

1. ¿Qué significa? y : Sólo se encuentra :: contexto

-->

Esta es una forma abreviada. De todos modos:



2. Qué elemento de entrada define la entrada [h] en MT4

-->

Creo que InpBarTime. ¿Qué te parece?

No creo que en este momento, en el sentido habitual de ese estado.... Estoy BLONDING con un gato en la mano)))

Usted ha declarado globalmenteInpBarTime=3; Y en MT4 [h] es de aquí para allá generalmente en un bucle (para el límite ......)

#property script_show_inputs
//--- input parameters
int InpBarTime=3; // Bar where we compare the time
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()

Encontré el Indicador de Sesiones de Mercado Hay un diseño interesante allí.... Tratando de meter el resto del diálogo interno en mi cabeza...))))

Archivos adjuntos:
 
kopeyka2:

Apenas estoy pensando ahora, en el sentido habitual del término.... Soy rubia con una jota en la mano)))

Y escribiste globalmente así

Encontré el Indicador de Sesiones de Mercado Hay una construcción interesante allí.... Tratando de meter el resto del diálogo interno en mi cabeza...))))

Ah, lo siento, debería haberlo escrito así:

//--- input parameters
input int InpBarTime=3; // Bar where we compare the time
 
Fast528:

¿Qué quieres decir? y : Sólo se encuentra :: contexto


https://www.mql5.com/ru/docs/basis/operators/ternary

este operador se ha puesto de moda últimamente, cada vez más utilizado

¡¡¡BIEN!!!


¿Lo he entendido bien?

//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }
// А ЕСЛИ ПО ЦИКЛУ ?
int InpBarTime=10;
for(int a=0; a<=InpBarTime; a++) 
 {
//if(Period()<=PERIOD_H4 && TimeHour(Time[h])==0 && TimeMinute(Time[h])==0)
   MqlDateTime SDateTime;
   TimeToStruct(rates[InpBarTime].time,SDateTime); // Converts a value of datetime type into a structure variable MqlDateTime
   if(Period()<=PERIOD_H4 && SDateTime.hour==0 && SDateTime.min==0)
     {

     }
Запустив InpBarTime по циклу будем иметь цикл, но в структуре. Правильно?
 
kopeyka2:

¡¡¡BIEN!!!


¿Lo he hecho bien?

No lo has hecho bien. Te he dado un ejemplo de trabajo. Hazlo. Olvídate de la escritura al estilo MQL4. Empieza a estudiar el código y mira la ayuda.