_SECTION_BEGIN("SuperTrend Modi");
SetChartOptions(0, chartShowDates | chartWrapTitle);
Plot( C, "Close", colorRose, styleCandle | styleNoTitle | ParamStyle( "Style" ) | GetPriceStyle() );
kk = Optimize( "mult", Param( "mult", 2, 1, 6, 0.25 ), 1, 2, 0.25 );
Per = Optimize( "period", Param( "period", 10, 5, 50, 1 ), 5, 50, 1 );
sdfact = 2;//Param( "Standard Deviation Factor", 2, 0.5, 5, 0.1 );
offset = 2;//Param( "Offset", 2, 1, 50, 1 );
tc = ParamList( "Channel Display", List = "No Channel|Channel|ChannelRT|Both
Channels", 1 );
ms = ParamToggle( "Trend", "Regular|Smoothed", 1 );
//x = Cum( 1 );
HaClose = ( O + H + L + C ) / 4;
HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = Max( H, Max( HaClose, HaOpen ) );
HaLow = Min( L, Min( HaClose, HaOpen ) );
if ( ms == 0 )
{
nm = ( H - L );
j = ( O + H + L + C ) / 4;
}
else
{
nm = ( HaHigh - HaLow );
j = ( HaOpen + HaHigh + HaLow + HaClose ) / 4;
}
rfsctor = WMA( nm, Per );
revers = kk * rfsctor;
Trend = 1;
NW[0] = 0;
for ( i = 1;i < BarCount;i++ )
{
if ( Trend[i-1] == 1 )
{
if ( j[i] < NW[i-1] )
{
Trend[i] = -1;
NW[i] = j[i] + Revers[i];
}
else
{
Trend[i] = 1;
if ( ( j[i] - Revers[i] ) > NW[i-1] )
{
NW[i] = j[i] - Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
if ( Trend[i-1] == -1 )
{
if ( j[i] > NW[i-1] )
{
Trend[i] = 1;
NW[i] = j[i] - Revers[i];
}
else
{
Trend[i] = -1;
if ( ( j[i] + Revers[i] ) < NW[i-1] )
{
NW[i] = j[i] + Revers[i];
}
else
{
NW[i] = NW[i-1];
}
}
}
}
cp = ( H + L ) / 2;
Plot( IIf( NW < j, NW, Null ), "", ParamColor( "ColorTrailLong", colorYellow ), styleLine | styleDashed );
Plot( IIf( NW > j, NW, Null ), "", ParamColor( "ColorTrailShort", colorYellow ), styleLine | styleDashed );
//Plot(J,"J",colorWhite, styleDashed);
_SECTION_END();
_SECTION_BEGIN("SuperTrend Modi 10min");
tf=10;
tfrm=in1Minute*tf;
TimeFrameSet(tfrm);
kk = Optimize( "mult", Param( "mult", 2, 1, 6, 0.25 ), 1, 2, 0.25 );
Per = Optimize( "period", Param( "period", 10, 5, 50, 1 ), 5, 50, 1 );
sdfact = 2;
offset = 2;
tc = ParamList( "Channel Display", List = "No Channel|Channel|ChannelRT|Both
Channels", 1 );
ms = ParamToggle( "Trend", "Regular|Smoothed", 1 );
//x = Cum( 1 );
HaClose1 = ( O + H + L + C ) / 4;
HaOpen1 = AMA( Ref( HaClose1, -1 ), 0.5 );
HaHigh1 = Max( H, Max( HaClose1, HaOpen1 ) );
HaLow1 = Min( L, Min( HaClose1, HaOpen1 ) );
if ( ms == 0 )
{
nm = ( H - L );
J1 = ( O + H + L + C ) / 4;
}
else
{
nm = ( HaHigh1 - HaLow1 );
J1 = ( HaOpen1 + HaHigh1 + HaLow1 + HaClose1 ) / 4;
}
rfsctor = WMA( nm, Per );
revers = kk * rfsctor;
Trend = 1;
NW1[0] = 0;
for ( i = 1;i < BarCount;i++ )
{
if ( Trend[i-1] == 1 )
{
if ( J1[i] < NW1[i-1] )
{
Trend[i] = -1;
NW1[i] = J1[i] + Revers[i];
}
else
{
Trend[i] = 1;
if ( ( J1[i] - Revers[i] ) > NW1[i-1] )
{
NW1[i] = J1[i] - Revers[i];
}
else
{
NW1[i] = NW1[i-1];
}
}
}
if ( Trend[i-1] == -1 )
{
if ( J1[i] > NW1[i-1] )
{
Trend[i] = 1;
NW1[i] = J1[i] - Revers[i];
}
else
{
Trend[i] = -1;
if ( ( J1[i] + Revers[i] ) < NW1[i-1] )
{
NW1[i] = J1[i] + Revers[i];
}
else
{
NW1[i] = NW1[i-1];
}
}
}
}
cp = ( H + L ) / 2;
TimeFrameRestore();
Nw2f = TimeFrameExpand( NW1, tfrm);
J2f = TimeFrameExpand( J1, tfrm);
mycNjt=IIf(NW2f < j2f,colorBlue,
IIf(NW2f > j2f,colorRed,31));
Plot(5, "ribbon", mycNjt, styleOwnScale| styleArea|styleNoLabel,-0.5,100);
_SECTION_END();
_SECTION_BEGIN("Dancing_Signals");
Buy = NW<J AND NW2f<j2f;
Sell = NW>J;
Short = NW>j AND NW2f>j2f;
Cover = NW<j;
//Plot(NW,"\nNW",colorRed);
//Plot(J,"J",colorBlue);
Buy=ExRem(Buy,Sell);
Short=ExRem(Short,Cover);
Sell=ExRem(Sell,Buy);
Cover=ExRem(Cover,Short);
PlotShapes(Buy*shapeUpArrow,colorBlue,0,L,-33);
PlotShapes(Sell*shapeHollowDownArrow,colorRed,0,L,-33);
PlotShapes(Short*shapeDownArrow,colorRed,0,H,-33);
PlotShapes(Cover*shapeHollowUpArrow,colorBlue,0,L,-33);
_SECTION_END();
_SECTION_BEGIN("PriceCandle");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorPink ), styleNoTitle | styleCandle|styleNoLabel );
_SECTION_END();