Flotador

 

Un indicador muy interesante. Ver imagen adjunta.

El rojo es aflat. Parece que no estamos negociando durante el aflat.

Archivos adjuntos:
floatma.mql  1 kb
float_mt3.jpg  83 kb
 

Los otros indicadores de flotación.

Archivos adjuntos:
 

Indicador de flotación.

Archivos adjuntos:
float.jpg  98 kb
float.mql  9 kb
 

Reescribir el indicador de flotación en .mq4 ?

Hola Nuevo Digital,

¿Alguien ha reescrito el indicador Float en un script .mq4 para MT4? Veo que hay una versión .mql aquí. En el foro de SB hay una discusión sobre este indicador además de que se escribió un experto pero el indicador (escrito por Barry Stander) actúa con errores, y nadie puede localizar el código fuente. He encontrado el siguiente script por 'Bigblock' publicado en el sitio Gordago. No estoy seguro de qué secuencia de comandos es, pero tal vez la lógica es clara para algún alma ambiciosa que le gustaría hacer que funcione como un archivo .mq4? Puede ser el mismo que el de barry S. 'Float' aunque este es más largo (no soy codificador)

De los indicadores Float publicados arriba, el que prefiero es el que crea la rampa de líneas azules del histograma. También he adjuntado el archivo de Float con errores del foro de SB.

-MJ

-----------------------------

/*[[

Nombre := FLOAT

Autor := Bigblockfw

Ventana separada := Sí

Primer Color := Azul

Primer Tipo de Dibujo:= histograma

Primer Símbolo := 217

Usar Segundo Dato := Si

Segundo Color := Rojo

Segundo Tipo de Dibujo := Línea

Segundo Símbolo := 218

Si se cambia el valor de Float a 100, se mostrará correctamente en el gráfico de 15 min,

200 = 30 min 20 = 5 min

]]*/

entrada : float(100),use_fibos(1),Backtesting(0);

Variable :

shift(0),f(0),c1(0),high_bar(0),Low_bar(0),bars_high(0),bars_low(0);

Variable :

cumulativeV(0),FLOATV(0),cumulativeV2(0),loopbegin2(0),swing(0),swing_time(0);

Variable : swingv(0),loopbegin1(0),cnt(0);

Variable : first(True),first1(True), prevbars(0);

Variable : cvstart(0),cvend(0),bar(0),newcv(0),CV(0),CV2(0);

Variable : fib23(0),fib38(0),fib50(0),fib62(0),fib76(0);

Variable : dinap0(0),dinap1(0),dinap2(0),dinap3(0),dinap4(0),dinap5(0);

Variable : CVL(0),CVL1(0),CVL2(0),CVL3(0),CVL4(0);

cumulativeV=0;

cumulativeV2=0;

SetLoopCount(0);

Si Bares 1 Entonces

first = True;

first1 = True

prevbars = Bars;

FLOATV=0;

Si first Entonces Begin

loopbegin1 = Bars-float-1;

loopbegin2 = Bars-float-1;

first = False;

loopbegin1 = loopbegin1+1;

Para shift = loopbegin1 Downto 0 Begin

//encontrar el máximo y el mínimo

barra_alta = H;

barra_baja = L[más baja(MODE_LOW,float,float)];

//encontrar el número de barras

bars_high = highest(MODE_HIGH,float,float);

bars_low = lowest(MODE_LOW,float,float);

//encuentra la diferencia de precios del swing

swing = H-

L[Lowest(MODE_LOW,float,float)];

//encuentra el tiempo flotante barcount

swing_time = abs(barras_bajas-barras_altas);

//encontrar el volumen acumulado para el periodo float

IF barras_altas < barras_bajas entonces

{

cvstart=barras_bajas;

cvend=barras_altas;

}

si no

{

cvstart=bars_high;

cvend=barras_bajas;

}

Si first1 y FLOATV=0 Entonces Comienza

for shift = cvstart downto cvend Begin {

FLOATV=FLOATV+V[shift];

first1 = False;}

