Bonjour,
J'ai trouvé sur le forum (allemand) ce code de la transformée de Fisher.
Je l'ai donc entré dans Express au format .txt.
Quand je veux le charger, l(indicateur est reconnu mais refuse de se charger.
Pouvez-vous m'aider ?
Merci.
Voici le code tel qu'écrit.
//Auteur : Bernard Chamblain
//Pseudo : Stargate
//Pays : France
// Ville : Bordeaux
//Version : 1.0
//Date : 10/2013
//==================================================================================
express Tranformée_Fisher
//==================================================================================
//==================================================================================
vars
//==================================================================================
Input $Len(1,50,13);
series MaxH(0),MinL(0),Fish(0),Fish1, price,value1, Log1, line(0), spreadfish;
//==================================================================================
calculation
//==================================================================================
If IsFirstBar() then
begin
CalculateAtEveryTick(false);
SetYScaleFormat(GetPriceFormat());
end
price =((H+L)/2);
if (CurrentBarIndex() > $Len) then
begin
MaxH = Highest(Price, $Len);
MinL = Lowest(Price, $Len);
if (MaxH-MinL)<>0 then
Value1 = 0.5*2*((Price-MinL)/(MaxH-MinL)-0.5)+0.5*Value1[1];
If Value1 > 0.9999 then Value1 = 0.9999;
If Value1 < -0.9999 then Value1 = -0.9999;
if (1-Value1) <>0 then
begin
Log1 = 0.25*log((1+Value1)/(1-Value1));
Fish = Log1 + 0.5*Fish[1];
end
end
Fish1 = fish[1];
spreadfish = (fish - fish1)*2;
//=================================================================================
interpretation TriggerLine( Fish,line);
//=================================================================================
//begin
//end
Plot (Fish, "Blue",2);
Plot (Fish1,"red",1);
//plot (Log1,"Blue",1);
plot (line,blue,1);
plotcrossinglines (fish, "LightBlue", 1, line, "", 1, "LightGreen", "Lightred");
plot (spreadfish, blue, 1);
plotcrossinglines (spreadfish, "LightBlue", 1, line, "", 1, "LightGreen", "Lightred");
Transformée de Fisher
Re: Transformée de Fisher
Apparemment le compilateur n'aime pas les "" dans la fonction plotcrossinglines. Cela bloque mais le compilateur ne fait pas de recommandation de correction. En corrigeant le code l'indicateur s'affiche mais ce n'est peut-être pas ce que l'auteur avait souhaite au niveau du remplissage
plotcrossinglines (fish, "LightBlue", 1, line, "magenta", 1, "LightGreen", "Lightred");
plotcrossinglines (spreadfish, "LightBlue", 1, line, "magenta", 1, "LightGreen", "Lightred");
La courbe en bleu fish correspond bien a la transformée de Fisher
plotcrossinglines (fish, "LightBlue", 1, line, "magenta", 1, "LightGreen", "Lightred");
plotcrossinglines (spreadfish, "LightBlue", 1, line, "magenta", 1, "LightGreen", "Lightred");
La courbe en bleu fish correspond bien a la transformée de Fisher
arfaitemeny
Oui, j'ai réécrit le programme et cela fonctionne maintenant parfaitement.
Merci.
Merci.