Importer un indicateur sur ProRealTime
-
Ben2097
- Messages : 4
- Enregistré le : 21 août 2014 12:15
Importer un indicateur sur ProRealTime
Bonjour,
J'ai téléchargé le code d'un indicateur pour ProRealTime, mais je n'arrive pas à l'installer.
Un simple indicateur basé sur les volumes.
J'ai simplement copier/coller le code dans ProBuilder mais cela ne fonctionne pas. Il semble qu'une erreur de syntaxe intervienne.
N'y connaissant rien en programmation, je me permets de poster ici pour demander de l'aide.
Merci.
Cordialement.
Le fichier au format pdf :
J'ai téléchargé le code d'un indicateur pour ProRealTime, mais je n'arrive pas à l'installer.
Un simple indicateur basé sur les volumes.
J'ai simplement copier/coller le code dans ProBuilder mais cela ne fonctionne pas. Il semble qu'une erreur de syntaxe intervienne.
N'y connaissant rien en programmation, je me permets de poster ici pour demander de l'aide.
Merci.
Cordialement.
Le fichier au format pdf :
- Fichiers joints
-
Better Volume ProRealTime 10Dec09 1.pdf- (39.62 Kio) Téléchargé 2139 fois
-
takapoto
- Membre du Conseil Jedi
- Messages : 7801
- Enregistré le : 16 déc. 2013 15:56
Re: Importer un indicateur sur ProRealTime
Voici le code débarrassé des erreurs de syntaxes
N'oublie pas de créer les 3 variables :
History = Boolean
Use2Bars = Boolean
Lookback = 20
N'oublie pas de créer les 3 variables :
History = Boolean
Use2Bars = Boolean
Lookback = 20
Code : #
// Better Volume Indicator - Summary
// ClimaxUp (Red) : Top, Start Up Trend, Down Trend Continue
// ClimaxDown (White): Bottom, Up Trend Continue, Start Down Trend
// LowVolume (Yellow): Bottom, Top, Up Trend Continue
// Churn (Green): Bottom, Top, Down Trend Continue
// ClimaxChurn (Magenta): Top, Down Trend Continue
// Parameter: History = Boolean
// Parameter: Use2Bars = Boolean
// Parameter: Lookback = 20
ONCE Condition1 = 0
ONCE Condition2 = 0
ONCE Condition3 = 0
ONCE Condition4 = 0
ONCE Condition5 = 0
ONCE Condition6 = 0
ONCE Condition7 = 0
ONCE Condition8 = 0
ONCE Condition9 = 0
ONCE Condition10 = 0
ONCE Condition11 = 0
ONCE Condition12 = 0
ONCE Condition13 = 0
ONCE Condition14 = 0
ONCE Condition15 = 0
ONCE Condition16 = 0
ONCE Condition17 = 0
ONCE Condition18 = 0
ONCE Condition19 = 0
ONCE Condition20 = 0
VolValue = Volume
LowVolValue = VolValue
ClimaxUpValue = VolValue
ClimaxDownValue = VolValue
ChurnValue = VolValue
ClimaxChurnValue = VolValue
StopVolValue = VolValue
TrampolineValue = VolValue
AVVolume = Average[Lookback*2](VolValue)
IF History = 0 THEN
BI = 400
ELSIF History = 1 THEN
BI = Lookback
ENDIF
IF BARINDEX > BI AND Volume <> 0 THEN
IF Close > Open THEN
Value1 = Volume * (Range / (2 * Range + Open - Close))
ELSIF Close < Open THEN
Value1= Volume * ((Range + Close - Open) / (2 * Range + Close - Open))
ENDIF
IF Close = Open THEN
Value1 = 0.5 * Volume
ENDIF
Value2 = Volume - Value1
Value3 = Value1 + Value2
Value4 = Value1 * Range
Value5 = (Value1 - Value2) * Range
Value6 = Value2 * Range
Value7 = (Value2 - Value1) * Range
IF Range <> 0 THEN
Value8 = Value1 / Range
Value9 = (Value1 - Value2) / Range
Value10 = Value2 / Range
Value11 = (Value2 - Value1) / Range
Value12 = Value3 / Range
ENDIF
Value13 = Value3 +Value3[1]
Value14 = (Value1+Value1[1]) * (Highest[2](High) - Lowest[2](Low))
Value15 = (Value1+Value1[1] - Value2 - Value2[1]) * (Highest[2](High) - Lowest[2](Low))
Value16 = (Value2 + Value2[1]) * (Highest[2](High) - Lowest[2](Low))
Value17 = (Value2 + Value2[1] - Value1 - Value1[1]) * (Highest[2](High) - Lowest[2](Low))
IF Highest[2](High) <> Lowest[2](Low) THEN
Value18 = (Value1 + Value1[1]) / (Highest[2](High) - Lowest[2](Low))
ENDIF
Value19 = (Value1 + Value1[1] - Value2 - Value2[1]) / (Highest[2](High) - Lowest[2](Low))
Value20 = (Value2 + Value2[1]) / (Highest[2](High) - Lowest[2](Low))
Value21 = (Value2 + Value2[1] - Value1 - Value1[1]) / (Highest[2](High) - Lowest[2](Low))
Value22 = Value13 / (Highest[2](High) - Lowest[2](Low))
IF Use2Bars = 0 THEN
Condition1 = Value3 = Lowest[Lookback](Value3)
Condition2 = Value4 = Highest[Lookback](Value4) AND Close > Open
Condition3 = Value5 = Highest[Lookback](Value5) AND Close > Open
Condition4 = Value6 = Highest[Lookback](Value6) AND Close < Open
Condition5 = Value7 = Highest[Lookback](Value7) AND Close < Open
Condition6 = Value8 = Lowest[Lookback](Value8) AND Close < Open
Condition7 = Value9 = Lowest[Lookback](Value9) AND Close < Open
Condition8 = Value10 = Lowest[Lookback](Value10) AND Close > Open
Condition9 = Value11 = Lowest[Lookback](Value11) AND Close > Open
Condition10 = Value12 = Highest[Lookback](Value12)
ELSIF Use2Bars = 1 THEN
Condition11 = Value13 = Lowest[Lookback](Value13)
Condition12 = Value14 = Highest[Lookback](Value14) AND Close > Open AND Close[1] > Open[1]
Condition13 = Value15 = Highest[Lookback](Value15) AND Close > Open AND Close[1] > Open[1]
Condition14 = Value16 = Highest[Lookback](Value16) AND Close < Open AND Close[1] < Open[1]
Condition15 = Value17 = Highest[Lookback](Value17) AND Close < Open AND Close[1] < Open[1]
Condition16 = Value18 = Lowest[Lookback](Value18) AND Close < Open AND Close[1] < Open[1]
Condition17 = Value19 = Lowest[Lookback](Value19) AND Close < Open AND Close[1] < Open[1]
Condition18 = Value20 = Lowest[Lookback](Value20) AND Close > Open AND Close[1] > Open[1]
Condition19 = Value21 = Lowest[Lookback](Value21) AND Close > Open AND Close[1] > Open[1]
Condition20 = Value22 = Highest[Lookback](Value22)
ENDIF
IF (Condition1 or Condition11) THEN // Yellow
LowVol = LowVolValue
ELSE
LowVol = 0
ENDIF
IF (Condition2 or Condition3 or Condition8 or Condition9 or Condition12 or Condition13 or Condition18 or Condition19) THEN // Red
ClimaxUp = ClimaxUpValue
IF LowVol <> 0 THEN
ClimaxUp = ClimaxUpValue / 2
ENDIF
ELSE
ClimaxUp = 0
ENDIF
IF (Condition4 or Condition5 or Condition6 or Condition7 or Condition14 or Condition15 or Condition16 or Condition17) THEN
ClimaxDown = ClimaxDownValue
IF LowVol <> 0 OR ClimaxUp <> 0 THEN
ClimaxDown = ClimaxDownValue
ENDIF
ELSE
ClimaxDown = 0
ENDIF
IF (Condition10 or Condition20) THEN // Green
Churn = ChurnValue
IF LowVol <> 0 OR ClimaxUp <> 0 OR ClimaxDown <> 0 THEN
Churn = ChurnValue / 2
ENDIF
ELSE
Churn = 0
ENDIF
IF (Condition10 or Condition20) AND (Condition2 or Condition3 or Condition4 or Condition5 or Condition6 or Condition7 or Condition8 or Condition9 or Condition12 or Condition13 or Condition14 or Condition15 or Condition16 or Condition17 or Condition18 or Condition19) THEN
IF Churn <> 0 AND (ClimaxUp <> 0 OR ClimaxDown <> 0) THEN // Magenta
ClimaxChurn = ClimaxChurnValue
ELSE
ClimaxChurn = 0
ENDIF
//StopVolume
LocalClosingPosition = 1 - (High - Close) / (High - Low)
IF Volume > Volume[1] AND Range < Range[1] AND ((High > High[1] AND LocalClosingPosition < 0.4) OR (Low < Low[1] AND LocalClosingPosition > 0.6)) THEN
StopVol = StopVolValue * 1 / 3 // HigherVolume & LowerRange @HigherHigh or LowerLow - DBlue
ELSE
StopVol = 0
ENDIF
//Trampoline
FOR i = 1 TO 2 // Close together
IF ((ClimaxChurn[i] > 0 OR ClimaxUp[i] > 0) AND (ClimaxChurn > 0 OR ClimaxUp > 0)) AND ((Close[i] > Open[i] AND Close < Open) OR (Close[i] < Open[i] AND Close > Open)) THEN
Trampoline = TrampolineValue * 1 / 4
BREAK
ELSE
Trampoline = 0
ENDIF
NEXT
ENDIF
endif
RETURN Volume COLOURED (0, 200, 200) AS "Volume (LBlue)", LowVol COLOURED (255, 255, 0) AS "LowVol (Yellow Histo): Bottom & Top & UpTrend Cont",ClimaxUp COLOURED (255, 0, 0) AS "Climax Up (Red Histo): Start UpTrend & Top & DownTrend Cont", ClimaxDown COLOURED (255, 255, 255) AS "ClimaxDown (WhiteHisto): Bottom & UpTrend Cont & Start Down Trend" , Churn COLOURED (0, 155, 50) AS "Churn = HighVol@LowRange (Green Histo): Bottom & Top & Down Trend Cont",ClimaxChurn COLOURED (255, 0, 255) AS "ClimaxChurn (Magenta Histo): Top & DownTrend Cont: Brearish", Trampoline COLOURED (0, 0, 255) AS "Trampoline (DBlue Histo): Reversal", StopVol COLOURED (0, 0, 0) AS "StopVol (Black Histo): Profit Taking", AVVolume COLOURED (255, 0, 0) AS "AVVolume (Red Line)"-
Ben2097
- Messages : 4
- Enregistré le : 21 août 2014 12:15
Re: Importer un indicateur sur ProRealTime
Ok super, Cela fonctionne. Merci Beaucoup.
Cependant, je ne sais pas si c'est normal mais il n'y a pas de modifications de couleurs sur les chandeliers de prix ?
Cependant, je ne sais pas si c'est normal mais il n'y a pas de modifications de couleurs sur les chandeliers de prix ?
-
Benoist Rousseau
- Trader Futures / CME Member
- Messages : 174715
- Enregistré le : 06 sept. 2011 22:45
Re: Importer un indicateur sur ProRealTime
Merci de te présenter pour bénéficier des réponses des membres : présentation des membres 
-
benylio
- Ewok
- Messages : 12
- Enregistré le : 14 août 2015 14:13
Re: Importer un indicateur sur ProRealTime
Bonjour a tous
J ai un screener qui a un problème de syntaxe ,pour proréaltime .
quelqu'un peux m' aider ?
j' ai passé des heures a essayé de faire fonctionner se screener et aucun résultat !!!
J ai un screener qui a un problème de syntaxe ,pour proréaltime .
quelqu'un peux m' aider ?
j' ai passé des heures a essayé de faire fonctionner se screener et aucun résultat !!!
-
benylio
- Ewok
- Messages : 12
- Enregistré le : 14 août 2015 14:13
Re: Importer un indicateur sur ProRealTime
Bonjour a tous
J ai un screener qui a un problème de syntaxe ,pour proréaltime .
quelqu'un peux m' aider ?
j' ai passé des heures a essayé de faire fonctionner se screener et aucun résultat !!!
Cordialement .
// Center of Gravity (COG) indicator, original idea from El Mostafa Belkhayate
// Amibroker AFL code by E.M.Pottasch, 2011
// Based on code by Fred Tonetti, 2006, n-th order Polynomial fit (see Amibroker Lib)
// JohnCW provided Gaussian_Eliminationsv function based on static variables.
//SetBarsRequired(sbrAll,sbrAll);
BI=BarIndex();
Profit factor_EndBar=LastValue(BI);
Profit factor_Y=(H+L)/2;
Profit factor_Order=Param("nth Order",3,1,8,1);
Profit factor_ExtraB=Param("Extrapolate Backwards",0,0,50,1);
Profit factor_ExtraF=Param("Extrapolate Forwards",0,0,50,1);
Lookback=Param("Lookback Period",100,50,500,1);
sv=ParamToggle("Use Selected Value","Off|On",1);
norm=ParamToggle("Error Levels","Fibonacci|Normal",1);
if (sv)
{
Profit factor_EndBar=SelectedValue(bi);
Profit factor_BegBar=Profit factor_EndBar-Lookback;
}
else
{
Profit factor_BegBar=Profit factor_EndBar-Lookback;
}
function D2Set(L_value,i,j,L_name)
{
local L_value,L_name,i,j;
StaticVarSet(L_name + ":" + i + "," + j, L_value);
}
function D2Get(i,j,L_name)
{
local L_name,i,j;
return(Nz(StaticVarGet(L_name + ":" + i + "," + j),0));
}
function Gaussian_Eliminationsv(GE_Order,GE_N,GE_SumXn,GE_SumYXn)
{
w=0;Coeff=0;
n=GE_Order+1;
for(i=1;i<=n;i++ )
{
for(j=1;j<=n;j++)
{
if (i==1 AND j==1)
D2Set(GE_N,i,j,"b");
else
D2Set(GE_SumXn[i+j-2],i,j,"b");
}
w=GE_SumYXn;
}
n1=n-1;
for(i=1;i<=n1;i++)
{
big=abs(D2Get(i,i,"b"));
q=i;
i1=i+1;
for(j=i1;j<=n;j++)
{
ab=abs(D2Get(j,i,"b"));
if(ab>=big)
{
big=ab;
q=j;
}
}
if (big!=0)
{
if (q!=i)
{
for (j=1;j<=n;j++)
{
Temp=D2Get(q,j,"b");
D2Set(D2Get(i,j,"b"),q,j,"b");
D2Set(Temp,i,j,"b");
}
Temp=w;
w=w[q];
w[q]=Temp;
}
}
for(j=i1;j<=n;j++)
{
t=D2Get(j,i,"b")/D2Get(i,i,"b");
for(k=i1;k<=n;k++)
{
D2Set(D2Get(j,k,"b")-t*D2Get(i,k,"b"),j,k,"b");
}
w[j]=w[j]-t*w;
}
}
if(D2Get(n,n,"b")!=0)
{
Coeff[n]=w[n]/D2Get(n,n,"b");
i=n-1;
while(i>0)
{
SumY=0;
i1=i+1;
for(j=i1;j<=n;j++)
{
SumY=SumY+D2Get(i,j,"b")*Coeff[j];
}
Coeff=(w-SumY)/D2Get(i,i,"b");
i=i-1;
}
}
return Coeff;
}
function PolyFit(GE_Y,GE_BegBar,GE_EndBar,GE_Order,GE_ExtraB,GE_ExtraF)
{
BI=BarIndex();
GE_N=GE_EndBar-GE_BegBar+1;
GE_XBegin=-(GE_N-1)/2;
GE_X=IIf(BI<GE_BegBar,0,IIf(BI>GE_EndBar,0,(GE_XBegin+BI-GE_BegBar)));
GE_X_Max=LastValue(Highest(GE_X));
GE_X=GE_X/GE_X_Max;
X1=GE_X;
GE_Y=IIf(BI<GE_BegBar,0,IIf(BI>GE_EndBar,0,GE_Y));
GE_SumXn=Cum(0);
GE_SumXn[1]=LastValue(Cum(GE_X));
GE_X2=GE_X*GE_X;GE_SumXn[2]=LastValue(Cum(GE_X2));
GE_X3=GE_X*GE_X2;GE_SumXn[3]=LastValue(Cum(GE_X3));
GE_X4=GE_X*GE_X3;GE_SumXn[4]=LastValue(Cum(GE_X4));
GE_X5=GE_X*GE_X4;GE_SumXn[5]=LastValue(Cum(GE_X5));
GE_X6=GE_X*GE_X5;GE_SumXn[6]=LastValue(Cum(GE_X6));
GE_X7=GE_X*GE_X6;GE_SumXn[7]=LastValue(Cum(GE_X7));
GE_X8=GE_X*GE_X7;GE_SumXn[8]=LastValue(Cum(GE_X8));
GE_X9=GE_X*GE_X8;GE_SumXn[9]=LastValue(Cum(GE_X9));
GE_X10=GE_X*GE_X9;GE_SumXn[10]=LastValue(Cum(GE_X10));
GE_X11=GE_X*GE_X10;GE_SumXn[11]=LastValue(Cum(GE_X11));
GE_X12=GE_X*GE_X11;GE_SumXn[12]=LastValue(Cum(GE_X12));
GE_X13=GE_X*GE_X12;GE_SumXn[13]=LastValue(Cum(GE_X13));
GE_X14=GE_X*GE_X13;GE_SumXn[14]=LastValue(Cum(GE_X14));
GE_X15=GE_X*GE_X14;GE_SumXn[15]=LastValue(Cum(GE_X15));
GE_X16=GE_X*GE_X15;GE_SumXn[16]=LastValue(Cum(GE_X16));
GE_SumYXn=Cum(0);
GE_SumYXn[1]=LastValue(Cum(GE_Y));
GE_YX=GE_Y*GE_X;GE_SumYXn[2]=LastValue(Cum(GE_YX));
GE_YX2=GE_YX*GE_X;GE_SumYXn[3]=LastValue(Cum(GE_YX2));
GE_YX3=GE_YX2*GE_X;GE_SumYXn[4]=LastValue(Cum(GE_YX3));
GE_YX4=GE_YX3*GE_X;GE_SumYXn[5]=LastValue(Cum(GE_YX4));
GE_YX5=GE_YX4*GE_X;GE_SumYXn[6]=LastValue(Cum(GE_YX5));
GE_YX6=GE_YX5*GE_X;GE_SumYXn[7]=LastValue(Cum(GE_YX6));
GE_YX7=GE_YX6*GE_X;GE_SumYXn[8]=LastValue(Cum(GE_YX7));
GE_YX8=GE_YX7*GE_X;GE_SumYXn[9]=LastValue(Cum(GE_YX8));
GE_Coeff=Cum(0);
GE_Coeff=Gaussian_Eliminationsv(GE_Order,GE_N,GE_SumXn,GE_SumYXn);
for (i = 1; i <= GE_Order + 1; i++) printf(NumToStr(i, 1.0) + " = " + NumToStr(GE_Coeff, 1.9) + "\n");
GE_X=IIf(BI<GE_BegBar-GE_ExtraB-GE_ExtraF,0,IIf(BI>GE_EndBar,0,(GE_XBegin+BI-GE_BegBar+GE_ExtraF)/GE_X_Max));
GE_X2=GE_X*GE_X;GE_X3=GE_X2*GE_X;GE_X4=GE_X3*GE_X;GE_X5=GE_X4*GE_X;GE_X6=GE_X5*GE_X;
GE_X7=GE_X6*GE_X;GE_X8=GE_X7*GE_X;GE_X9=GE_X8*GE_X;GE_X10=GE_X9*GE_X;GE_X11=GE_X10*GE_X;
GE_X12=GE_X11*GE_X;GE_X13=GE_X12*GE_X;GE_X14=GE_X13*GE_X;GE_X15=GE_X14*GE_X;GE_X16=GE_X15*GE_X;
GE_Yn=IIf(BI<GE_BegBar-GE_ExtraB-GE_ExtraF,-1e10,IIf(BI>GE_EndBar,-1e10,GE_Coeff[1]+
GE_Coeff[2]*GE_X+GE_Coeff[3]*GE_X2+GE_Coeff[4]*GE_X3+GE_Coeff[5]*GE_X4+GE_Coeff[6]*GE_X5+
GE_Coeff[7]*GE_X6+GE_Coeff[8]*GE_X7+GE_Coeff[9]*GE_X8));
return GE_Yn;
}
Yn=PolyFit(Profit factor_Y,Profit factor_BegBar,Profit factor_EndBar,Profit factor_Order,Profit factor_ExtraB,Profit factor_ExtraF);
SetChartOptions(0, chartShowDates);
Title = "Symbol: "+ Name()+ "\nPoly Order: "+Profit factor_Order;
Plot(C, "Close",colorLightGrey,styleCandle);
Plot(Yn,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,colorBlue)),styleThick,Null,Null,Profit factor_ExtraF);
if(norm)
{
se=StdErr((C-Yn),LookBack);se=se[Profit factor_EndBar];
//se=StDev(C,LookBack);se=se[Profit factor_EndBar];
seh2=Yn+ValueWhen(Yn,se*2);
sel2=Yn-ValueWhen(Yn,se*2);
seh1=Yn+ValueWhen(Yn,se*1);
sel1=Yn-ValueWhen(Yn,se*1);
Plot(seh2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,0,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(sel2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(0,255,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(seh1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,100,100))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(sel1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(100,255,100))),styleDashed,Null,Null,Profit factor_ExtraF);
}
else
{
se=StDev(C,LookBack);se=se[Profit factor_EndBar];
r1=(1+5^0.5)/2;
se=se*r1;
seh3=Yn+ValueWhen(Yn,se);
sel3=Yn-ValueWhen(Yn,se);
seh2=Yn+ValueWhen(Yn,se/(1.382));
sel2=Yn-ValueWhen(Yn,se/(1.382));
seh1=Yn+ValueWhen(Yn,se/(1.382*1.618));
sel1=Yn-ValueWhen(Yn,se/(1.382*1.618));
Plot(seh3,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,0,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(sel3,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(0,255,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(seh2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,100,100))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(sel2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(100,255,100))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(seh1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,200,200))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(sel1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(200,255,200))),styleDashed,Null,Null,Profit factor_ExtraF);
}
J ai un screener qui a un problème de syntaxe ,pour proréaltime .
quelqu'un peux m' aider ?
j' ai passé des heures a essayé de faire fonctionner se screener et aucun résultat !!!
Cordialement .
// Center of Gravity (COG) indicator, original idea from El Mostafa Belkhayate
// Amibroker AFL code by E.M.Pottasch, 2011
// Based on code by Fred Tonetti, 2006, n-th order Polynomial fit (see Amibroker Lib)
// JohnCW provided Gaussian_Eliminationsv function based on static variables.
//SetBarsRequired(sbrAll,sbrAll);
BI=BarIndex();
Profit factor_EndBar=LastValue(BI);
Profit factor_Y=(H+L)/2;
Profit factor_Order=Param("nth Order",3,1,8,1);
Profit factor_ExtraB=Param("Extrapolate Backwards",0,0,50,1);
Profit factor_ExtraF=Param("Extrapolate Forwards",0,0,50,1);
Lookback=Param("Lookback Period",100,50,500,1);
sv=ParamToggle("Use Selected Value","Off|On",1);
norm=ParamToggle("Error Levels","Fibonacci|Normal",1);
if (sv)
{
Profit factor_EndBar=SelectedValue(bi);
Profit factor_BegBar=Profit factor_EndBar-Lookback;
}
else
{
Profit factor_BegBar=Profit factor_EndBar-Lookback;
}
function D2Set(L_value,i,j,L_name)
{
local L_value,L_name,i,j;
StaticVarSet(L_name + ":" + i + "," + j, L_value);
}
function D2Get(i,j,L_name)
{
local L_name,i,j;
return(Nz(StaticVarGet(L_name + ":" + i + "," + j),0));
}
function Gaussian_Eliminationsv(GE_Order,GE_N,GE_SumXn,GE_SumYXn)
{
w=0;Coeff=0;
n=GE_Order+1;
for(i=1;i<=n;i++ )
{
for(j=1;j<=n;j++)
{
if (i==1 AND j==1)
D2Set(GE_N,i,j,"b");
else
D2Set(GE_SumXn[i+j-2],i,j,"b");
}
w=GE_SumYXn;
}
n1=n-1;
for(i=1;i<=n1;i++)
{
big=abs(D2Get(i,i,"b"));
q=i;
i1=i+1;
for(j=i1;j<=n;j++)
{
ab=abs(D2Get(j,i,"b"));
if(ab>=big)
{
big=ab;
q=j;
}
}
if (big!=0)
{
if (q!=i)
{
for (j=1;j<=n;j++)
{
Temp=D2Get(q,j,"b");
D2Set(D2Get(i,j,"b"),q,j,"b");
D2Set(Temp,i,j,"b");
}
Temp=w;
w=w[q];
w[q]=Temp;
}
}
for(j=i1;j<=n;j++)
{
t=D2Get(j,i,"b")/D2Get(i,i,"b");
for(k=i1;k<=n;k++)
{
D2Set(D2Get(j,k,"b")-t*D2Get(i,k,"b"),j,k,"b");
}
w[j]=w[j]-t*w;
}
}
if(D2Get(n,n,"b")!=0)
{
Coeff[n]=w[n]/D2Get(n,n,"b");
i=n-1;
while(i>0)
{
SumY=0;
i1=i+1;
for(j=i1;j<=n;j++)
{
SumY=SumY+D2Get(i,j,"b")*Coeff[j];
}
Coeff=(w-SumY)/D2Get(i,i,"b");
i=i-1;
}
}
return Coeff;
}
function PolyFit(GE_Y,GE_BegBar,GE_EndBar,GE_Order,GE_ExtraB,GE_ExtraF)
{
BI=BarIndex();
GE_N=GE_EndBar-GE_BegBar+1;
GE_XBegin=-(GE_N-1)/2;
GE_X=IIf(BI<GE_BegBar,0,IIf(BI>GE_EndBar,0,(GE_XBegin+BI-GE_BegBar)));
GE_X_Max=LastValue(Highest(GE_X));
GE_X=GE_X/GE_X_Max;
X1=GE_X;
GE_Y=IIf(BI<GE_BegBar,0,IIf(BI>GE_EndBar,0,GE_Y));
GE_SumXn=Cum(0);
GE_SumXn[1]=LastValue(Cum(GE_X));
GE_X2=GE_X*GE_X;GE_SumXn[2]=LastValue(Cum(GE_X2));
GE_X3=GE_X*GE_X2;GE_SumXn[3]=LastValue(Cum(GE_X3));
GE_X4=GE_X*GE_X3;GE_SumXn[4]=LastValue(Cum(GE_X4));
GE_X5=GE_X*GE_X4;GE_SumXn[5]=LastValue(Cum(GE_X5));
GE_X6=GE_X*GE_X5;GE_SumXn[6]=LastValue(Cum(GE_X6));
GE_X7=GE_X*GE_X6;GE_SumXn[7]=LastValue(Cum(GE_X7));
GE_X8=GE_X*GE_X7;GE_SumXn[8]=LastValue(Cum(GE_X8));
GE_X9=GE_X*GE_X8;GE_SumXn[9]=LastValue(Cum(GE_X9));
GE_X10=GE_X*GE_X9;GE_SumXn[10]=LastValue(Cum(GE_X10));
GE_X11=GE_X*GE_X10;GE_SumXn[11]=LastValue(Cum(GE_X11));
GE_X12=GE_X*GE_X11;GE_SumXn[12]=LastValue(Cum(GE_X12));
GE_X13=GE_X*GE_X12;GE_SumXn[13]=LastValue(Cum(GE_X13));
GE_X14=GE_X*GE_X13;GE_SumXn[14]=LastValue(Cum(GE_X14));
GE_X15=GE_X*GE_X14;GE_SumXn[15]=LastValue(Cum(GE_X15));
GE_X16=GE_X*GE_X15;GE_SumXn[16]=LastValue(Cum(GE_X16));
GE_SumYXn=Cum(0);
GE_SumYXn[1]=LastValue(Cum(GE_Y));
GE_YX=GE_Y*GE_X;GE_SumYXn[2]=LastValue(Cum(GE_YX));
GE_YX2=GE_YX*GE_X;GE_SumYXn[3]=LastValue(Cum(GE_YX2));
GE_YX3=GE_YX2*GE_X;GE_SumYXn[4]=LastValue(Cum(GE_YX3));
GE_YX4=GE_YX3*GE_X;GE_SumYXn[5]=LastValue(Cum(GE_YX4));
GE_YX5=GE_YX4*GE_X;GE_SumYXn[6]=LastValue(Cum(GE_YX5));
GE_YX6=GE_YX5*GE_X;GE_SumYXn[7]=LastValue(Cum(GE_YX6));
GE_YX7=GE_YX6*GE_X;GE_SumYXn[8]=LastValue(Cum(GE_YX7));
GE_YX8=GE_YX7*GE_X;GE_SumYXn[9]=LastValue(Cum(GE_YX8));
GE_Coeff=Cum(0);
GE_Coeff=Gaussian_Eliminationsv(GE_Order,GE_N,GE_SumXn,GE_SumYXn);
for (i = 1; i <= GE_Order + 1; i++) printf(NumToStr(i, 1.0) + " = " + NumToStr(GE_Coeff, 1.9) + "\n");
GE_X=IIf(BI<GE_BegBar-GE_ExtraB-GE_ExtraF,0,IIf(BI>GE_EndBar,0,(GE_XBegin+BI-GE_BegBar+GE_ExtraF)/GE_X_Max));
GE_X2=GE_X*GE_X;GE_X3=GE_X2*GE_X;GE_X4=GE_X3*GE_X;GE_X5=GE_X4*GE_X;GE_X6=GE_X5*GE_X;
GE_X7=GE_X6*GE_X;GE_X8=GE_X7*GE_X;GE_X9=GE_X8*GE_X;GE_X10=GE_X9*GE_X;GE_X11=GE_X10*GE_X;
GE_X12=GE_X11*GE_X;GE_X13=GE_X12*GE_X;GE_X14=GE_X13*GE_X;GE_X15=GE_X14*GE_X;GE_X16=GE_X15*GE_X;
GE_Yn=IIf(BI<GE_BegBar-GE_ExtraB-GE_ExtraF,-1e10,IIf(BI>GE_EndBar,-1e10,GE_Coeff[1]+
GE_Coeff[2]*GE_X+GE_Coeff[3]*GE_X2+GE_Coeff[4]*GE_X3+GE_Coeff[5]*GE_X4+GE_Coeff[6]*GE_X5+
GE_Coeff[7]*GE_X6+GE_Coeff[8]*GE_X7+GE_Coeff[9]*GE_X8));
return GE_Yn;
}
Yn=PolyFit(Profit factor_Y,Profit factor_BegBar,Profit factor_EndBar,Profit factor_Order,Profit factor_ExtraB,Profit factor_ExtraF);
SetChartOptions(0, chartShowDates);
Title = "Symbol: "+ Name()+ "\nPoly Order: "+Profit factor_Order;
Plot(C, "Close",colorLightGrey,styleCandle);
Plot(Yn,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,colorBlue)),styleThick,Null,Null,Profit factor_ExtraF);
if(norm)
{
se=StdErr((C-Yn),LookBack);se=se[Profit factor_EndBar];
//se=StDev(C,LookBack);se=se[Profit factor_EndBar];
seh2=Yn+ValueWhen(Yn,se*2);
sel2=Yn-ValueWhen(Yn,se*2);
seh1=Yn+ValueWhen(Yn,se*1);
sel1=Yn-ValueWhen(Yn,se*1);
Plot(seh2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,0,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(sel2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(0,255,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(seh1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,100,100))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(sel1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(100,255,100))),styleDashed,Null,Null,Profit factor_ExtraF);
}
else
{
se=StDev(C,LookBack);se=se[Profit factor_EndBar];
r1=(1+5^0.5)/2;
se=se*r1;
seh3=Yn+ValueWhen(Yn,se);
sel3=Yn-ValueWhen(Yn,se);
seh2=Yn+ValueWhen(Yn,se/(1.382));
sel2=Yn-ValueWhen(Yn,se/(1.382));
seh1=Yn+ValueWhen(Yn,se/(1.382*1.618));
sel1=Yn-ValueWhen(Yn,se/(1.382*1.618));
Plot(seh3,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,0,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(sel3,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(0,255,0))),styleThick,Null,Null,Profit factor_ExtraF);
Plot(seh2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,100,100))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(sel2,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(100,255,100))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(seh1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(255,200,200))),styleDashed,Null,Null,Profit factor_ExtraF);
Plot(sel1,"",IIf(BI>Profit factor_EndBar-Profit factor_ExtraF,colorWhite,IIf(BI<Profit factor_BegBar-Profit factor_ExtraF,colorWhite,ColorRGB(200,255,200))),styleDashed,Null,Null,Profit factor_ExtraF);
}
-
klintistwood
- Ewok
- Messages : 45
- Enregistré le : 21 mars 2015 16:39
Re: Importer un indicateur sur ProRealTime
euh...ce script n'a pas été conçu pour PRT et à voir comment il est construit, je ne pense pas que tu puisses l'adapter à PRT.
-
benylio
- Ewok
- Messages : 12
- Enregistré le : 14 août 2015 14:13
Re: Importer un indicateur sur ProRealTime
l' erreur de syntaxe c'est ligne 7 et je confirme que c'est un screener proréalltime .
quelqu'un a la solution .
quelqu'un a la solution .
-
benylio
- Ewok
- Messages : 12
- Enregistré le : 14 août 2015 14:13
Re: Importer un indicateur sur ProRealTime
Grosse erreur de ma part ,merci -
je cherche un screener du Centre de Gravité de ( Mostafa Belkhayate ) ,pour proréaltime .
si quelqu'un me trouve se screener chapeau ,car introuvable sur le net .
Merci a tous Cordialement .
je cherche un screener du Centre de Gravité de ( Mostafa Belkhayate ) ,pour proréaltime .
si quelqu'un me trouve se screener chapeau ,car introuvable sur le net .
Merci a tous Cordialement .
-
YanaPhil
- Chevalier Jedi
- Messages : 2109
- Enregistré le : 28 janv. 2016 08:29
Re: Importer un indicateur sur ProRealTime
Benylio, aurais-tu trouvé ?
-
benylio
- Ewok
- Messages : 12
- Enregistré le : 14 août 2015 14:13
Re: Importer un indicateur sur ProRealTime
j' ai toujours pas trouvé ,l' indicateur de centre de gravité ,pour proréaltime .
aucun génie ne peut m' aider
aucun génie ne peut m' aider
-
kelly
- Maître Jedi
- Messages : 4956
- Enregistré le : 17 mai 2016 16:43
Re: Importer un indicateur sur ProRealTime
Salut benylio . Je n'ai pas le code , désolé .
Mais peut être y'a t il une raison pour ne pas le trouver : c'est un indicateur qui repeint donc de peu d'intérêt.... donc ne sois pas désespéré !!!
Mais peut être y'a t il une raison pour ne pas le trouver : c'est un indicateur qui repeint donc de peu d'intérêt.... donc ne sois pas désespéré !!!