end;

//encontrar el volumen acumulado desde la última facturación

for shift = cvstart downto 0 Begin

cumulativeV=cumulativeV+V[shift];

si cumulativeV>=FLOATV entonces{

cumulativeV=0;

}

SetIndexValue(shift,cumulativeV*0.001);//Azul

SetIndexValue2(shift,FLOATV*0.001);//rojo

comentario(

"\n", "el máximo fue ",bars_high," hace unos compases",

"\n", "Baja fue ",barras_baja," barras atrás","\n",

"\n", "Float time was = ", swing_time," bars",

"\n", "Float Vol. left = ",FLOATV-cumulativeV,

"\n", "Volumen flotante = ",FLOATV

);

MoveObject("swingtop",OBJ_TRENDLINE,Time[cvstart],high_bar,Time[1],high_bar,Blue,1,STYLE_SOLID);

MoveObject("swingbottom",OBJ_TRENDLINE,Time[cvstart],Low_bar,Time[1],Low_bar,Blue,1,STYLE_SOLID);

//fibos

Si use_fibos=1 entonces{

fib23=((high_bar-Low_bar)*0.236)+Low_bar;

fib38=((high_bar-Low_bar)*0.382)+Low_bar;

fib50=((barra_alta-Baja)/2)+barra_baja;

fib62=((high_bar-Low_bar)*0.618)+Low_bar;

fib76=((high_bar-Low_bar)*0.764)+Low_bar;

dinap0=(Barra_baja+fib23)/2;

dinap1=(fib23+fib38)/2;

dinap2=(fib38+fib50)/2;

dinap3=(fib50+fib62)/2;

dinap4=(fib62+fib76)/2;

dinap5=(barra_alta+fib76)/2;

MoveObject("fib23",OBJ_TRENDLINE,Time[cvstart],fib23,Time[1],fib23,Green,1,STYLE_DASH);

SetObjectText("23", "23.6", "Arial",8,green);

MoveObject("23",OBJ_TEXT,tiempo[0],fib23,tiempo[0],fib23,Verde);

MoveObject("fib38",OBJ_TRENDLINE,Tiempo[cvstart],fib38,Tiempo[1],fib38,Verde,1,STYLE_DASH);

SetObjectText("38", "38.2", "Arial",8,green);

MoveObject("38",OBJ_TEXT,tiempo[0],fib38,tiempo[0],fib38,Verde);

MoveObject("fib50",OBJ_TRENDLINE,Tiempo[cvstart],fib50,Tiempo[1],fib50,Rojo,2,STYLE_SOLID);

SetObjectText("50", "50", "Arial",8,green);

MoveObject("50",OBJ_TEXT,tiempo[0],fib50,tiempo[0],fib50,Verde);

MoveObject("fib62",OBJ_TRENDLINE,Tiempo[cvstart],fib62,Tiempo[1],fib62,Verde,1,STYLE_DASH);

SetObjectText("62", "61.8", "Arial",8,green);

MoveObject("62",OBJ_TEXT,tiempo[0],fib62,tiempo[0],fib62,Verde);

MoveObject("fib76",OBJ_TRENDLINE,Tiempo[cvstart],fib76,Tiempo[1],fib76,Verde,1,STYLE_DASH);

SetObjectText("76", "76.4", "Arial",8,green);

MoveObject("76",OBJ_TEXT,tiempo[0],fib76,tiempo[0],fib76,Verde);

MoveObject("dinap0",OBJ_TRENDLINE,Tiempo[cvstart],dinap0,Tiempo[1],dinap0,Rojo,1,STYLE_DOT);

MoveObject("dinap1",OBJ_TRENDLINE,Time[cvstart],dinap1,Time[1],dinap1,Red,1,STYLE_DOT);

MoveObject("dinap2",OBJ_TRENDLINE,Time[cvstart],dinap2,Time[1],dinap2,Red,1,STYLE_DOT);

MoveObject("dinap3",OBJ_TRENDLINE,Time[cvstart],dinap3,Time[1],dinap3,Red,1,STYLE_DOT);

MoveObject("dinap4",OBJ_TRENDLINE,Time[cvstart],dinap4,Time[1],dinap4,Red,1,STYLE_DOT);

MoveObject("dinap5",OBJ_TRENDLINE,Time[cvstart],dinap5,Time[1],dinap5,Red,1,STYLE_DOT);

}

