Preguntas de un "tonto" - página 97

 
Alfff:

Hola.

¿Podría decirme cómo establecer una línea vertical en un gráfico en un punto determinado?

Gracias.

Referencia MQL5 / Objetos Gráficos

MQL5 Reference / Graphic Objects / ObjectCreate

MQL5Reference / Constantes, enumeraciones y estructuras estándar / Constantes de objeto / Tipos de objeto

MQL5Reference / Graphic Objects / ObjectSetInteger

Y así sucesivamente.

Se crea un objeto y luego se establecen sus propiedades.

Es algo así:

   if(ObjectFind(chid,name)==-1)
      ObjectCreate(chid,name,OBJ_VLINE,0,time,0);
   ObjectSetString(chid,name,OBJPROP_TOOLTIP,tool);
   ObjectSetInteger(chid,name,OBJPROP_COLOR,color_line);
   ObjectSetInteger(chid,name,OBJPROP_STYLE,style_line);
   ObjectSetInteger(chid,name,OBJPROP_BACK,true);
   ObjectSetInteger(chid,name,OBJPROP_SELECTED,false);
 
Urain:

Guía de referencia MQL5 / Objetos gráficos

MQL5 Reference / Graphic Objects / ObjectCreate

MQL5Reference / Constantes, enumeraciones y estructuras estándar / Constantes de objeto / Tipos de objeto

MQL5Reference / Graphic Objects / ObjectSetInteger

Y así sucesivamente.

Crea un objeto y luego establece sus propiedades.

En algún lugar así:

Gracias.
 
if(ObjectFind(chid,name)==-1)
А что означает эта строчка?
 
erkov:

.... y eso es todo - no es claro.... método GetData devuelve ya sea -1 o >= 0 - (y necesito el precio de apertura de la barra 5)

¿Y qué querías conseguir? Mira la documentación:"Valor de retorno: >=0 - si tiene éxito, -1 - si no se obtienen datos".

Si "necesitamos el valor del precio de apertura de la barra #5", entonces este valor debe buscarse en el "array para colocar datos", es decir, en el array Open[] en su caso.

...Leer Manual

 

Alfff:

if(ObjectFind(chid,name)==-1)
А что означает эта строчка?

Si el objeto llamado nombre en el gráfico chid no existe ya, entonces ...

Si ya existe, simplemente nos saltamos la creación del objeto y pasamos directamente a modificar la configuración.

 
Urain:

Si el objeto llamado nombre en el gráfico chid no existe ya, entonces ...

Si ya existe, nos saltamos la creación del objeto y pasamos directamente a modificar la configuración.

Pequeña nota: "Si no se encuentra el objeto, la función devuelve un número negativo". Aparentemente, no devuelve necesariamente "-1".

Como yo digo, "...leer la referencia" :)

 
Yedelkin:

Una pequeña nota: "Si no se encuentra ningún objeto, la función devuelve un número negativo". Aparentemente, no devuelve necesariamente "-1".

Como yo digo, "...leer la referencia" :)

Probablemente sea mejor poner

if(ObjectFind(chid,name)<0)

Aunque siempre ha funcionado.

 
Yedelkin:

¿Qué querías conseguir? Consulte la documentación:"Valor de retorno: >=0 - si tiene éxito, -1 - si no se obtienen datos".

Si "necesita el valor del precio de apertura de la barra #5", entonces debe buscar este valor en el "array para colocar los datos", es decir, en el array Open[] en su caso.

...Leer Referencia

Gracias por su ayuda. Definitivamente lo leeré...

 
erkov:

Gracias por su ayuda. Me aseguraré de leerlo...

El enfoque general de la copia de matrices puede encontrarse en las descripciones de las funciones Copy...(). Por ejemplo, CopyBuffer().
 
erkov:
Pregunta 1. Dónde buscar (con tanto esfuerzo) los datos de precios abiertos (en qué lugar del array Open[] )...????

Pregunta 2. Para el marco temporal D1 deberíamos declarar otro array y crear nuestra propia instancia de la clase (o podemos hacerlo con una)...????

Pregunta 1: TODAS las clases de la Biblioteca Estándar que proporcionan acceso a los datos de los indicadores y de las series temporales requieren que se "refresquen" (los datos) antes de utilizarlos.

Escríbelo así (en versión simplificada):

iOpen.Refresh(-1);
iOpen.GetData(...);

Pregunta 2. la otra.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5