Suite à une demande j'ai programmé pour la Nano FutureStation une STPMT colorisée. Autant vous en faire profiter.
Si vous voyez des modifications à faire ou si vous pensez que c'est programmé avec les pieds, n'hésitez pas à expliquer pourquoi : plus on discute, plus on progresse.
Pour utiliser cet indicateur, il faut créer un nouvel indicateur Express et faire un copier/coller du code qui suit, puis valider, enregistrer et confirmer.
Notez que la STPMT de WHS DOIT ETRE PRESENTE EN SENTIMENTOR pour que la version colorisée apparaisse.
Tentative de fichier joint, à copier dans votre répertoire Express : .E_STPMT_COLOR.txt
Express E_STPMT_COLOR
// Author Eric Lefort for MOGALEF
// AOUT 2013
Vars
input $smoth(1,20,9);
series INDIC(WHSSTPMT.main),StoA(WHSSTPMT.StoA),StoB(WHSSTPMT.StoB),StoC(WHSSTPMT.StoC),StoD(WHSSTPMT.StoD);
series RedSTPMT,greenSTPMT,MMSTPMT,a;
series RedHole,GreenHole;
numeric i;
Calculation
a=0;
// cette partie est très importante pour optimiser le temps de calcul et ne pas ralentir la plateforme. A retenir pour ceux qui ne procèdent pas ainsi
if isfinalbar() then begin
CalculateAtEveryTick(false);
for i =0 to currentbarindex()
begin
MovingAverage(INDIC,MMSTPMT,$smoth);
end
end
if Indic>=Indic[1] then begin // on veut que le vert apparaisse
greenSTPMT=indic;
redSTPMT=void;
end
else begin // sinon, on veut le rouge
redSTPMT=indic;
greenSTPMT=void;
end
// et pour combler les trous :
If (redSTPMT[1]=indic[1]) and (greenSTPMT=indic) then // combler le précédent en vert
begin
greenHole[1]=Indic[1];
greenhole=indic;
end
else begin
greenhole=void;
end
If (greenSTPMT[1]=indic[1]) and (redSTPMT=indic) then // combler le précédent en rouge
begin
redHole[1]=Indic[1];
redhole=indic;
end
else begin
redhole=void;
end
Interpretation
begin
// ici votre interprétation
end
Plot(MMSTPMT,blue,2); // moyenne mobile
Plot(redSTPMT,red,2); // STPMT
Plot(greenSTPMT,green,2); // STPMT
Plot(greenhole,green,2); // STPMT
Plot(redhole,red,2); // STPMT
plotband(greenSTPMT,"green",0,MMSTPMT,"red",0,"lightgreen");// Facultatif
plotband(greenHole,"green",0,MMSTPMT,"red",0,"lightgreen");// Facultatif
plotband(redSTPMT,"green",0,MMSTPMT,"red",0,"lightred");// Facultatif
plotband(redHole,"green",0,MMSTPMT,"red",0,"lightred");// Facultatif
Si vous voyez des modifications à faire ou si vous pensez que c'est programmé avec les pieds, n'hésitez pas à expliquer pourquoi : plus on discute, plus on progresse.
Pour utiliser cet indicateur, il faut créer un nouvel indicateur Express et faire un copier/coller du code qui suit, puis valider, enregistrer et confirmer.
Notez que la STPMT de WHS DOIT ETRE PRESENTE EN SENTIMENTOR pour que la version colorisée apparaisse.
Tentative de fichier joint, à copier dans votre répertoire Express : .E_STPMT_COLOR.txt
Express E_STPMT_COLOR
// Author Eric Lefort for MOGALEF
// AOUT 2013
Vars
input $smoth(1,20,9);
series INDIC(WHSSTPMT.main),StoA(WHSSTPMT.StoA),StoB(WHSSTPMT.StoB),StoC(WHSSTPMT.StoC),StoD(WHSSTPMT.StoD);
series RedSTPMT,greenSTPMT,MMSTPMT,a;
series RedHole,GreenHole;
numeric i;
Calculation
a=0;
// cette partie est très importante pour optimiser le temps de calcul et ne pas ralentir la plateforme. A retenir pour ceux qui ne procèdent pas ainsi
if isfinalbar() then begin
CalculateAtEveryTick(false);
for i =0 to currentbarindex()
begin
MovingAverage(INDIC,MMSTPMT,$smoth);
end
end
if Indic>=Indic[1] then begin // on veut que le vert apparaisse
greenSTPMT=indic;
redSTPMT=void;
end
else begin // sinon, on veut le rouge
redSTPMT=indic;
greenSTPMT=void;
end
// et pour combler les trous :
If (redSTPMT[1]=indic[1]) and (greenSTPMT=indic) then // combler le précédent en vert
begin
greenHole[1]=Indic[1];
greenhole=indic;
end
else begin
greenhole=void;
end
If (greenSTPMT[1]=indic[1]) and (redSTPMT=indic) then // combler le précédent en rouge
begin
redHole[1]=Indic[1];
redhole=indic;
end
else begin
redhole=void;
end
Interpretation
begin
// ici votre interprétation
end
Plot(MMSTPMT,blue,2); // moyenne mobile
Plot(redSTPMT,red,2); // STPMT
Plot(greenSTPMT,green,2); // STPMT
Plot(greenhole,green,2); // STPMT
Plot(redhole,red,2); // STPMT
plotband(greenSTPMT,"green",0,MMSTPMT,"red",0,"lightgreen");// Facultatif
plotband(greenHole,"green",0,MMSTPMT,"red",0,"lightgreen");// Facultatif
plotband(redSTPMT,"green",0,MMSTPMT,"red",0,"lightred");// Facultatif
plotband(redHole,"green",0,MMSTPMT,"red",0,"lightred");// Facultatif
Commentaire