//ver líneas de flotación. estas dibujan las líneas que calculan la flotación

//si cambias "trendline" por "Vline" dibujará a través de los osciladores también.podría ser divertido

MoveObject("CVSTART",OBJ_TRENDLINE,Time[cvstart],high_bar,Time[cvstart],Low_bar*point,Blue,1,STYLE_SOLID);

MoveObject("CVEND",OBJ_TRENDLINE,Time[cvend],high_bar,Time[cvend],Low_bar*point,Blue,1,STYLE_SOLID);

//revierte las predicciones de los flotadores. Éstas sólo se basan en el tiempo.

//vea el histograma azul para los valores reales de los flotadores.

//si cambias "trendline" por "Vline" dibujará a través de los osciladores también.podría ser divertido

si cvend-swing_time>0 entonces {

MoveObject("swingend",OBJ_TRENDLINE,Time[(cvend-swing_time)+5],high_bar,Time[cvend-swing_time+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend",0,0,0,0);

si cvend-(swing_time*2)>0 entonces {

MoveObject("swingend2",OBJ_TRENDLINE,Time[(cvend-(swing_time*2))+5],high_bar,Time[cvend-(swing_time*2)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend2",0,0,0,0);

si cvend-(swing_time*3)>0 entonces {

MoveObject("swingend3",OBJ_TRENDLINE,Time[(cvend-(swing_time*3))+5],high_bar,Time[cvend-(swing_time*3)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend3",0,0,0,0);

si cvend-(swing_time*4)>0 entonces {

MoveObject("swingend4",OBJ_TRENDLINE,Time[(cvend-(swing_time*4))+5],high_bar,Time[cvend-(swing_time*4)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend4",0,0,0,0);

si cvend-(swing_time*5)>0 entonces {

MoveObject("swingend5",OBJ_TRENDLINE,Time[(cvend-(swing_time*5))+5],high_bar,Time[cvend-(swing_time*5)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend5",0,0,0,0);

si cvend-(swing_time*6)>0 entonces {

MoveObject("swingend6",OBJ_TRENDLINE,Time[cvend-(swing_time*6)+5],high_bar,Time[cvend-(swing_time*6)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend6",0,0,0,0);

si cvend-(swing_time*7)>0 entonces {

MoveObject("swingend7",OBJ_TRENDLINE,Time[cvend-(swing_time*7)+5],high_bar,Time[cvend-(swing_time*7)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend7",0,0,0,0);

si cvend-(swing_time*8)>0 entonces {

MoveObject("swingend8",OBJ_TRENDLINE,Time[cvend-(swing_time*8)+5],high_bar,Time[cvend-(swing_time*8)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend8",0,0,0,0);

si cvend-(swing_time*9)>0 entonces {

MoveObject("swingend9",OBJ_TRENDLINE,Time[cvend-(swing_time*9)+5],high_bar,Time[cvend-(swing_time*9)+5],Low_bar,Red,1,STYLE_DOT);

}

else DelObject("swingend9",0,0,0,0);

//comentar todo lo que no está utilizando ayudará con la velocidad.

Si Backtesting = 1 entonces {

SetGlobalVariable("fib23",fib23);

SetGlobalVariable("fib38",fib38);

SetGlobalVariable("fib50",fib50);

SetGlobalVariable("fib62",fib62);

SetGlobalVariable("fib76",fib76);

SetGlobalVariable("dinap0",dinap0);

SetGlobalVariable("dinap1",dinap1);

SetGlobalVariable("dinap2",dinap2);

SetGlobalVariable("dinap3",dinap3);

SetGlobalVariable("dinap4",dinap4);

SetGlobalVariable("dinap5",dinap5);

SetGlobalVariable("swingtop",high_bar);

SetGlobalVariable("swingbottom",barra_baja);

SetGlobalVariable("CVSTART",CVSTART);

SetGlobalVariable("CVEND",CVEND);

SetGlobalVariable("FLOATV",FLOATV);

SetGlobalVariable("cumulativeV",cumulativeV);

SetGlobalVariable("swing_time",swing_time);

SetGlobalVariable("bars_high",bars_high);

SetGlobalVariable("bars_low",bars_low);

si cvend-swing_time>0 entonces

SetGlobalVariable("swingend",(cvend-swing_time)+5);

si cvend-(swing_time*2)>0 entonces

SetGlobalVariable("swingend2",cvend-(swing_time*2)+5);

si cvend-(swing_time*3)>0 entonces

SetGlobalVariable("swingend3",cvend-(swing_time*3)+5);

si cvend-(swing_time*4)>0 entonces

SetGlobalVariable("swingend4",cvend-(swing_time*4)+5);

si cvend-(swing_time*5)>0 entonces

SetGlobalVariable("swingend5",cvend-(swing_time*5)+5);

si cvend-(swing_time*6)>0 entonces

SetGlobalVariable("swingend6",cvend-(swing_time*6)+5);

si cvend-(swing_time*7)>0 entonces

SetGlobalVariable("swingend7",cvend-(swing_time*7)+5);

si cvend-(swing_time*8)>0 entonces

SetGlobalVariable("swingend8",cvend-(swing_time*8)+5);

si cvend-(swing_time*9)>0 entonces

SetGlobalVariable("swingend9",cvend-(swing_time*9)+5);

}

Fin;

fin;

end;

end;

Archivos adjuntos:
float.mq4  4 kb
 

Hola,

Tengo el indicador de flotación para MT4 pero en el archivo EX4 sólo de la página web de Barry Stander

http://www.4africa.net/4meta/Indicators/

Saludos

Archivos adjuntos:
float.ex4  21 kb
 

¿Cómo utilizar un archivo EX4? Indicador de flotación

Hola MFX,

Gracias por la ayuda. Sin embargo, no sé cómo convertir el archivo EX4 en un archivo .mq4 utilizable? ¿Lo sabes? Cuando lo abro desde el MetaEditor sólo me sale el mensaje "Please download newest file". De donde no dice nada. Si convierto el archivo que has adjuntado, en un archivo .txt e intento abrirlo, sólo sale un galimatías. ¿Sugerencias?

Gracias,

MJ

 

Hola,

el archivo ex4 no se abre en el Meta Editor.Copie a su pasta C:Progam Files\MetaTrader\Experts\Indicators y reinicie su plataform, Si usted utiliza el modo iCustom se ejecuta también.

Saludos

 

Chicos, no perdáis el tiempo, el último float, así como el float de Barrys para MT4 se están reajustando en la historia, por lo que lo que muestran no es cierto.

No he visto ninguna versión de trabajo del indicador de flotación ( no el que con el MA`s, pero uno con Fibs e Histogramas ) en cualquier foro para el último año.

 

Gracias por el archivo fuente Barry.

 

He probado el indicador de flotación en mq4, es cierto que se repinta a veces. El flotador parece bastante fiable, pero hay ese pequeño porcentaje. Lo he probado en una demo por un tiempo hace muchos meses, parece que en realidad se puede operar fuera de él, pero no el 100%. El indicador de flotación publicado aquí es diferente manera diferente de la que he utilizado.

 
et_phonehome_2:
He probado el indicador float en mq4, es cierto que se repinta a veces. El float parece bastante fiable, pero existe ese pequeño porcentaje. Lo he probado en una demo por un tiempo hace muchos meses, parece que en realidad se puede operar fuera de él, pero no el 100%. El indicador de flotación publicado aquí es diferente manera diferente de la que he utilizado.

¿cuál es el que usas, puedes publicarlo por favor?