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

 
Tratando.
 
Nikita Chernyshov #:

El búfer no debe ser capturado por el color, sino por el valor.

Fíjate en lo que produce el búfer cuando cambia de color.

Es decir, digamos que hay dos buffers. Rojo y verde.

Envía estos dos búferes a través de Commen y rastrea lo que muestra el búfer cuando está "activo". Se trata de valores numéricos. Estos son los que interactúan con usted.

No des consejos que se ajustan a mql4 y no siempre se ajustan a mql5

 
Oleg Kolesov #:
Hola. ¿Cómo puedo obtener el índice de color en el Asesor Experto? (Para recibir una señal cuando un color cambia).

Por regla general, un indicador tiene primero un búfer de valor, seguido de un búfer de color.

   SetIndexBuffer(0, buffMACD, INDICATOR_DATA);           // Буфер данных
   SetIndexBuffer(1, colorBuff, INDICATOR_COLOR_INDEX);   // Буфер цвета
   SetIndexBuffer(2, buffSignal, INDICATOR_DATA);         // Буфер данных
   SetIndexBuffer(3, colorSignal, INDICATOR_COLOR_INDEX); // Буфер цвета

Luego se copian los valores del 1er o 3er búfer después de recibir la manija del indicador. Sólo puede haber valores enteros a partir de cero, 0 y más, dependiendo del número de colores definidos en el indicador. Todo lo que necesitas saber al programar el EA.

 

¿Puedes decirme cómo crear un objeto gráfico en MQL5 para evitar el error 4202?

He utilizado este código en MQL4:

   string Obj_Rectangle="Object"; 

   if(ObjectFind(0,Obj_Rectangle)==-1)                               
     {
      ObjectCreate(0,Obj_Rectangle,OBJ_RECTANGLE_LABEL,0,0,0);        
      ObjectSetInteger(0,Obj_Rectangle,OBJPROP_CORNER,0);
      ObjectSetInteger(0,Obj_Rectangle,OBJPROP_XDISTANCE,100);
      ObjectSetInteger(0,Obj_Rectangle,OBJPROP_YDISTANCE,100);
      ObjectSetInteger(0,Obj_Rectangle,OBJPROP_XSIZE,200);
      ObjectSetInteger(0,Obj_Rectangle,OBJPROP_YSIZE,150);
      ObjectSetInteger(0,Obj_Rectangle,OBJPROP_BGCOLOR,clrBlue);
     }
     
   Alert(_LastError);

Pero en MQL5 ObjectFind() devuelve el error 4202

 
leon_17 #:

¿Puedes decirme cómo crear un objeto gráfico en MQL5 para evitar el error 4202?

He utilizado este código en MQL4:

Pero en MQL5, ObjectFind() devuelve el error 4202

Si no se encuentra ningún objeto, es un error de búsqueda de objetos...

ERR_OBJECT_NOT_FOUND

4202

Objeto gráfico no encontrado


No lo alertes...

 
Alexei, gracias por querer ayudar. Tú también tienes el principio: al hambriento una caña, no un pez.
 
Alexey Viktorov #:

Si no se encuentra ningún objeto, este es el error de búsqueda de objetos...

ERR_OBJECT_NOT_FOUND

4202

Objeto gráfico no encontrado


No tienes que alertarlo...

Bueno, una vez me enseñaron que _LastError no debería devolver ningún error. E incluso parecía ser una exigencia del mercado. ¿Ya no es tan estricto?

Y también, por lo que entiendo, este error podría sobrescribir, algún otro error más importante en el código, ¿cómo lidiar con eso?

 
leon_17 #:

Bueno, una vez me enseñaron que _LastError no debería devolver ningún error. E incluso parecía ser una exigencia del mercado. ¿No es tan estricto ahora?

Y además, según tengo entendido, este error podría sobrescribir, algún otro error más importante en el código, ¿cómo solucionarlo?

La variable _LastError almacena el valor del último error ocurrido durante la ejecución del programa mql5.

Alguien te enseñó mal. La variable _LastError almacenará el valor obtenido hasta que se produzca el siguiente error.

Es un requisito del mercado que no se reciban errores de ejecución por parte del servidor del corredor. Leer documentación...

Документация по MQL5: Предопределенные переменные / _LastError
Документация по MQL5: Предопределенные переменные / _LastError
  • www.mql5.com
_LastError - Предопределенные переменные - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Oleg Kolesov #:
Alexei, gracias por querer ayudar. Tú también tienes el principio: al hambriento una caña, no un pez.
No sólo una caña de pescar, sino una explicación de dónde leer para resolver el problema. Si una persona quiere entender el problema, estoy dispuesto a dedicarle tiempo hasta que entienda mis palabras. Pero si te piden que lo hagas y yo uso esta plantilla para averiguarlo, entonces la persona no lo averiguará. Necesita que alguien lo haga, y entonces la hierba crece...
 
Estoy de acuerdo.
Razón de la queja: