Reescreva o indicador de flutuação em .mq4 ?
Olá Novo Digital,
Alguém reescreveu o indicador Float no script .mq4 para o MT4? Vejo que há uma versão .mql aqui. No fórum da SB há uma discussão sobre este indicador mais um especialista foi escrito, mas o indicador (escrito por Barry Stander) age como um buggy, e ninguém pode localizar o código fonte. Encontrei o seguinte script por 'Bigblock' postado no site de Gordago. Não tenho certeza que script é, mas talvez a lógica seja clara para alguma alma ambiciosa que gostaria de fazê-lo funcionar como um arquivo .mq4? Pode ser o mesmo que o barry S. 'Float', embora este seja mais longo (não sou codificador).
Dos indicadores de flutuação afixados acima, o que prefiro é aquele que cria a rampa de linhas de histograma azuis. Também anexei o arquivo do Float do fórum da SB.
-MJ
-----------------------------
/*[[
Nome := FLOAT
Autor := Bigblockfw
Janela separada := Sim
Primeira cor := Azul
Primeiro tipo de desenho:= histograma
Primeiro Símbolo := 217
Use os segundos dados := Sim
Segunda cor := Vermelho
Segundo Tipo de Desenho := Linha
Segundo Símbolo := 218
A mudança do valor do Float para 100 permitirá que ele seja exibido corretamente na tabela de 15 minutos,
200 = 30 min 20 = 5 min
]]*/
entrada : float(100),use_fibos(1),Backtesting(0);
Variável :
shift(0),f(0),c1(0),high_bar(0),Low_bar(0),bars_high(0),bars_low(0);
Variável :
acumuladoV(0),FLOATV(0),acumuladoV2(0),loopbegin2(0),swing(0),swing_time(0);
Variável : swingv(0),loopbegin1(0),cnt(0);
Variable : first(True),first1(True), prevbars(0);
Variável : cvstart(0),cvend(0),bar(0),newcv(0),CV(0),CV2(0);
Variável : fib23(0),fib38(0),fib50(0),fib62(0),fib76(0);
Variável : dinap0(0),dinap1(0),dinap2(0),dinap3(0),dinap4(0),dinap5(0);
Variável : CVL(0),CVL1(0),CVL2(0),CVL3(0),CVL4(0);
cumulativoV=0;
acumulativoV2=0;
SetLoopCount(0);
Se Barras 1, então
primeiro = Verdadeiro;
primeiro1 = Verdadeiro;
prevbars = Barras;
FLOATV=0;
Se primeiro Então Começa
loopbegin1 = Bars-float-1;
loopbegin2 = Bars-float-1;
primeiro = Falso;
loopbegin1 = loopbegin1+1;
Para o turno = loopbegin1 até 0 Begin
// encontrar alto e baixo
high_bar = H;
Barra_baixa = L[Lowest(MODE_LOW,float,float)];
//find bar conta
bars_high = highest(MODE_HIGH,float,float);
bars_low = mais baixo(MODE_LOW,float,float);
//find variação de preço de balanço
balanço = H-
L[Lowest(MODE_LOW,float,float)];
//find float time barcount
swing_time = abs(bars_low-bars_high);
//find volume acumulado para o período de flutuação
SE barras_alto < barras_baixo então
{
cvstart=bars_low;
cvend=bars_high;
}
senão
{
cvstart=bars_high;
cvend=bars_low;
}
Se primeiro1 e FLOATV=0 Então comece
por turno = cvstart downto cvend Begin {
FLOATV=FLOATV+V[shift];
first1 = False;}
fim;
//find volume acumulado desde a última rotatividade
para turno = cvstart downto 0 Begin
cumulativoV=cumulativoV+V[shift];
se acumulativoV>=FLOATV então{
cumulativoV=0;
}
SetIndexValue(shift,cumulativeV*0,001);//Blue
SetIndexValue2(shift,FLOATV*0,001);//vermelho
comentário(
"\n", "alto era ",bars_high," bars atrás",
"baixo era ",barras_baixo," bares_baixo," barras atrás","\n",
"\n", "Float time was = ", swing_time," bars",
"\n", "Float Vol. esquerda = ",FLOATV-cumulativoV,
"\n", "Float Volume = ",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
Se usar_fibos=1 então{
fib23=((high_bar-Low_bar)*0.236)+Low_bar;
fib38=((high_bar-Low_bar)*0.382)+Low_bar;
fib50=((high_bar-Low_bar)/2)+Low_bar;
fib62=((high_bar-Low_bar)*0.618)+Low_bar;
fib76=((high_bar-Low_bar)*0.764)+Low_bar;
dinap0=(Low_bar+fib23)/2;
dinap1=(fib23+fib38)/2;
dinap2=(fib38+fib50)/2;
dinap3=(fib50+fib62)/2;
dinap4=(fib62+fib76)/2;
dinap5=(high_bar+fib76)/2;
MoveObject("fib23",OBJ_TRENDLINE,Time[cvstart],fib23,Time[1],fib23,Green,1,STYLE_DASH);
SetObjectText("23", "23.6", "Arial",8,verde);
MoveObject("23",OBJ_TEXT,time[0],fib23,time[0],fib23,Green);
MoveObject("fib38",OBJ_TRENDLINE,Time[cvstart],fib38,Time[1],fib38,Green,1,STYLE_DASH);
SetObjectText("38", "38.2", "Arial",8,verde);
MoveObject("38",OBJ_TEXT,time[0],fib38,time[0],fib38,Green);
MoveObject("fib50",OBJ_TRENDLINE,Time[cvstart],fib50,Time[1],fib50,Red,2,STYLE_SOLID);
SetObjectText("50", "50", "Arial",8,verde);
MoveObject("50",OBJ_TEXT,time[0],fib50,time[0],fib50,Green);
MoveObject("fib62",OBJ_TRENDLINE,Time[cvstart],fib62,Time[1],fib62,Green,1,STYLE_DASH);
SetObjectText("62", "61.8", "Arial",8,verde);
MoveObject("62",OBJ_TEXT,tempo[0],fib62,tempo[0],fib62,verde);
MoveObject("fib76",OBJ_TRENDLINE,Time[cvstart],fib76,Time[1],fib76,Green,1,STYLE_DASH);
SetObjectText("76", "76.4", "Arial",8,verde);
MoveObject("76",OBJ_TEXT,time[0],fib76,time[0],fib76,Green);
MoveObject("dinap0",OBJ_TRENDLINE,Time[cvstart],dinap0,Time[1],dinap0,Red,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);
}
//vert. linhas de flutuação. estas desenham as linhas que calculam a flutuação
// se você mudar "trendline" para "Vline" ele também atrairá através de osciladores.pode 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);
//vert previsões de flutuação. Estas são apenas baseadas no tempo.
//ver o histograma azul para valores reais de flutuação.
// se você mudar "trendline" para "Vline" ele também desenhará através dos osciladores. pode ser divertido
se cvend-swing_time>0 então {
MoveObject("swingend",OBJ_TRENDLINE,Time[(cvend-swing_time)+5],high_bar,Time[cvend-swing_time+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend",0,0,0,0,0);
se cvend-(swing_time*2)>0 então {
MoveObject("swingend2",OBJ_TRENDLINE,Time[(cvend-(swing_time*2))+5],high_bar,Time[cvend-(swing_time*2)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend2",0,0,0,0,0);
se cvend-(swing_time*3)>0 então {
MoveObject("swingend3",OBJ_TRENDLINE,Time[(cvend-(swing_time*3))+5],high_bar,Time[cvend-(swing_time*3)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend3",0,0,0,0,0);
se cvend-(swing_time*4)>0 então {
MoveObject("swingend4",OBJ_TRENDLINE,Time[(cvend-(swing_time*4))+5],high_bar,Time[cvend-(swing_time*4)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend4",0,0,0,0,0);
se cvend-(swing_time*5)>0 então {
MoveObject("swingend5",OBJ_TRENDLINE,Time[(cvend-(swing_time*5))+5],high_bar,Time[cvend-(swing_time*5)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend5",0,0,0,0,0);
se cvend-(swing_time*6)>0 então {
MoveObject("swingend6",OBJ_TRENDLINE,Time[cvend-(swing_time*6)+5],high_bar,Time[cvend-(swing_time*6)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend6",0,0,0,0,0);
se cvend-(swing_time*7)>0 então {
MoveObject("swingend7",OBJ_TRENDLINE,Time[cvend-(swing_time*7)+5],high_bar,Time[cvend-(swing_time*7)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend7",0,0,0,0,0);
se cvend-(swing_time*8)>0 então {
MoveObject("swingObject8",OBJ_TRENDLINE,Time[cvend-(swing_time*8)+5],high_bar,Time[cvend-(swing_time*8)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend8",0,0,0,0,0);
se cvend-(swing_time*9)>0 então {
MoveObject("swingend9",OBJ_TRENDLINE,Time[cvend-(swing_time*9)+5],high_bar,Time[cvend-(swing_time*9)+5],Low_bar,Red,1,STYLE_DOT);
}
ou DelObject("swingend9",0,0,0,0,0);
//comente qualquer coisa que você "não esteja usando" ajudará na velocidade.
Se Backtesting = 1 então {
SetGlobalVariable("fib23",fib23);
SetGlobalVariable("fib38",fib38);
SetGlobalVariável("fib50",fib50);
SetGlobalVariável("fib62",fib62);
SetGlobalVariável("fib76",fib76);
SetGlobalVariável("dinap0",dinap0);
SetGlobalVariável("dinap1",dinap1);
SetGlobalVariável("dinap2",dinap2);
SetGlobalVariável("dinap3",dinap3);
SetGlobalVariável("dinap4",dinap4);
SetGlobalVariable("dinap5",dinap5);
SetGlobalVariable("swingtop",high_bar);
SetGlobalVariable("swingbottom",barra_baixa);
SetGlobalVariable("CVSTART",CVSTART);
SetGlobalVariable("CVEND",CVEND);
SetGlobalVariable("FLOATV",FLOATV);
SetGlobalVariable("cumulativeV",FLOATV); SetGlobalVariable("FLOATV",FLOATV);
SetGlobalVariable("swing_time",swing_time);
SetGlobalVariable("bars_high",bars_high);
SetGlobalVariável("barras_baixo",barras_baixo);
se cvend-swing_time>0 então
SetGlobalVariable("swingend",(cvend-swing_time)+5);
se cvend-(swing_time*2)>0 então
SetGlobalVariable("swingend2",cvend-(swing_time*2)+5);
se cvend-(swing_time*3)>0 então
SetGlobalVariable("swingend3",cvend-(swing_time*3)+5);
se cvend-(swing_time*4)>0 então
SetGlobalVariable("swingend4",cvend-(swing_time*4)+5));
se cvend-(swing_time*5)>0 então
SetGlobalVariable("swingend5",cvend-(swing_time*5)+5);
se cvend-(swing_time*6)>0 então
SetGlobalVariable("swingend6",cvend-(swing_time*6)+5);
se cvend-(swing_time*7)>0 então
SetGlobalVariable("swingend7",cvend-(swing_time*7)+5);
se cvend-(swing_time*8)>0 então
SetGlobalVariable("swingend8",cvend-(swing_time*8)+5);
se cvend-(swing_time*9)>0 então
SetGlobalVariable("swingend9",cvend-(swing_time*9)+5);
}
Fim;
fim;
fim; fim;
fim;
Hi,
Tenho indicador de flutuação para MT4, mas no arquivo EX4 somente da página web do Barry Stander
http://www.4africa.net/4meta/Indicators/
Abraço
Como utilizar um arquivo EX4? Indicador de flutuação
Olá MFX,
Obrigado pela assistência. Não sei, porém, como transformar o arquivo EX4 em um arquivo .mq4 utilizável?? Você sabe? Quando o abro de dentro do MetaEditor, recebo apenas uma mensagem "Por favor, baixe o arquivo mais novo". De onde ele não diz. Se eu transformar o arquivo anexado, em um arquivo .txt e tentar abri-lo, é apenas uma besteira. Sugestões?
Obrigado,
MJ
Rapazes, não percam seu tempo. O último carro alegórico, assim como Barrys flutua para o MT4, está se rearranjando na história, então o que eles mostram não é verdade.
Eu não vi nenhuma versão funcional do indicador de flutuação (não aquela com MA`s, mas uma com Fibs e Histograms) em nenhum fórum durante o último ano.
Obrigado pelo arquivo fonte Barry.
Eu tentei o indicador de flutuação no mq4, é verdade que ele mesmo se pinta algumas vezes. O flutuador parece bastante confiável, mas há aquela pequena porcentagem. Eu o experimentei em uma demonstração há muitos meses atrás, parece que você pode realmente trocá-lo, mas não 100%. O indicador de flutuação postado aqui é muito diferente daquele que eu usei.
Eu tentei o indicador de flutuação no mq4, é verdade que ele se re-pinta às vezes. O flutuador parece bastante confiável, mas há aquela pequena porcentagem. Eu o experimentei em uma demonstração há muitos meses atrás, parece que você pode realmente trocá-lo, mas não 100%. O indicador de flutuação postado aqui é muito diferente daquele que eu usei.
qual você está usando, você pode postar por favor?

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Indicador muito interessante. Veja imagem anexa.
O vermelho está em aflição. Parece que não estamos negociando durante o aflat.