Simple Coding Help - No Promise.

Nehal_s143

Well-Known Member
When psar is below price buy,psar is above price then sell.
Thanks & regards
try this :)

Code:
 _SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));

trendup = IIf(MACD(12,26) > 0 AND MACD(12,26) > Signal(12,26,9), colorGreen, colorWhite);
trendcolor = IIf(MACD(12,26) < 0 AND MACD(12,26) < Signal(12,26,9), colorRed, trendup);
Plot( C, "Close", trendcolor, styleBar | styleThick );

//RSIup = RSI(7) > 70;
//RSIdown = RSI(7) < 30;

sp = Param( "RSI Period", 7, 1, 100 );
r = RSI( sp );
RSIup = r > 70; 
RSIdown = r < 30;

shape = RSIup * shapeSmallUpTriangle + RSIdown * shapeSmallDownTriangle;
//PlotShapes(shape, IIf( RSIup, colorGreen, colorRed ), 0, IIf( RSIup, Low, High ) );
 
if( ParamToggle("Tooltip shows", "All Values | Only Prices" ) )
{
 ToolTip=StrFormat("Open: %g\nHigh:  %g\nLow:   %g\nClose:  %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
_SECTION_END();


_SECTION_BEGIN("BBands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 12, 2, 100, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );
Color = ParamColor("Color", colorLightGrey );
Style = ParamStyle("Style") | styleNoRescale;
Plot( BBandTop( P, Periods, Width ), "BBTop" + _PARAM_VALUES(), Color, Style ); 
Plot( BBandBot( P, Periods, Width ), "BBBot" + _PARAM_VALUES(), Color, Style );

// calcul average daily range pe ultimele 7 zile

HD1 = TimeFrameGetPrice("H", inDaily, -1);
LD1 = TimeFrameGetPrice("L", inDaily, -1);
M1 = HD1 - LD1;
HD2 = TimeFrameGetPrice("H", inDaily, -2);
LD2 = TimeFrameGetPrice("L", inDaily, -2);
M2 = HD2 - LD2;
HD3 = TimeFrameGetPrice("H", inDaily, -3);
LD3 = TimeFrameGetPrice("L", inDaily, -3);
M3 = HD3 - LD3;
HD4 = TimeFrameGetPrice("H", inDaily, -4);
LD4 = TimeFrameGetPrice("L", inDaily, -4);
M4 = HD4 - LD4;
HD5 = TimeFrameGetPrice("H", inDaily, -5);
LD5 = TimeFrameGetPrice("L", inDaily, -5);
M5 = HD5 - LD5;
HD6 = TimeFrameGetPrice("H", inDaily, -6);
LD6 = TimeFrameGetPrice("L", inDaily, -6);
M6 = HD6 - LD6;
HD7 = TimeFrameGetPrice("H", inDaily, -7);
LD7 = TimeFrameGetPrice("L", inDaily, -7);
M7 = HD7 - LD7;

//ADR = MA(High - Low,7);
ADR = (M1+M2+M3+M4+M5+M6+M7)/7;
tp = ADR*0.15;
sl = ADR*0.1;
//TimeFrameRestore();
Plot(ADR, "\nADR", colorBlue, styleNoLine | styleNoRescale | styleNoLabel);
Plot(tp, "TP", colorBlue, styleNoLine | styleNoRescale | styleNoLabel);
Plot(sl, "SL", colorBlue, styleNoLine | styleNoRescale | styleNoLabel);

// ----------------
 
_SECTION_END();

_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));

trendup = IIf(MACD(12,26) > 0 AND MACD(12,26) > Signal(12,26,9), colorGreen, colorBlack);
trendcolor = IIf(MACD(12,26) < 0 AND MACD(12,26) < Signal(12,26,9), colorRed, trendup);
Plot( C, "Close", trendcolor, styleBar | styleThick );

//RSIup = RSI(7) > 70;
//RSIdown = RSI(7) < 30;

sp = Param( "RSI Period", 7, 1, 100 );
r = RSI( sp );
RSIup = r > 70; 
RSIdown = r < 30;

shape = RSIup * shapeSmallUpTriangle + RSIdown * shapeSmallDownTriangle;
//PlotShapes(shape, IIf( RSIup, colorGreen, colorRed ), 0, IIf( RSIup, Low, High ) );
 
if( ParamToggle("Tooltip shows", "All Values | Only Prices" ) )
{
 ToolTip=StrFormat("Open: %g\nHigh:  %g\nLow:   %g\nClose:  %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
_SECTION_END();

_SECTION_BEGIN("SAR");
acc = Param("Acceleration", 0.02, 0, 1, 0.001 );
accm = Param("Max. acceleration", 0.2, 0, 1, 0.001 );
Plot( SAR( acc, accm ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style", styleDots | styleNoLine, maskDefault | styleDots | styleNoLine ) );

SART=SAR( acc, accm );

_SECTION_END();

Buy1 =   C>O AND C>SART;
Sell1 =  C<SART;
Short1 = C<O AND C<SART;
Cover1 = C>SART;


Buy1=ExRem(Buy1,Sell1);
Short1=ExRem(Short1,Cover1);
Sell1=ExRem(Sell1,Buy1);
Cover1=ExRem(Cover1,Short1);

PlotShapes(Buy1*shapeUpArrow,colorBlue,0,L,-42);
//PlotShapes(Sell1*shapeHollowSmallDownTriangle,colorPink,0,L,-51);
PlotShapes(Short1*shapeDownArrow,colorRed,0,H,-42);
//PlotShapes(Cover1*shapeHollowSmallUpTriangle,colorSkyblue,0,H,-51);
 

hmp

Well-Known Member
try this :)

Code:
 _SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));

trendup = IIf(MACD(12,26) > 0 AND MACD(12,26) > Signal(12,26,9), colorGreen, colorWhite);
trendcolor = IIf(MACD(12,26) < 0 AND MACD(12,26) < Signal(12,26,9), colorRed, trendup);
Plot( C, "Close", trendcolor, styleBar | styleThick );

//RSIup = RSI(7) > 70;
//RSIdown = RSI(7) < 30;

sp = Param( "RSI Period", 7, 1, 100 );
r = RSI( sp );
RSIup = r > 70; 
RSIdown = r < 30;

shape = RSIup * shapeSmallUpTriangle + RSIdown * shapeSmallDownTriangle;
//PlotShapes(shape, IIf( RSIup, colorGreen, colorRed ), 0, IIf( RSIup, Low, High ) );
 
if( ParamToggle("Tooltip shows", "All Values | Only Prices" ) )
{
 ToolTip=StrFormat("Open: %g\nHigh:  %g\nLow:   %g\nClose:  %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
_SECTION_END();


_SECTION_BEGIN("BBands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 12, 2, 100, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );
Color = ParamColor("Color", colorLightGrey );
Style = ParamStyle("Style") | styleNoRescale;
Plot( BBandTop( P, Periods, Width ), "BBTop" + _PARAM_VALUES(), Color, Style ); 
Plot( BBandBot( P, Periods, Width ), "BBBot" + _PARAM_VALUES(), Color, Style );

// calcul average daily range pe ultimele 7 zile

HD1 = TimeFrameGetPrice("H", inDaily, -1);
LD1 = TimeFrameGetPrice("L", inDaily, -1);
M1 = HD1 - LD1;
HD2 = TimeFrameGetPrice("H", inDaily, -2);
LD2 = TimeFrameGetPrice("L", inDaily, -2);
M2 = HD2 - LD2;
HD3 = TimeFrameGetPrice("H", inDaily, -3);
LD3 = TimeFrameGetPrice("L", inDaily, -3);
M3 = HD3 - LD3;
HD4 = TimeFrameGetPrice("H", inDaily, -4);
LD4 = TimeFrameGetPrice("L", inDaily, -4);
M4 = HD4 - LD4;
HD5 = TimeFrameGetPrice("H", inDaily, -5);
LD5 = TimeFrameGetPrice("L", inDaily, -5);
M5 = HD5 - LD5;
HD6 = TimeFrameGetPrice("H", inDaily, -6);
LD6 = TimeFrameGetPrice("L", inDaily, -6);
M6 = HD6 - LD6;
HD7 = TimeFrameGetPrice("H", inDaily, -7);
LD7 = TimeFrameGetPrice("L", inDaily, -7);
M7 = HD7 - LD7;

//ADR = MA(High - Low,7);
ADR = (M1+M2+M3+M4+M5+M6+M7)/7;
tp = ADR*0.15;
sl = ADR*0.1;
//TimeFrameRestore();
Plot(ADR, "\nADR", colorBlue, styleNoLine | styleNoRescale | styleNoLabel);
Plot(tp, "TP", colorBlue, styleNoLine | styleNoRescale | styleNoLabel);
Plot(sl, "SL", colorBlue, styleNoLine | styleNoRescale | styleNoLabel);

// ----------------
 
_SECTION_END();

_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));

trendup = IIf(MACD(12,26) > 0 AND MACD(12,26) > Signal(12,26,9), colorGreen, colorBlack);
trendcolor = IIf(MACD(12,26) < 0 AND MACD(12,26) < Signal(12,26,9), colorRed, trendup);
Plot( C, "Close", trendcolor, styleBar | styleThick );

//RSIup = RSI(7) > 70;
//RSIdown = RSI(7) < 30;

sp = Param( "RSI Period", 7, 1, 100 );
r = RSI( sp );
RSIup = r > 70; 
RSIdown = r < 30;

shape = RSIup * shapeSmallUpTriangle + RSIdown * shapeSmallDownTriangle;
//PlotShapes(shape, IIf( RSIup, colorGreen, colorRed ), 0, IIf( RSIup, Low, High ) );
 
if( ParamToggle("Tooltip shows", "All Values | Only Prices" ) )
{
 ToolTip=StrFormat("Open: %g\nHigh:  %g\nLow:   %g\nClose:  %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));
}
_SECTION_END();

_SECTION_BEGIN("SAR");
acc = Param("Acceleration", 0.02, 0, 1, 0.001 );
accm = Param("Max. acceleration", 0.2, 0, 1, 0.001 );
Plot( SAR( acc, accm ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style", styleDots | styleNoLine, maskDefault | styleDots | styleNoLine ) );

SART=SAR( acc, accm );

_SECTION_END();

Buy1 =   C>O AND C>SART;
Sell1 =  C<SART;
Short1 = C<O AND C<SART;
Cover1 = C>SART;


Buy1=ExRem(Buy1,Sell1);
Short1=ExRem(Short1,Cover1);
Sell1=ExRem(Sell1,Buy1);
Cover1=ExRem(Cover1,Short1);

PlotShapes(Buy1*shapeUpArrow,colorBlue,0,L,-42);
//PlotShapes(Sell1*shapeHollowSmallDownTriangle,colorPink,0,L,-51);
PlotShapes(Short1*shapeDownArrow,colorRed,0,H,-42);
//PlotShapes(Cover1*shapeHollowSmallUpTriangle,colorSkyblue,0,H,-51);
Hi Nehal
Thanks for your try.But when i pick the formula for Automatic analysis it gives the message as missing buy/sell variable assignments.
Regards.
 

amitrandive

Well-Known Member
Hi Nehal
Thanks for your try.But when i pick the formula for Automatic analysis it gives the message as missing buy/sell variable assignments.
Regards.
Add this at the end of your code.

Code:
Filter = Buy1 OR Sell1 OR Short1 OR Cover1;
AddColumn(IIf(Buy1, BuyPrice, 0),  "Buy", 6.2);
AddColumn(IIf(Sell1, SellPrice, 0),  "Sell", 6.2);
AddColumn(IIf(Short1, ShortPrice, 0),  "Short", 6.2);
AddColumn(IIf(Cover1, CoverPrice, 0),  "Cover", 6.2);
AddColumn(Close,"Close",1.2);
 

hmp

Well-Known Member
Add this at the end of your code.

Code:
Filter = Buy1 OR Sell1 OR Short1 OR Cover1;
AddColumn(IIf(Buy1, BuyPrice, 0),  "Buy", 6.2);
AddColumn(IIf(Sell1, SellPrice, 0),  "Sell", 6.2);
AddColumn(IIf(Short1, ShortPrice, 0),  "Short", 6.2);
AddColumn(IIf(Cover1, CoverPrice, 0),  "Cover", 6.2);
AddColumn(Close,"Close",1.2);
Dear Amit
Thanks for your efforts,when i run explore ,it works perfectly.
Regards.
 

Nehal_s143

Well-Known Member
This afl plots recent formed support and resistance only for current latest data.

I want to mark all old S&R formed by afl with small line or some letters like S/R or L/H

Please help.

Code:
_SECTION_BEGIN("Price");
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", colorDefault ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
_SECTION_END();

_SECTION_BEGIN("supp");
("Price");
RSIperiod = 15; // Param("RSI p",3,14,30,1);
Percent = 5; // Param("ZIG %",8,9,15,1);
EMAperiod = 5; //Param("EMA p",4,5,10,1);
HHVperiod = 8; //Param("HHV p",3,5,10,1);
NumLine = 2; //Param("Num Lines",3,1,20,1);

Base = DEMA(RSI(RSIperiod),EMAperiod);

GraphXSpace=0.5;


for( i = 1; i <= numline; i++ )
{
ResBase = LastValue(Peak(Base,Percent,i));
SupBase = LastValue(Trough(Base,Percent,i));
Plot(ValueWhen( ResBase==Base, HHV(H,HHVperiod) ), "Resist Level", colorRed, styleLine);
Plot(ValueWhen( supbase==Base, LLV(L,HHVperiod) ), "Support Level", colorGreen, styleLine);
}

_SECTION_END();
 

amitrandive

Well-Known Member
This afl plots recent formed support and resistance only for current latest data.

I want to mark all old S&R formed by afl with small line or some letters like S/R or L/H

Please help.

Code:
_SECTION_BEGIN("Price");
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", colorDefault ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() ); 
_SECTION_END();

_SECTION_BEGIN("supp");
("Price");
RSIperiod = 15; // Param("RSI p",3,14,30,1);
Percent = 5; // Param("ZIG %",8,9,15,1);
EMAperiod = 5; //Param("EMA p",4,5,10,1);
HHVperiod = 8; //Param("HHV p",3,5,10,1);
NumLine = 2; //Param("Num Lines",3,1,20,1);

Base = DEMA(RSI(RSIperiod),EMAperiod);

GraphXSpace=0.5;


for( i = 1; i <= numline; i++ )
{
ResBase = LastValue(Peak(Base,Percent,i));
SupBase = LastValue(Trough(Base,Percent,i));
Plot(ValueWhen( ResBase==Base, HHV(H,HHVperiod) ), "Resist Level", colorRed, styleLine);
Plot(ValueWhen( supbase==Base, LLV(L,HHVperiod) ), "Support Level", colorGreen, styleLine);
}

_SECTION_END();
Try this ,developed by Casoni.

http://www.w isestocktrader.c om/indicators/3935-valid-supply-demand-zone
(Remove spaces)
 

Nehal_s143

Well-Known Member

Amit Sir I am trying to find reversal points, which will fire signal near bottom or near top and not after a happening of movement.

Nifty yesterday made low of 8271, and reversal signal came at 8297 at 1.00pm

Will post afl after adding support and resistance for old data, so that can we can verify signals on old data

I dont say at all signals we will get reversal, but sure at all reversal we will get signal.

Filtering wrong signal will be next step.

Amitji I already have C.A.Soni Sir afl,

Code:
_SECTION_BEGIN("Ninja Valid Supply Demand  Zone");
/*
 valid supply-demand zones.
very basic idea.
as we all know..we need confirmation , for peak or bottom
to get fixed , i.e use wait till price rises/falls to certail percentage,
percentage to get peak/bottom valid.
here i have used valid Peak/bottom.

zone [ cloud ] will plot only after peak/bottom is confirmed.

on completetion of blue bar peak/top is valid
and on yellow bar bottom is valid

*/

SetChartOptions(0,chartShowArrows|chartShowDates);
bk=ParamColor( "Bk col",ColorRGB(85,90,60)); 
SetChartBkColor(bk);

amount = Param("Sensitivity", 0.5, 0.1, 2, 0.1 );

array = C ;
zz0 = Zig( array, amount );
zz1 = Ref( zz0, -1 );
zz2 = Ref( zz0, -2 );

tr = ValueWhen(zz0 > zz1 AND zz1 < zz2, zz1);
pk = ValueWhen(zz0 < zz1 AND zz1 > zz2, zz1);
PU = tr + 0.01 * abs(tr)*amount;
PD = pk - 0.01 * abs(pk)*amount;

ZZT = IIf( array >= PU AND zz0 > zz1, 1,
       IIf( array <= PD AND zz0 < zz1, -1, 0 ) );

ZZT = ValueWhen( ZZT != 0, ZZT );

Buy_Valid_=zzt>0;
Sell_Valid_=zzt<0;
Buy_Valid = ExRem(Buy_Valid_,Sell_Valid_);
Sell_Valid = ExRem(Sell_Valid_,Buy_Valid_);
Plot(Ref(Buy_valid,0),"",ColorRGB(0,0,100),styleHistogram|styleDashed|styleOwnScale|styleNoLabel,0,0,0,-1);
Plot(Ref(Sell_valid,0),"",ColorRGB(100,0,0),styleHistogram|styleDashed|styleOwnScale|styleNoLabel,0,0,0,-1);

Candlecol=IIf(BarsSince(Buy_Valid)<BarsSince(Sell_Valid) AND BarsSince(Buy_Valid)!=0,5,
          IIf(BarsSince(Buy_Valid)>BarsSince(Sell_Valid) AND BarsSince(Sell_Valid)!=0,4,1));
cc1=IIf(Buy_valid,colorYellow,IIf(Sell_valid,colorBlue,Candlecol));
SetBarFillColor(Cc1);
Plot(C,"Cas-S_D-Zone",Cc1,64,0,0,0,0);

pk=BarsSince(Buy_Valid)<BarsSince(Sell_Valid) ;//AND BarsSince(Buy_Valid)!=0;//Zz>Ref(zz,-1);
tr=BarsSince(Buy_Valid)>BarsSince(Sell_Valid) ;//AND BarsSince(Sell_Valid)!=0;//Zz<Ref(zz,-1);

Ll=LowestSince(sell_valid,L,1);
hH=HighestSince(Buy_Valid,H,1);
Llm=LowestSince(sell_valid,Min(O,C),1);
hHm=HighestSince(Buy_Valid,Max(O,C),1);

xx=Cum(1);
NoLines = Param("No of Lines",5,1,10,1);

Col2=ParamColor( "Res Color", colorRed );
Col1=ParamColor( "Sup Color", colorGreen );

for( i = 1; i < NoLines+1 ; i++ )
{
scol=ColorBlend(Col1,2,0.1*i);
rcol=ColorBlend(Col2,2,0.1*i);

px1 = LastValue(ValueWhen(Buy_valid,Cum(1),i)) ;
py1 = LastValue(ValueWhen(Buy_valid,Ll,i)) ;
pz1 = LineArray(px1, py1, (BarCount-1), py1);
Plot(pz1,"",scol,32);

tx1 = LastValue(ValueWhen(sell_valid,Cum(1),i)) ;
ty1 = LastValue(ValueWhen(sell_valid,Hh,i)) ;
tz1 = LineArray(tx1, ty1, (BarCount-1), ty1);
Plot(tz1,"",rcol,32);

px1m = LastValue(ValueWhen(Buy_valid,Cum(1),i)) ;
py1m = LastValue(ValueWhen(Buy_valid,Llm,i)) ;
pz1m = LineArray(px1m, py1m, (BarCount-1), py1m);
PlotOHLC(pz1,pz1,pz1m,pz1m,"",scol,styleCloud|styleNoLabel,0,0,0,-i-nolines);

tx1m = LastValue(ValueWhen(sell_valid,Cum(1),i)) ;
ty1m = LastValue(ValueWhen(sell_valid,Hhm,i)) ;
tz1m = LineArray(tx1m, ty1m, (BarCount-1), ty1m);
PlotOHLC(tz1,tz1,tz1m,tz1m,"",rcol,styleCloud|styleNoLabel,0,0,0,-i-nolines);
}

for( j = 0; j < BarCount; j++ ) 
{ 
if( Buy_valid [j])  PlotText( "Up\n"+Ll[ j ], j, Ll[j], colorPaleGreen ); 
if( Sell_valid[j] ) PlotText( "Dn\n"+Hh[ j ], j, Hh[j], colorRose); 
} 

//--------- BUY - SELL... CODE --------------
BuySetupValue	=	ValueWhen(Buy_valid,H,1);
SellsetupValue=	ValueWhen(Sell_valid,L,1);
Buysetup =  Buy_valid;
Sellsetup 	=  Sell_valid;
Lg 	= 	Flip(Buysetup,Sellsetup);
st 	= 	Flip(Sellsetup,Buysetup);
Buy	=	(Lg AND Cross(C,BuySetupValue)) ; Cover= Buysetup;
Short=	( st AND Cross(SellsetupValue,C)) ;Sell=sellsetup;
Buy= 	ExRem(Buy,Sell);
Sell= 	ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);

PlotShapes(Buy*shapeUpArrow,colorBlue,0,L,-42);
PlotShapes(Sell*shapeHollowSmallDownTriangle,colorPink,0,L,-51);
PlotShapes(Short*shapeDownArrow,colorRed,0,H,-42);
PlotShapes(Cover*shapeHollowSmallUpTriangle,colorSkyblue,0,H,-51);

//---------------------------------------------------
_SECTION_END();
 
Last edited:

Similar threads