Résoudre difficulté avec programme Target
J'ai avec le nouveau système pour établir des programmes,
fait quelques essais,
Actuellement j'en ai un que je ne parviens pas à faire adopter
c'est à dire accepté en cliquant,
Lorsque j'essaie j'ai pour réponse :
"dh n'est pas un series mais float series" (même chose pour les 3 lignes qui suivent)
Que faudrait-il faire pour que ce programme soit accepté ?
Ci-dessous le programme en question Cordiaelment et merci !
Express Stop Mon_TargetGex4_12012022
VARS
series G,Gex4 ;
series TargetLevel ;
CALCULATION
SetIntraPeriodUpdate() ;
if isFirstBar then
begin
CalculateAtEveryTick(false) ;
end
for i=CurrentBarIndex() downto 0
ExpMovingAverage(G,Gex4,4) ;
dh=highest(h-Gex4,7) ;dSh=highest((Gex4-Gex4[2],7)/2) ; dhS=dh+dSh ; dL=lowest(Gex4-L,7) ;dSL=lowest((Gex4[2]-Gex4,7)/2 );
dLS=dL+dSL ;
if MarketPosition=1 then
begin
if BarsSinceEntry()<6 then TargetLevel=Gex4+8*tickSize() ;
else
TargetLevel=max(TargetLevel,Gex4+dhS) ;
SetTargetPrice(TargetLevel) ;
end
else
if MarketPosition=-1 then
begin
if BarsSinceEntry()<6 then TargetLevel=Gex4- 8*tickSize() ;
else
TargetLevel=min(TargetLevel,Gex4-dLS) ;
SetTargetPrice(TargetLevel) ;
end
//----------------------------------------

%20(1).png)
Express Stop Mon_TargetGex4_12012022
VARS
series G,Gex4,high1, high2,low1, low2, dh, dsh, dhs, dl, dsl, dls ;
series TargetLevel ;
numeric i;
CALCULATION
SetIntraPeriodUpdate() ;
if isFirstBar() then
begin
CalculateAtEveryTick(false) ;
end
for i=CurrentBarIndex() downto 0
ExpMovingAverage(G,Gex4,4) ;
high1=h-Gex4;
high2=Gex4-Gex4[2];
low1=Gex4-L;
low2=Gex4[2]-gex4;
dh=highest(high1,7) ;
dSh=highest(high2,7)/2 ;
dhS=dh+dSh ;
dL=lowest(low1,7) ;
dSL=lowest(low2,7)/2 ;
dLS=dL+dSL ;
if MarketPosition()=1 then
begin
if BarsSinceEntry()<6 then TargetLevel=Gex4+8*tickSize() ;
else
TargetLevel=max(TargetLevel,(Gex4+dhS)) ;
SetTargetPrice(TargetLevel) ;
end
else
if MarketPosition()=-1 then
begin
if BarsSinceEntry()<6 then TargetLevel=Gex4- 8*tickSize() ;
else
TargetLevel=min(TargetLevel,(Gex4-dLS)) ;
SetTargetPrice(TargetLevel) ;
end
//----------------------------------------