Hola a todos,
Acudo a mi propio Foro a ver si algún crack del MQL me puede echar una mano rápida, porque estoy atascado. El problema es el siguiente: usando MQL4 quiero calcular un indicador sobre los datos de otro pero por más que lo intento usando iCustom no me sale ningún valor. Incluso he anidado dos iCustom pero no consigo que lo calcule, porque entiendo que iCustom solo trabaja con símbolos, no con indicadores personalizados.
¿Tenéis por ahí algún ejemplo? ¿Alguna sugerencia? Cualquier idea seguro que me ilumina un poco el camino.
Gracias de antemano.
Saludos,
X-Trader
Calcular Indicador sobre Otro
Calcular Indicador sobre Otro
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Re: Calcular Indicador sobre Otro
double val=iCustom(NULL, 0, "ZigZag",1,1,1,0,0,1);
Comment("valor:",val);
Este que te pongo funciona, todos esos 1 y 0 no son los mismos en todos los indicadores depende de los buffer del indicador en cuestion, y debido a eso no suele funcionar iCustom, yo me arte de probar y no le termine cogiendo el truco.
Comment("valor:",val);
Este que te pongo funciona, todos esos 1 y 0 no son los mismos en todos los indicadores depende de los buffer del indicador en cuestion, y debido a eso no suele funcionar iCustom, yo me arte de probar y no le termine cogiendo el truco.
Re: Calcular Indicador sobre Otro
Gracias Gamelu, pero no va por ahí. El tema es calcular por ejemplo el RSI del CCI pero con indicadores personalizados, es decir, algo como esto:
Indicador_Final = Indicador2(Indicador1, 0, params);
Saludos,
X-Trader
Indicador_Final = Indicador2(Indicador1, 0, params);
Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Re: Calcular Indicador sobre Otro
Hola X,
Tienes que crear un indicador personalizado que contenga una llamada a tu otro indicador personalizado, de esta manera generas un Array de valores del nuevo indicador, que imagino es lo que quieres.
Luego te pongo un código de ejemplo si no lo resuelves.
Saludos
INtrader
Tienes que crear un indicador personalizado que contenga una llamada a tu otro indicador personalizado, de esta manera generas un Array de valores del nuevo indicador, que imagino es lo que quieres.
Luego te pongo un código de ejemplo si no lo resuelves.
Saludos
INtrader
I have not failed. I've just found 10,000 ways that won't work - Thomas A. Edison
Sigueme en Twitter: @INtrader_
Sigueme en Twitter: @INtrader_
Re: Calcular Indicador sobre Otro
Código: Seleccionar todo
//+------------------------------------------------------------------+
//| LF-sprdmed.mq4 |
//| Copyright 2012, INtrader |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, INtrader"
#property link "[email protected]"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
#property indicator_width1 1
extern int Length = 54;
extern int ApplyTo = PRICE_CLOSE;
double sprdmed[];
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle (0,DRAW_HISTOGRAM);// Line style
SetIndexBuffer(0, sprdmed);
IndicatorShortName("sprdmd ("+Length+")");
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
int start()
{
int i, // Bar index
Counted_bars; // Number of counted bars
//--------------------------------------------------------------------
Counted_bars=IndicatorCounted(); // Number of counted bars
i=Bars-Counted_bars-1; // Index of the first uncounted
while(i>=0) // Loop for uncounted bars
{
sprdmed[i] = Close[i] - iCustom(NULL, 0, "Media", Length, ApplyTo, 0, i);
i--; // Calculating index of the next bar
}
//--------------------------------------------------------------------
return(0);
}
Espero que te sirva!!
Un saludo
INtrader
I have not failed. I've just found 10,000 ways that won't work - Thomas A. Edison
Sigueme en Twitter: @INtrader_
Sigueme en Twitter: @INtrader_
Re: Calcular Indicador sobre Otro
Hola INtrader, gracias por el intento pero sigue sin servirme. Lo que necesito, siguiendo tu ejemplo, es que el indicador Media se calcule sobre Sprdmed, no que tome valores del símbolo actual (NULL).
Saludos,
X-Trader
Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Re: Calcular Indicador sobre Otro
X-Trader escribió:Hola INtrader, gracias por el intento pero sigue sin servirme. Lo que necesito, siguiendo tu ejemplo, es que el indicador Media se calcule sobre Sprdmed, no que tome valores del símbolo actual (NULL).
Saludos,
X-Trader
Sería tal vez algo así ? :
Indicador1 = iCustom(NULL, 0, "Indi1", Length, ApplyTo, 0, i);
indicadorFinal = iCustom(NULL, 0, "Indi2", Indicador1, ApplyTo, 0, i);
I have not failed. I've just found 10,000 ways that won't work - Thomas A. Edison
Sigueme en Twitter: @INtrader_
Sigueme en Twitter: @INtrader_
Re: Calcular Indicador sobre Otro
una idea, por si te sirve X-trader: seria montar en la plataforma de rombos del visual chart lo que quieras programar , luego una vez compilado te vas al codigo interno del sistema y ahi buscas las lineas de codigo que se refieren a tu parte que dudas, no sera exactamente igual que en Mql, pero tendras la idea basica de que metodo se usa en visual basic para hacer lo mismo, solo tendras que adaptarlo a Mql
o a unas malas si lo que quieres probar es una idea y hacer pruebas, en visualchart era muy facil hacer funcionar un indicador sobre otro, de esa manera si luego ves que te sale rentable esa operativa ya te lias a fondo con el Mql.
(si buscas por Nick tenia de hace unos meses subido un sistema que usaba una media sobre el indicador de momento, incluso con los filtros ya puestos y todo el rollo)seria adaptarlo a tu indicador en particular en vez del de Momento.
te lo acabo de buscar para ahorrate trabajo, aqui lo tienes: http://www.x-trader.net/foro/viewtopic. ... ar#p197653
espero que te sirva, saludos.
o a unas malas si lo que quieres probar es una idea y hacer pruebas, en visualchart era muy facil hacer funcionar un indicador sobre otro, de esa manera si luego ves que te sale rentable esa operativa ya te lias a fondo con el Mql.
(si buscas por Nick tenia de hace unos meses subido un sistema que usaba una media sobre el indicador de momento, incluso con los filtros ya puestos y todo el rollo)seria adaptarlo a tu indicador en particular en vez del de Momento.
te lo acabo de buscar para ahorrate trabajo, aqui lo tienes: http://www.x-trader.net/foro/viewtopic. ... ar#p197653
espero que te sirva, saludos.
Entrena ahora cada día para despues ganarte el jornal todos los días!!!
Re: Calcular Indicador sobre Otro
Que tal X? Lo has conseguido? Cuéntanos la solución.
Saludos
INtrader
Saludos
INtrader
I have not failed. I've just found 10,000 ways that won't work - Thomas A. Edison
Sigueme en Twitter: @INtrader_
Sigueme en Twitter: @INtrader_
Re: Calcular Indicador sobre Otro
INtrader escribió:Sería tal vez algo así ? :
Indicador1 = iCustom(NULL, 0, "Indi1", Length, ApplyTo, 0, i);
indicadorFinal = iCustom(NULL, 0, "Indi2", Indicador1, ApplyTo, 0, i);
Hola INtrader, al final lo he resuelto pero por desgracia la solución que propones no sirve porque independientemente de lo que pongas en iCustom, siempre hace cálculos sobre el array de precios, nunca sobre otro array distinto. La solución ha sido recrear la lógica de ambos indicadores dentro de un nuevo indicador, no me ha quedado otra. Lo malo es que después del arduo trabajo informático el resultado no ha sido el esperado así que... a seguir investigando (nunca se termina en esto )
Traderday escribió:una idea, por si te sirve X-trader: seria montar en la plataforma de rombos del visual chart lo que quieras programar , luego una vez compilado te vas al codigo interno del sistema y ahi buscas las lineas de codigo que se refieren a tu parte que dudas, no sera exactamente igual que en Mql, pero tendras la idea basica de que metodo se usa en visual basic para hacer lo mismo, solo tendras que adaptarlo a Mql
o a unas malas si lo que quieres probar es una idea y hacer pruebas, en visualchart era muy facil hacer funcionar un indicador sobre otro, de esa manera si luego ves que te sale rentable esa operativa ya te lias a fondo con el Mql.
(si buscas por Nick tenia de hace unos meses subido un sistema que usaba una media sobre el indicador de momento, incluso con los filtros ya puestos y todo el rollo)seria adaptarlo a tu indicador en particular en vez del de Momento.
te lo acabo de buscar para ahorrate trabajo, aqui lo tienes: http://www.x-trader.net/foro/viewtopic. ... ar#p197653
espero que te sirva, saludos.
Gracias por la idea Traderday, esa ya me la sabía, la verdad es que lo pensé varias veces pero claro me obligaba a reprogramar los indicadores sueltos en Visual Chart y como ahora ya hago todo con Metatrader pues tampoco me salía a cuenta.
En fin, si algún encuentro una solución rápida os la comento, pero por ahora está claro que toca trabajar con arrays y copiar las fórmulas de cada indicador en un nuevo indicador.
Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Re: Calcular Indicador sobre Otro
X-Trader escribió:INtrader escribió:Sería tal vez algo así ? :
Indicador1 = iCustom(NULL, 0, "Indi1", Length, ApplyTo, 0, i);
indicadorFinal = iCustom(NULL, 0, "Indi2", Indicador1, ApplyTo, 0, i);
Hola INtrader, al final lo he resuelto pero por desgracia la solución que propones no sirve porque independientemente de lo que pongas en iCustom, siempre hace cálculos sobre el array de precios, nunca sobre otro array distinto. La solución ha sido recrear la lógica de ambos indicadores dentro de un nuevo indicador, no me ha quedado otra. Lo malo es que después del arduo trabajo informático el resultado no ha sido el esperado así que... a seguir investigando (nunca se termina en esto )
X-Trader
Claro, es lo primero que te comenté . Me alegro de que hayas dado con ello
Algún día llegaremos... no sé donde, pero llegaremos
INtrader escribió:Hola X,
Tienes que crear un indicador personalizado que contenga una llamada a tu otro indicador personalizado, de esta manera generas un Array de valores del nuevo indicador, que imagino es lo que quieres.
Luego te pongo un código de ejemplo si no lo resuelves.
Saludos
INtrader
I have not failed. I've just found 10,000 ways that won't work - Thomas A. Edison
Sigueme en Twitter: @INtrader_
Sigueme en Twitter: @INtrader_
Si te ha gustado este hilo del Foro, ¡compártelo en redes!