Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 364

 

¿Es posible hacer una tabla en MT4 con una estructura como en Excel (+ y - colapsa y despliega los datos)? Si es así, ¿dónde puedo leer sobre ello?


 

¡Hola a todos! Estoy aprendiendo los códigos. Hay un error y no sé cómo solucionarlo.


int CountTrades(int type, int magic)

{

int count=0;

for(int i=TotalPedidos()-1;i>=0;i-)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

{

if(OrderSymbol()==Symbol() && (OrderType()==type||type==-1) &&

(OrderMagicNumber()==magic||magic==-1))

cuenta++;

}

}

devolver (contar);


He resaltado lo que falta.


Los errores son los siguientes:

Operando "-" esperado

")" - token inesperado

"i" - identificador no declarado


Es como si no le gustara que pusiera menos después de i en el primer error. ¿Tal vez debería ponerle un guión de alguna manera?

Lo hice todo letra por letra con el tutorial - pero el código no compila.

Necesito tu ayuda.

 
Falx:

¡Hola a todos! Estoy aprendiendo los códigos. Hay un error, no se sabe cómo solucionarlo.

Dos puntos negativos y ningún corchete para cerrar la función.
 
Aleksey Vyazmikin:
Dos puntos negativos y ningún paréntesis para cerrar la función.

¡Muchas gracias! ¡Todo arreglado! ¡Funciona!

 

Tuve que comparar las dos fechas por horas, lo hice de esta manera:

string TimeCompare = StringSubstr(TimeToString(MyLastNewsTime[i],TIME_DATE|TIME_MINUTES),0,13);
string TimeCompare1 = StringSubstr(TimeToString(MyLastNewsTime1[i],TIME_DATE|TIME_MINUTES),0,13);
if(TimeCompare != TimeCompare1)
...

Funcionó, pero tal vez no sea la forma más correcta. ¿Qué dicen los programadores?

 
Nauris Zukas:

Tuve que comparar las dos fechas por horas, lo hice de esta manera:

Funcionó, pero tal vez no sea la forma más correcta. ¿Qué dicen los programadores?


if(TimeHour(MyLastNewsTime[i])!=TimeHour(MyLastNewsTime1[i]))
 {
 }
 
Nikolay Ivanov:

Tal vez no lo he explicado correctamente, pero necesitas encontrar dos fechas con la hora exacta (los minutos y los segundos no son importantes). Sólo tienes una comparación por horas.

 
Nauris Zukas:

Quizás no lo he explicado bien, pero hay que encontrar dos fechas con la hora exacta (los minutos y los segundos no son importantes).


¿necesita encontrar fechas, o comparar la hora de 2 fechas?

 
Nikolay Ivanov:

¿encontrar fechas, o comparar la hora de 2 fechas?

Es necesario encontrar las fechas hasta la hora exacta (los minutos y los segundos no son importantes).

 
Nikolay Ivanov:

¿tiene que encontrar las fechas, o comparar la hora de 2 fechas?

¿Funcionaría mejor CopyTime?

Por aquí.

int  CopyTime(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период PERIOD_H1
   datetime         start_time,      // с какой даты
   int              count,           // сколько копируем 1
   datetime         time_array[]     // массив для копирования времени открытия
   );

Traducir el tiempo en una cadena y compararlo no es una buena opción.

CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
CopyTime - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Функция получает в массив time_array исторические данные времени открытия баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...