Puedes obtener los valores de cualquier buffer de indicadores en cualquier BAR, no en el Cierre... Consulte la ayuda deiCustom:
iCustom
Devuelve el asa del indicador personalizado especificado.
Procedimiento:
En OnInit() se crea una manija para el indicador
en OnTick() o OnTime() obtienen los datos del indicador en el número de BAR especificado desde el buffer INDICATOR requerido.
Sí, me equivoqué. Necesito los valores del indicador en la primera y segunda barra. Pero digamos que las Bandas de Bollinger tienen tres líneas. ¿Qué línea me devuelve el valor? Me disculpo por las preguntas estúpidas, pero estoy muy confundido.
DCodec: Sí, me expresé mal. Quiero los valores del indicador en la primera y segunda barra. Pero digamos que las Bandas de Bollinger tienen tres líneas. ¿Qué línea me devuelve? Me disculpo por las preguntas estúpidas, pero realmente STUPOR.
Un momento...
Esta es la función para recuperar los valores de las iBands:
//+------------------------------------------------------------------+//| Get value of buffers for the iBands |//| the buffer numbers are the following: |//| 0 - BASE_LINE, 1 - UPPER_BAND, 2 - LOWER_BAND |//+------------------------------------------------------------------+double iBandsGet(constint buffer,constint index)
{
double Bands[1];
//ArraySetAsSeries(Bands,true);//--- reset error code ResetLastError();
//--- fill a part of the iBands array with values from the indicator buffer that has 0 index if(CopyBuffer(handle_iBands,buffer,index,1,Bands)<0)
{
//--- if the copying fails, tell the error code PrintFormat("Failed to copy data from the iBands indicator, error code %d",GetLastError());
//--- quit with zero result - it means that the indicator is considered as not calculated return(0.0);
}
return(Bands[0]);
}
La función está truncada - su propósito es obtener siempre UN SOLO valor del buffer del indicador "buffer" en el número de barra "index".
Las tres líneas de iBands tienen sus propias constantes:
La cuestión no está clara. Describa con más precisión DÓNDE y QUÉ quiere hacer.
Cuando un EA recibe un mango de indicador en OnInit() ...
intOnInit()
{
//--- Получить хэндл индикатора Envelopes_upper для отрисовки верхней линии
EnvHandle_upper=iEnvelopes(NULL,0,Period_upper,0,MODE_SMA,PRICE_MEDIAN,Deviation_upper);
....terminal dibuja ambas líneas, yo sólo necesito la línea superior.
¿Cómo desactivar el dibujo de esta línea? Por ejemplo, ¿cambiar su color a CLR_NONE, o cambiar el estilo de línea a DRAW_DONE?
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Sinceramente, no entiendo nada. Necesito los valores de la línea superior del indicador en Close[2], Close[1] y eso es todo.
Cómo sacar estos valores de CUALQUIER indicador para no "ensuciar" el código del indicador.
Puede obtener los valores de cualquier buffer de indicadores en cualquier BAR, no en el Cierre... Consulte la ayuda deiCustom:
iCustom
Devuelve el asa del indicador personalizado especificado.
Procedimiento:
Puedes obtener los valores de cualquier buffer de indicadores en cualquier BAR, no en el Cierre... Consulte la ayuda deiCustom:
iCustom
Devuelve el asa del indicador personalizado especificado.
Procedimiento:
Sí, me expresé mal. Quiero los valores del indicador en la primera y segunda barra. Pero digamos que las Bandas de Bollinger tienen tres líneas. ¿Qué línea me devuelve? Me disculpo por las preguntas estúpidas, pero realmente STUPOR.
Un momento...
Esta es la función para recuperar los valores de las iBands:
La función está truncada - su propósito es obtener siempre UN SOLO valor del buffer del indicador "buffer" en el número de barra "index".
Las tres líneas de iBands tienen sus propias constantes:
//| 0 - BASE_LINE, 1 - UPPER_BAND, 2 - LOWER_BAND |Un momento...
Esta es la función para recuperar los valores de las iBands:
La función está truncada - su propósito es obtener siempre UN SOLO valor del buffer del indicador "buffer" en el número de barra "index".
Las tres líneas de iBands tienen sus propias constantes:
Sí... sí. Así es como no entiendo cómo aplicar
//| 0 - BASE_LINE, 1 - UPPER_BAND, 2 - LOWER_BANDProbablemente sea por estrechez de miras. Sigo pensando como en MQL4.
Sí... sí. Así es como no entiendo cómo aplicar
Probablemente se deba a la estrechez de miras. Sigo pensando en términos de MQL4.
Ejemplo de uso de las iBands de KodoBase:Bandas de Bollinger RSI
...
¿Ha habido suerte? ¿O crear un tema con una descripción paso a paso de cómo recuperar los datos del indicador?
¿Cómo va todo? ¿O crear un tema con una descripción paso a paso de cómo recuperar los datos del indicador?
Te diviertes. Recién ahora me doy cuenta de que estoy en
CopyBufferEso es lo que necesito.
Gracias.
Tengo una pregunta más. ¿Cómo puedo desactivar una línea en un indicador que no necesito?
Digamos que para desactivar UPPER_LINE en iEnvelopes.
Te estás riendo. Y sólo ahora me he dado cuenta de que no soy gracioso.
eso es lo que necesito.
Gracias.
Estás imaginando cosas. No me reía, lo preguntaba en serio. Por ejemplo, tengo este tema:Simple Expert Advisor. Comprobación del tamaño de la barra. Compra/venta.
Me permitiré una pregunta más. ¿Cómo puedo desactivar la línea del indicador que no necesito?
Digamos que para desactivar UPPER_LINE en iEnvelopes.
La cuestión no está clara. Describa con más precisión DÓNDE y QUÉ quiere hacer.
Te lo has imaginado. No me reía, lo preguntaba en serio. Por ejemplo, tengo este tema:Simple Expert Advisor. Comprobación del tamaño de la barra. Compra/Venta.
La cuestión no está clara. Describa con más precisión DÓNDE y QUÉ quiere hacer.
Cuando un EA recibe un mango de indicador en OnInit() ...
....terminal dibuja ambas líneas, yo sólo necesito la línea superior.
¿Cómo desactivar el dibujo de esta línea? Por ejemplo, ¿cambiar su color a CLR_NONE, o cambiar el estilo de línea a DRAW_DONE?