// Downloaded From https://www.WiseStockTrader.com
_SECTION_BEGIN("LALIT");
C1 = Ref(C, -1);
uc = C > C1; dc = C <= C1;
ud = C > O; dd = C <= O;

green = 1; blue = 2; yellow = 3; red = 4; white = 5;
VType = IIf(ud,          
         IIf(uc, green, yellow),
       IIf(dd, 
         IIf(dc, red, blue), white));


/* green volume: up-day and up-close*/
gv = IIf(VType == green, V, 0); 
/* yellow volume: up-day but down-close */
yv = IIf(VType == yellow, V, 0); 
/* red volume: down-day and down-close */
rv = IIf(VType == red, V, 0); 
/* blue volume: down-day but up-close */
bv = IIf(VType == blue, V, 0); 

uv = gv + bv; uv1 = Ref(uv, -1); /* up volume */
dv = rv + yv; dv1 = Ref(dv, -1); /* down volume */

/* create moving average period parameters */
VolPer = Param("Adjust Vol. MA per.", 34, 1, 255, 1);
ConvPer = Param("Adjust Conv. MA per.", 9, 1, 255, 1);

/* create triple exponential moving avearges of separate up and down volume
moving averages */
MAuv = TEMA(uv, VolPer ); mauv1 = Ref(mauv, -1);
MAdv = TEMA(dv, VolPer ); madv1 = Ref(madv, -1);
MAtv = TEMA(V, VolPer ); Plot(MAtv,"tv",IIf(MAtv > Ref(MAtv,-1),colorYellow,colorDarkYellow),styleThick|styleOwnScale|styleNoTitle|styleNoLine);
//=================================================//
a = Param("Angle",30,15,45,1);
pd = Param("Period",5,4,6,1);
P = ParamField("Price field",3);
 
a= (22/7)*(a/180);
Num = 0;
Den = 0;
 
for(i=1; i<=pd; i++)
{
if(pd%2==0 AND i > pd/2) X = sin((i-1)*a);
else X = sin(i*a);
 
Num = Num + X*Ref(P,1-i);
Den = Den + X;
}
 
if (den!=0) j1 = Num / Den;
 
Plot(j1,"LS",colorYellow,styleThick|styleOwnScale|styleNoLabel|styleNoTitle|styleNoLine);
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{DATE}} OP %g, HI %g, LO %g, CL %g  {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", IIf(C  > j1 ,colorBrightGreen,colorRed), styleNoTitle |GetPriceStyle() ); 
Buy=Cross(j1,C); Sell=Cross(C,j1);
PlotShapes(IIf(Buy,shapeHollowUpTriangle,shapeNone),colorSkyblue,0,Low,Offset=-14); 
PlotShapes(IIf(Sell,shapeHollowDownTriangle,shapeNone),colorYellow,0,High,Offset=-20);

_SECTION_BEGIN("Md");
r1 = Param( "Fast avg", 5, 2, 200, 1 );
r2 = Param( "Slow avg", 8, 2, 200, 1 );
r3 = Param( "Signal avg", 3, 2, 200, 1 );
Plot( ml = MACD(r1, r2), StrFormat("(%g,%g)", r1, r2), ParamColor("MACD color", colorRed ), styleOwnScale );
Plot( sl = Signal(r1,r2,r3), "Sg" + _PARAM_VALUES(), ParamColor("Signal color", colorBlue ), styleOwnScale);
Plot( ml-sl, "MACD Histogram", ParamColor("Histogram color", colorBlack ), styleNoTitle | ParamStyle("Histogram style", styleHistogram | styleNoLabel, maskHistogram ) );
L1=EMA(Avg,3); L2=EMA(Avg,13); L3=EMA(Avg,39); s1=Cross(L3,L2); s2=Cross(s1,L1);  b1=Cross(L1,L2); b2=Cross(b1,L3);

Buy=Cross(b2,C);  Sell=Cross(C,s2); 
PlotShapes(IIf(Buy,shapeSmallCircle,shapeNone),colorSkyblue,0,Low,Offset=-14); 
PlotShapes(IIf(Sell,shapeSmallCircle+ shapePositionAbove,shapeNone),colorYellow,0,High,Offset=-25);

m1=MACD(r1,r2); s1=Signal(r1,r2,r3);
Buy=Cross(m1,s1); PlotShapes(shapeUpArrow*Buy,colorGreen);         Sell = Cross(s1,m1);  PlotShapes(shapeDownArrow*Sell,colorRed);
_SECTION_END();
 _SECTION_END();