I'm using TTMSquzee for my strategy. To simplify my strategy, I modify TTMSquzee code into function. Code is listed as followed:
Code: Select all
Inputs:
Price(numericseries ),
Length(numericseries ), { Length for Average True Range (ATR) & Std. Deviation (SD) Calcs }
nKelt(numericseries ), { Keltner Channel ATRs from Average }
BBStd(Numeric ), { Bollinger Band Std. Devs. from Average }
AlertLevel( Numeric ), { BBS_Index level at which to issue alerts }
Squzee( TrueFalseRef);
Variables: {---------------------------------------------}
intrabarpersist ATR(0), { Average True Range }
intrabarpersist SDev(0), { Standard Deviation }
intrabarpersist BBS_Ind(0), { Bollinger Band Squeeze Indicator }
intrabarpersist Denom(0), intrabarpersist LHMult(0);
if ( barnumber=1 ) then Begin
If minmove <> 0 then LHMult = pricescale/minmove;
end;
{
if barnumber = 1 and alertTextID = -1 then
alertTextID = Text_New(date,time,0,"dummy");
}
{-- Calculate BB Squeeze Indicator ----------------------}
ATR = AvgTrueRange(Length);
SDev = StandardDev(Price, Length, 1);
Denom = (nKelt*ATR);
If Denom <> 0 then
BBS_Ind = (BBStd * SDev) /Denom;
//If BBS_Ind < AlertLevel then
If BBS_Ind < AlertLevel then
Squzee = True
else
Squzee = False;
{-- Plot delta of price from Donchian mid line ----------}
value2 = LinearRegValue(price-((Highest(H, Length)+Lowest(L, Length))/2
+ xAverage(c,Length))/2,Length,0);
TTMSquzeeFunc = value2*LHMult;
print("TTMSquzeeFunc Value ->", TTMSquzeeFunc);
Code: Select all
{Value output for Indicator. These values are right.}
TTMSquzeeFunc Value -> 6.58
$TTMSquzee Indicator -> 6.58
TTMSquzeeFunc Value -> 4.75
$TTMSquzee Indicator -> 4.75
TTMSquzeeFunc Value -> 5.11
$TTMSquzee Indicator -> 5.11
TTMSquzeeFunc Value -> 6.06
$TTMSquzee Indicator -> 6.06
{Value output for Strategy. These values are wild.}
TTMSquzeeFunc Value ->-1541.01
TTMSquzee Strategy ->-1541.01
TTMSquzeeFunc Value ->-1541.76
TTMSquzee Strategy ->-1541.76
TTMSquzeeFunc Value ->-1542.53
TTMSquzee Strategy ->-1542.53
TTMSquzeeFunc Value ->-1543.34
TTMSquzee Strategy ->-1543.34
Does anyone what causes it? And how to fix it?
Regards
Mac Chen