Page 1 of 1

Transformée de Fisher

Posted: 09 Dec 2021 11:20
by Lurubu
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");

Re: Transformée de Fisher

Posted: 14 Dec 2021 12:42
by philippeB
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

arfaitemeny

Posted: 18 Dec 2021 18:26
by Lurubu
Oui, j'ai réécrit le programme et cela fonctionne maintenant parfaitement.
Merci.