Galleggiante

 

Indicatore molto interessante. Vedi immagine allegata.

Il rosso è l'aflat. Sembra che non stiamo facendo trading durante l'aflat.

File:
floatma.mql  1 kb
float_mt3.jpg  83 kb
 

Gli altri indicatori di galleggiamento.

 

Indicatore di galleggiamento.

File:
float.jpg  98 kb
float.mql  9 kb
 

Riscrivere l'indicatore Float in .mq4 ?

Ciao New Digital,

Qualcuno ha riscritto l'indicatore Float in uno script .mq4 per MT4? Ho visto che c'è una versione .mql qui. Sul forum SB c'è una discussione su questo indicatore più un esperto è stato scritto ma l'indicatore (scritto da Barry Stander) si comporta male, e nessuno può individuare il codice sorgente. Ho trovato il seguente script di 'Bigblock' pubblicato sul sito di Gordago. Non sono sicuro di quale script sia, ma forse la logica è chiara a qualche anima ambiziosa che vorrebbe farlo funzionare come un file .mq4? Potrebbe essere lo stesso del 'Float' di Barry S. anche se questo è più lungo (non sono un codificatore)

Degli indicatori Float postati sopra, quello che preferisco è quello che crea la rampa di linee blu dell'istogramma. Ho anche allegato il file Float buggato dal forum SB.

-MJ

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

/*[[

Nome := FLOAT

Autore := Bigblockfw

Finestra separata := Sì

Primo colore := Blu

Primo tipo di disegno:= istogramma

Primo simbolo := 217

Usa i secondi dati := Sì

Secondo colore := Rosso

Secondo tipo di disegno := Linea

Secondo simbolo := 218

Cambiare il valore di Float a 100 permetterà di visualizzarlo correttamente sul grafico a 15 minuti,

200 = 30 min 20 = 5 min

]]*/

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

Variabile :

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

Variabile :

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

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

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

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

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

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

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

cumulativeV=0;

cumulativeV2=0;

SetLoopCount(0);

Se le barre 1 allora

first = True;

first1 = True;

prevbars = Bars;

FLOATV=0;

Se primo allora inizia

loopbegin1 = Bars-float-1;

loopbegin2 = Bars-float-1;

first = False;

loopbegin1 = loopbegin1+1;

Per shift = loopbegin1 giù fino a 0 iniziare

/Trova il massimo e il minimo

high_bar = H;

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

//trova i conteggi delle barre

bars_high = più alto(MODE_HIGH,float,float);

bars_low = più basso(MODE_LOW,float,float);

//trova la differenza di prezzo dell'oscillazione

swing = H-

L[Più basso(MODE_LOW,float,float)];

//trova il conteggio delle barre a tempo fluttuante

swing_time = abs(bars_low-bars_high);

//trova il volume cumulativo per il periodo float

SE barre_alte < barre_basse allora

{

cvstart=bars_low;

cvend=bars_high;

}

altrimenti

{

cvstart=bars_high;

cvend=bars_low;

}

Se first1 e FLOATV=0 allora inizia

for shift = cvstart downto cvend Begin {

FLOATV=FLOATV+V[shift];

first1 = Falso;}

fine;

/trova il volume cumulativo dall'ultimo turnover

for shift = cvstart downto 0 Begin

cumulativeV=cumulativeV+V[shift];

se cumulativeV>=FLOATV allora{

cumulativeV=0;

}

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

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

commento(

"\n", "alto era ",barre_alto," barre fa",

"\n", "Low was ",bars_low," bars ago","\n",

"\n", "Il tempo di fluttuazione era = ", swing_time," barre",

"\n", "Vol. fluttuante a sinistra = ",FLOATV-cumulativeV,

"\n", "Volume fluttuante = ",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 use_fibos=1 allora{

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,time[0],fib62,time[0],fib62,Green);

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. linee float. queste disegnano le linee che calcolano il float

//se cambiate "trendline" in "Vline" disegnerà anche attraverso gli oscillatori.potrebbe essere divertente

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);

//invertire le previsioni float. Queste sono solo basate sul tempo.

//vedi l'istogramma blu per i valori reali dei float.

//se cambiate "trendline" in "Vline", disegnerà anche attraverso gli oscillatori.

se cvend-swing_time>0 allora {

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);

se cvend-(swing_time*2)>0 allora {

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);

se cvend-(swing_time*3)>0 allora {

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);

se cvend-(swing_time*4)>0 allora {

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);

se cvend-(swing_time*5)>0 allora {

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);

se cvend-(swing_time*6)>0 allora {

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);

se cvend-(swing_time*7)>0 allora {

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);

se cvend-(swing_time*8)>0 allora {

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);

se cvend-(swing_time*9)>0 allora {

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,0);

//commenta tutto ciò che non stai usando, ti aiuterà con la velocità.

Se Backtesting = 1 allora {

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",Low_bar);

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);

se cvend-swing_time>0 allora

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

se cvend-(swing_time*2)>0 allora

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

se cvend-(swing_time*3)>0 allora

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

se cvend-(swing_time*4)>0 allora

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

se cvend-(swing_time*5)>0 allora

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

se cvend-(swing_time*6)>0 allora

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

se cvend-(swing_time*7)>0 allora

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

se cvend-(swing_time*8)>0 allora

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

se cvend-(swing_time*9)>0 allora

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

}

Fine;

fine;

fine;

fine;

File:
float.mq4  4 kb
 

Ciao,

Ho l'indicatore float per MT4 ma nel file EX4 solo dalla pagina web di Barry Stander

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

Saluti

File:
float.ex4  21 kb
 

Come usare un file EX4? Indicatore di fluttuazione

Ciao MFX,

Grazie per l'assistenza. Non so però come trasformare il file EX4 in un file .mq4 utilizzabile? Lo sai? Quando lo apro dall'interno di MetaEditor ottengo solo un messaggio "Please download newest file". Da dove non lo dice. Se trasformo il file che hai allegato, in un file .txt e provo ad aprirlo, mi esce solo un messaggio senza senso. Suggerimenti?

Grazie,

MJ

 

Ciao,

Il file ex4 non si apre nel Meta Editor. Copia nel tuo C:Progam Files\MetaTrader\Experts\Indicators e riavvia la tua piattaforma, se usi la modalità iCustom è anche in esecuzione.

Saluti

 

Ragazzi, non perdete il vostro tempo. L'ultimo float, così come Barrys float per MT4 si stanno riorganizzando nella storia, quindi quello che mostrano non è vero.

Non ho visto nessuna versione funzionante dell'indicatore float (non quello con le MA, ma quello con Fibs e Istogrammi) su nessun forum nell'ultimo anno.

 

Grazie per il file sorgente Barry.

 

Ho provato l'indicatore float su mq4, è vero che a volte si ridipinge da solo. Il float sembra abbastanza affidabile, ma c'è quella piccola percentuale. L'ho provato per un po' su una demo molti mesi fa, sembra che si possa effettivamente fare trading su di esso, ma non al 100%. L'indicatore float postato qui è diverso da quello che ho usato io.

 
et_phonehome_2:
Ho provato l'indicatore float su mq4, è vero che si ridisegna da solo a volte. Il float sembra abbastanza affidabile, ma c'è quella piccola percentuale. L'ho provato per un po' su una demo molti mesi fa, sembra che si possa effettivamente fare trading su di esso, ma non al 100%. L'indicatore float postato qui è diverso da quello che ho usato io.

Quale stai usando, puoi postare per favore?