Flotteur

 

Indicateur très intéressant. Voir l'image ci-jointe.

Le rouge représente l'aflat. Il semble que nous n'effectuons pas de transactions pendant l'aflat.

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

Les autres indicateurs de flottement.

Dossiers :
 

Indicateur de flotteur.

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

Réécrire l'indicateur de flottement en .mq4 ?

Bonjour New Digital,

Quelqu'un a-t-il réécrit l'indicateur Float en script .mq4 pour MT4 ? Je vois qu'il y a une version .mql ici. Sur le forum SB, il y a une discussion sur cet indicateur et un expert a été écrit mais l'indicateur (écrit par Barry Stander) est bogué, et personne ne peut localiser le code source. J'ai trouvé le script suivant par 'Bigblock' sur le site de Gordago. Je ne suis pas sûr de ce script mais peut-être que la logique est claire pour une âme ambitieuse qui voudrait le faire fonctionner comme un fichier .mq4 ? C'est peut-être le même que le "Float" de Barry S., bien que celui-ci soit plus long (je ne suis pas un codeur).

Parmi les indicateurs Float postés ci-dessus, celui que je préfère est celui qui crée la rampe de lignes bleues de l'histogramme. J'ai également joint le fichier Float buggé du forum SB.

-MJ

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

/*[[

Nom := FLOAT

Auteur := Bigblockfw

Fenêtre séparée := Oui

Première couleur := Bleu

First Draw Type:= histogramme

Premier symbole := 217

Utiliser les secondes données := Oui

Deuxième couleur := Rouge

Second Type de Dessin := Ligne

Second symbole := 218

En changeant la valeur de Float à 100, l'affichage sera correct sur le graphique 15 min,

200 = 30 min 20 = 5 min

]]*/

Entrée : 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) ;

cumulatifV=0 ;

cumulativeV2=0 ;

SetLoopCount(0) ;

Si barres 1 alors

first = True ;

first1 = True ;

prevbars = Bars ;

FLOATV=0 ;

Si first Then Begin

loopbegin1 = Bars-float-1 ;

loopbegin2 = Bars-float-1 ;

first = Faux ;

loopbegin1 = loopbegin1+1 ;

For shift = loopbegin1 Downto 0 Begin

//trouver le haut et le bas

high_bar = H ;

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

//trouver le nombre de barres

bars_high = le plus haut(MODE_HIGH,float,float) ;

bars_low = lowest(MODE_LOW,float,float) ;

//trouver la différence entre les prix de swing

swing = H-

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

//trouver le nombre de barres en temps flottant

swing_time = abs(bars_low-bars_high) ;

//trouver le volume cumulé pour la période flottante

IF bars_high < bars_low then

{

cvstart=barres_low ;

cvend=barres_haut ;

}

sinon

{

cvstart=bars_high ;

cvend=bars_low ;

}

Si first1 et FLOATV=0 Alors Commencer

for shift = cvstart downto cvend Begin {

FLOATV=FLOATV+V[shift] ;

first1 = False;}

fin ;

//trouver le volume cumulé depuis la dernière rotation

for shift = cvstart downto 0 Begin

cumulativeV=cumulativeV+V[shift] ;

si cumulativeV>=FLOATV alors{

cumulativeV=0 ;

}

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

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

commentaire(

"\n", "high was ",bars_high," bars ago",

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

"\n", "Le temps flottant était = ", swing_time," bars",

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

"\n", "Volume flottant = ",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 alors{

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

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

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

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

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

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

}

//inversez les lignes de flottaison. Elles dessinent les lignes qui calculent la flottaison.

//si vous changez "trendline" en "Vline", les oscillateurs seront également dessinés.

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

//inverser les prédictions de flotteurs. Celles-ci sont uniquement basées sur le temps.

//voir l'histogramme bleu pour les valeurs réelles des flottants.

//Si vous changez "trendline" en "Vline", les oscillateurs seront également dessinés.

if cvend-swing_time>0 then {

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

if cvend-(swing_time*2)>0 then {

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

if cvend-(swing_time*3)>0 then {

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

if cvend-(swing_time*4)>0 then {

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

if cvend-(swing_time*5)>0 then {

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

if cvend-(swing_time*6)>0 then {

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

if cvend-(swing_time*7)>0 then {

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

if cvend-(swing_time*8)>0 then {

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

if cvend-(swing_time*9)>0 then {

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

//commentez tout ce que vous n'utilisez pas, cela aidera à la rapidité.

If Backtesting = 1 then {

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

if cvend-swing_time>0 then

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

if cvend-(swing_time*2)>0 then

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

si cvend-(swing_time*3)>0 then

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

si cvend-(swing_time*4)>0 then

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

si cvend-(swing_time*5)>0 then

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

si cvend-(swing_time*6)>0 then

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

si cvend-(swing_time*7)>0 then

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

si cvend-(swing_time*8)>0 then

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

si cvend-(swing_time*9)>0 then

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

}

Fin ;

fin ;

fin ;

fin ;

Dossiers :
float.mq4  4 kb
 

Bonjour,

J'ai l'indicateur float pour MT4 mais dans le fichier EX4 seulement de la page web de Barry Stander

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

Merci

Dossiers :
float.ex4  21 kb
 

Comment utiliser un fichier EX4 ? Indicateur de flottement

Bonjour MFX,

Merci pour votre aide. Cependant, je ne sais pas comment transformer le fichier EX4 en un fichier .mq4 utilisable... ? Le savez-vous ? Lorsque je l'ouvre à partir de MetaEditor, j'obtiens juste un message "Please download newest file". D'où ça ne dit rien. Si je transforme le fichier que vous avez joint en un fichier .txt et que j'essaie de l'ouvrir, je n'obtiens que du charabia. Des suggestions ?

Merci,

MJ

 

Bonjour,

Le fichier ex4 ne s'ouvre pas dans le Meta Editor, copiez dans votre colle C:Progam Files\MetaTrader\Experts\Indicators et redémarrez votre plateforme, si vous utilisez le mode iCustom il fonctionne aussi.

Salutations

 

Les gars, ne perdez pas votre temps, le dernier float, ainsi que le float de Barry pour MT4 sont en train de se réorganiser dans l'histoire, donc ce qu'ils montrent n'est pas vrai.

Je n'ai pas vu de version fonctionnelle de l'indicateur float (pas celui avec les MA, mais celui avec les Fibs et les histogrammes) sur aucun forum depuis un an.

 

Merci pour le fichier source Barry.

 

J'ai essayé l'indicateur float sur mq4, il est vrai qu'il se repeint parfois. Le flottant semble assez fiable, mais il y a ce petit pourcentage. Je l'ai essayé sur une démo il y a plusieurs mois, il semble que l'on puisse trader à partir de cet indicateur, mais pas à 100%. L'indicateur de marge affiché ici est très différent de celui que j'ai utilisé.

 
et_phonehome_2:
J'ai essayé l'indicateur float sur mq4, il est vrai qu'il se repeint parfois. Le flottant semble assez fiable, mais il y a ce petit pourcentage. Je l'ai essayé sur une démo il y a plusieurs mois, il semble que l'on puisse trader à partir de cet indicateur, mais pas à 100%. L'indicateur de flottement affiché ici est très différent de celui que j'ai utilisé.

Quel est celui que vous utilisez, pouvez-vous l'afficher s'il vous plaît ?