100% found this document useful (1 vote)
1K views18 pages

Kelvinhand V1 Rocket Jet ALF

This document contains code for customizing chart settings, indicators, and drawings on a chart. It includes sections for setting chart options, adding pivots, logos, candlesticks, breakout signals, bands, and multiple overlaid "ring" indicators on the chart including Schaff Trend Cycle, RSI, and PFE indicators. Color settings and positioning parameters are customized throughout.

Uploaded by

prasch
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views18 pages

Kelvinhand V1 Rocket Jet ALF

This document contains code for customizing chart settings, indicators, and drawings on a chart. It includes sections for setting chart options, adding pivots, logos, candlesticks, breakout signals, bands, and multiple overlaid "ring" indicators on the chart including Schaff Trend Cycle, RSI, and PFE indicators. Color settings and positioning parameters are customized throughout.

Uploaded by

prasch
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

_SECTION_BEGIN("Chart Settings");

//-- Modified by Kelvinhand V1.


SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("Outer Panel",colorBlack));
SetChartBkGradientFill(ParamColor("Upper
Chart",colorDarkTeal),ParamColor("Lower Chart",colorBlack));
GraphXSpace=Param("GraphXSpace",10,0,100,1);
dec = (Param("Decimals",2,0,7,1)/10)+1;
bi = BarIndex();
Lbi = LastValue(BarIndex());
sbi = SelectedValue(bi);
x1= BarCount-1;

Title =
EncodeColor(colorWhite)+ Title = Name () + " | "
+EncodeColor(colorYellow) + Date() + " | "

+EncodeColor(colorTurquoise)+ "O : "+ EncodeColor(colorLightGrey)+ O + " | "


+EncodeColor(colorTurquoise)+ "H : "+ EncodeColor(colorLightGrey)+ H + " | "
+EncodeColor(colorTurquoise)+ "L : "+ EncodeColor(colorLightGrey)+ L + " | "
+EncodeColor(colorTurquoise)+ "C : "+ WriteIf(C> Ref(C,
-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ C + " | "
+EncodeColor(colorTurquoise)+ "Change : ("+ WriteIf(C> Ref(C,
-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed)) + WriteVal(C-Ref(C,-
1))+" "
+EncodeColor(colorTurquoise)+ " /"+ WriteIf(C> Ref(C,
-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal( ROC( C,
1 ))+""+ " % "
+EncodeColor(colorTurquoise)+ ") | Volume : " + WriteIf(V> Ref(V,
-1),EncodeColor(colorBrightGreen),EncodeColor(colorRed))+ WriteVal(V,1) ;
_SECTION_END();

_SECTION_BEGIN( "Draw Display Panels" );

GfxSetBkMode( 1 );
GfxSetTextColor( colorBlue );
GfxSelectSolidBrush( colorDarkTeal );
GfxSelectPen( colorBlue, 1 );
// broader color
GfxRectangle(0, 15,203,400);
GfxRectangle(202,15,300,400);

_SECTION_END();

_SECTION_BEGIN("Daily Pivots");
//-- Modified by Kelvinhand V1.
DayH = TimeFrameGetPrice("H", inDaily, -1);// yesterdays high
DayL = TimeFrameGetPrice("L", inDaily, -1);//low
DayC = TimeFrameGetPrice("C", inDaily, -1);//close
DayO = TimeFrameGetPrice("O", inDaily);// current day open
HiDay = TimeFrameGetPrice("H", inDaily);
LoDay = TimeFrameGetPrice("L", inDaily);
PP = (DayH + DayL + DayO + DayO) / 4 ;
R1 = (2 * PP) - DayL;
S1 = (2 * PP) - DayH;
R2 = PP + R1 - S1;
S2 = PP + S1 - R1;
R3 = R2 + (R1 - PP);
S3 = S2 - (PP - S1);
style = styleLine | styleThick + styleNoRescale;
rcolor = colorBlue;
scolor = colorRed;
pcolor = colorGreen;

Hor = 215; //Param("Horizontal Position",230,10,1200,1);


Ver = 200; //Param("Vertical Position",230,10,500);
Yoff= 20; //Param("Vertical Offset",30,0,500);

IX = Hor;
IY = Ver;

GfxSelectFont("arial", 9, 700 );
//GfxSetBkMode( colorWhite );

ColorMisc = ParamColor("Pivot Color",colorDarkYellow);

ColorRes = ParamColor("Res Color",colorRed);


ColorSup = ParamColor("Sup Color",colorGreen);

GfxSetTextColor(ColorRes);
IY+=Yoff;
GfxTextOut("R3: "+r3, IX, IY);

IY+=Yoff;
GfxTextOut("R2: "+r2, IX, IY);

IY+=Yoff;
GfxTextOut("R1: "+r1, IX, IY);

GfxSetTextColor(ColorMisc);
IY+=Yoff;
GfxTextOut("PP: "+PP, IX, IY);

GfxSetTextColor( ColorSup );
IY+=Yoff;
GfxTextOut("S1: "+s1, IX, IY);

IY+=Yoff;
GfxTextOut("S2: "+s2, IX, IY);

IY+=Yoff;
GfxTextOut("S3: "+s3, IX, IY);

GfxSetTextColor(ColorMisc);
IY+=Yoff;
GfxTextOut("YH: "+DayH, IX, IY);
IY+=Yoff;
GfxTextOut("YL: "+DayL, IX, IY);

_SECTION_END();

_SECTION_BEGIN("Logo");
//-- Modified by Kelvinhand V1.
GfxSelectFont("arial", 8, 700 ); GfxSetBkMode( colorLightBlue );
GfxSetTextColor( ParamColor("Color",colorLightBlue) );
Hor=Param("Horizontal Position",0,10,1200,1);
Ver=Param("Vertical Position",385,100,50,50);
GfxTextOut(" R O C K E T J E T V 2",Hor , Ver );

_SECTION_END();

_SECTION_BEGIN("Flower");

Show_color = ParamToggle("Display CandleColor", "No|Yes", 1);


r1 = Param( "ColorFast avg", 5, 2, 200, 1 );
r2 = Param( "ColorSlow avg", 10, 2, 200, 1 );
r3 = Param( "ColorSignal avg", 5, 2, 200, 1 );

Prd1=Param("ATR Period",4,1,20,1);
Prd2=Param("Look Back",7,1,20,1);

green = HHV(LLV(L,Prd1)+ATR(Prd1),Prd2);
red = LLV(HHV(H,Prd1)-ATR(Prd1),Prd2);

flowerClose = EMA((Open+High+Low+Close)/4,3) ;
flowerOpen = EMA((Ref(Open,-1) + Ref(flowerClose,-1))/2,3);

Temp = Max(High, flowerOpen);


flowerHigh = EMA(Max(Temp, flowerClose),3);

Temp = Min(Low,flowerOpen);
flowerLow = EMA(Min(Temp, flowerClose),3);

m1=MACD(r1,r2);
s1=Signal(r1,r2,r3);

ColorHighliter=
IIf(m1<0 AND m1>s1, colorYellow,
IIf(m1>0 AND m1>s1, colorWhite,
IIf(m1>0 AND m1<s1, colorDarkYellow,

colorRed)));

if(Show_color)
SetBarFillColor( ColorHighliter );
barColor=IIf(C>Green ,colorWhite,IIf(C < RED,colorRed,colorWhite));

PlotOHLC( IIf(flowerOpen<flowerClose, flowerOpen,


flowerClose),flowerHigh,flowerLow,IIf(flowerOpen<flowerClose,
flowerClose,
flowerOpen), "Close", barColor, styleNoTitle | styleCandle);

_SECTION_END();

_SECTION_BEGIN("Breakout Setting");
Buyperiods=Param("Breakout periods best is usually 18",5,1,100,1,1);
Sellperiods=Param("Exit Breakout",5,1,100,1,1);

// ----- "Heikin-Ashi" ----


HaClose=flowerClose;
HaOpen = flowerOpen;//AMA( Ref( HaClose, -1 ), 0.5 );
HaHigh = flowerHigh;//Max( H, Max( HaClose, HaOpen ) );
HaLow = flowerLow;//Min( L, Min( HaClose, HaOpen ) );

Buy= C>Ref(HHV(High,Buyperiods),-1) ;
Sell= C<Ref(LLV(Low,Sellperiods),-1);

/* exrem is one method to remove surplus strade signals. It removes excessive


signals of arrow */
Buy = ExRem(Buy, Sell);
Sell = ExRem(Sell, Buy);

PlotShapes( IIf( Buy, shapeSmallUpTriangle, shapeNone ), colorWhite, 0,


HaLow, -30);
PlotShapes( IIf( Sell, shapeSmallDownTriangle, shapeNone ), colorRed, 0,
HaHigh, -30);
_SECTION_END();

_SECTION_BEGIN("Bands");
//-- Modified by Kelvinhand V1.
SupResB =Param("Sup-Res Short",6,0,100,1);
nn=SupResB;

Bandlinecol=ParamColor("SupResLineColor",ColorRGB(82,82,82));
ParmCloud = ParamToggle("Cloud", "No|Yes", 0);
BoxCloudColor=ParamColor("BoxCloudColor",ColorRGB(27,27,27));

Line2=Param("ResLineLength",100,2,500,0.1);
Daysback1 = Line2;
FirstBar1 = BarCount - DaysBack1;
Hh=HHV(flowerHigh,nn);
LL=LLV(flowerLow,nn);

Res2=Hh;
Sup2=LL;

BandRes=IIf(BarIndex() >= Firstbar1,EndValue(Res2),Null);


BandSup=IIf(BarIndex() >= Firstbar1,EndValue(Sup2),Null);
Plot(BandRes,"",Bandlinecol,ParamStyle("ShortSupBand",styleLine|styleDashed|
stylehidden|styleNoTitle|styleNoLabel|styleThick,maskAll));
Plot(BandSup,"",Bandlinecol,ParamStyle("ShortResBand",styleLine|styleDashed|
stylehidden|styleNoTitle|styleNoLabel|styleThick,maskAll));

CS=BandRes;
CR=BandSup;

if(parmCloud == 1)

PlotOHLC( CS, CS, CR,CR, "Band",BoxCloudColor, styleCloud | styleNoLabel|


styleNoTitle);

_SECTION_END();

/*
-- Lord of the Ring ----
*/
_SECTION_BEGIN("PFE: Ring7"); //--Ring 7th
//-- Modified by Kelvinhand V1.
pds=10;
x=sqrt((ROC(C,9)*ROC(C,9))+100);
y=Sum(sqrt((ROC(C,1)* ROC(C,1))+1),pds);
z=(x/y);
pfe=EMA(IIf(C>Ref(C,-9),z,-z)*100,5);

result = WriteIf(pfe >10 AND pfe>Ref(pfe,-1),"Up",


WriteIf(pfe <-10 AND pfe<Ref(pfe,-1), "Dn", ""));

Color = IIf(result=="Up", ColorRGB(0,90,0),


IIf(result=="Dn", ColorRGB(90,0,0),
colorDarkTeal));

GfxSetBkMode( 1 );
GfxSelectSolidBrush( Color);

GfxSelectPen( colorBlue, 1 ); // broader color


GfxCircle( 100,100,70 );
RequestTimedRefresh( 0 );

_SECTION_END();

_SECTION_BEGIN("Schaff Trend Cycle: Ring6"); //--Ring 6th

/*
Ported directly from original STC Tradestation code
results differ from other Amibroker versions that are not based directly on
original EasyLanguage code
http://mediaserver.fxstreet.com/Reports/99afdb5f-d41d-4a2c-802c-
f5d787df886c/ebfbf387-4b27-4a0f-848c-039f4ab77c00.pdf
*/
MA1=23;
MA2=50;
TCLen=10;
MA1=Param("ShortMACDLen",23,5,36);
MA2=Param("LOngMACDLen",50,10,100);
TCLen=Param("TCLen(StochPeriod)",10,5,20);
Factor=.5;
//Calculate a MACD Line
XMac = MACD(MA1,MA2) ; // MACD in Amibroker always uses Close for MACD
calculation

//1st Stochastic: Calculate Stochastic of a MACD


Value1 = LLV(XMac, TCLen);
Value2 = HHV(XMac, TCLen) - Value1;

//Frac1=1; // prime Frac1 to a default of 1


//Frac1 = IIf(Value2 > 0, ((XMac - Value1) / Value2) * 100, Ref(FRAC1,-1));
// have to "prime" first value so that reference to "i-1" does not result in
subscript out of range
// since MACD for both periods is not defined until MA2 period, 0 seems to be
mathematically correct priming value
frac1=0;
for (i = 1; i < BarCount; i++)
if (Value2[i] > 0)
frac1[i] = ((XMac[i] - Value1[i])/Value2[i])*100;
else
frac1[i]= frac1[i-1];

//Smoothed calculation for %FastD of MACD

PF[0]=frac1[0];
PF[1]=frac1[1];
for (i = 2; i < BarCount; i++)
PF[i]=PF[i-1]+(Factor*(frac1[i]-PF[i-1]));

//2nd Stochastic: Calculate Stochastic of Smoothed Percent FastD, above.


Value3 = LLV(PF, TCLen);
Value4 = HHV(PF, TCLen) - Value3;

//%FastK of PF
/*
Frac2=1;
Frac2 = IIf(Value4 > 0, ((PF - Value3) / Value4) * 100, Ref(FRAC2,-1));
*/

frac2[0]=0;
for (i = 1; i < BarCount; i++)
if (Value4[i] > 0 )
frac2[i]=((PF[i] - Value3[i])/Value4[i])*100;
else
frac2[i]=frac2[i-1];

//Smoothed calculation for %FastD of PF


PFF[0]=frac2[0];
PFF[1]=frac2[1];
for (i = 2; i < BarCount; i++)
PFF[i]=PFF[i-1]+(Factor*(frac2[i]-PFF[i-1]));

result = WriteIf( pff >98,"Up",


WriteIf( pff <2, "Dn", ""));

Color = IIf(result=="Up", ColorRGB(0,120,0),


IIf(result=="Dn", ColorRGB(120,0,0),
colorDarkTeal));

GfxSetBkMode( 1 );
GfxSelectSolidBrush( Color );
GfxCircle( 100,100,60 );
RequestTimedRefresh( 0 );
_SECTION_END();

_SECTION_BEGIN("RSI: Ring5"); // Ring 5th

iRSI= RSI(7);
result = WriteIf( iRSI>70,"Up", WriteIf( iRSI<30,"Dn", ""));

Color = IIf(result=="Up", ColorRGB(0,150,0),


IIf(result=="Dn", ColorRGB(150,0,0),
colorDarkTeal));

GfxSetBkMode( 1 );
GfxSelectSolidBrush( Color );
GfxSelectPen( colorBlue, 1 ); // broader color
GfxCircle( 100,100,50 );
RequestTimedRefresh( 0 );

_SECTION_END();

_SECTION_BEGIN("Rays: Ring4");

Pp1=3;
Pp2=2;

CS33=HHV(LLV(flowerHigh,Pp1)-ATR(Pp2),4);
CR33=HHV(LLV(flowerHigh,Pp1)-ATR(Pp2),5);
Result = WriteIf(flowerClose> CS33,"Up",
WriteIf(CS33>flowerClose ,"Dn", ""));

Color = IIf(result=="Up", ColorRGB(0,180,0),


IIf(result=="Dn", ColorRGB(180,0,0),
colorDarkTeal));

GfxSetBkMode( 1 );
GfxSelectSolidBrush( Color);
GfxSelectPen( colorBlue, 1 ); // broader color
GfxCircle( 100,100,40 );

_SECTION_END();

_SECTION_BEGIN("Entry_Exit_Sig: Ring3");

EntrylookbackPeriod=10;
EntryATRperiod=1.9;
EntrySig = C > ( LLV( flowerLow, EntrylookbackPeriod ) + EntryATRperiod *
ATR( 10 ) );
ExitSig = C < ( HHV( flowerHigh, EntrylookbackPeriod ) -EntryATRperiod * ATR(
10 ) );

result = WriteIf( EntrySig,"Entry", WriteIf( ExitSig,"Exit", ""));

Color = IIf(result=="Entry", ColorRGB(0,210,0),


IIf(result=="Exit", ColorRGB(210,0,0),
colorDarkTeal));

GfxSetBkMode( 1 );
GfxSelectSolidBrush( Color );
GfxSelectPen( colorBlue, 1 ); // boarder color
GfxCircle( 100,100,30 );// changing the value of x,y,rad x-70, y-90, rad-24
RequestTimedRefresh( 0 );

_SECTION_END();

_SECTION_BEGIN("CCI9: Ring2");

result = WriteIf( CCI(9)>0,"Up",


WriteIf( CCI(8)<0,"Dn", ""));

Color = IIf(result=="Up", ColorRGB(0,240,0),


IIf(result=="Dn", ColorRGB(240,0,0),
colorDarkTeal));

GfxSetBkMode(1);
GfxSelectSolidBrush( Color );
GfxSelectPen( colorBlue, 1 ); // broader color
GfxCircle( 100,100,20);
RequestTimedRefresh( 0 );

_SECTION_END();

_SECTION_BEGIN("%BB7: Ring1");

p=7;
x=((C+2*StDev(C,p)-MA(C,p))/(4*StDev(C,p)))*100;
result = WriteIf( x > 40,"Up",
WriteIf( x < 40,"Dn", ""));

Color = IIf(result=="Up", ColorRGB(62,255,62),


IIf(result=="Dn", ColorRGB(255,62,62) ,
colorDarkTeal));

GfxSetBkMode( 1 );
GfxSelectSolidBrush( Color);

GfxSelectPen( colorBlue, 1 ); // broader color


GfxCircle( 100,100,10 );
RequestTimedRefresh( 0 );
_SECTION_END();

/*
--- Rectangle
*/
_SECTION_BEGIN("MACD Bull/Bear");
r1 = Param( "Fast Avg", 12, 2, 200, 1 );
r2 = Param( "Slow Avg", 26, 2, 200, 1 );
r3 = Param( "Signal Avg", 9, 2, 200, 1 );
m1=MACD(r1,r2);
s1=Signal(r1,r2,r3);

GfxSetBkMode( 1 );
GfxSelectPen( colorBlue, 1 );
GfxSelectSolidBrush( colorDarkTeal );

GfxRectangle(80, 220,120,280);
GfxRectangle(120,315,180,280);
GfxRectangle(20, 315,80, 280);
GfxRectangle(80, 375,120,315);

//-- 1. North: Strong Bull => M&S above 0, M>S


//-- 2. East: Weak Bull => M<0 but M>S
//-- 3. West: Weak Bear => M>0 but M<S
//-- 4. South: Strong Bear => M<0 but M<S

Dir = WriteIf(m1>0 AND m1>s1, "N",


WriteIf(m1<0 AND m1>s1, "E",
WriteIf(m1>0 AND m1<s1, "W",
WriteIf(m1<0 AND m1<s1, "S", ""))));

if (Dir=="N")
{
GfxSelectSolidBrush( ColorRGB(0,147,0));
GfxRectangle(80,220,120,280);
}
else
if (Dir=="E")
{
GfxSelectSolidBrush( ColorRGB(0,147,0));
GfxRectangle(120,315,180,280);
}
else
if (Dir=="W")
{
GfxSelectSolidBrush( ColorRGB(225,0,0));
GfxRectangle(20,315,80,280);
}
else
if (Dir=="S")
{
GfxSelectSolidBrush( ColorRGB(225,0,0));
GfxRectangle(80,375,120,315);
}

//--Bear trendline
GfxSelectPen( colorRed, 1 );
GfxMoveTo( 25,320 ); GfxLineTo( 75, 370 ); //SW

//--Bull trendline
GfxSelectPen( colorGreen, 1 );
GfxMoveTo( 125,225 ); GfxLineTo( 175, 275 ); //NE

RequestTimedRefresh( 0 );

_SECTION_END();

_SECTION_BEGIN("Spiker");
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

VolPer = Param("Adjust Vol. MA per.", 10, 1, 255, 1);


ConvPer = Param("Adjust Conv. MA per.", 4, 1, 255, 1);

MAuv = TEMA(uv, VolPer ); mauv1 = Ref(mauv, -1);


MAdv = TEMA(dv, VolPer ); madv1 = Ref(madv, -1);
MAtv = TEMA(V, VolPer );//total volume

Converge = (TEMA(MAuv - MAdv, ConvPer));


Converge1 = Ref(Converge, -1);
ConvergeUp = Converge > Converge1;
ConvergeOver = Converge > 0;
rising = ConvergeUp AND ConvergeOver;
falling = !ConvergeUp AND ConvergeOver;

GfxSelectSolidBrush( colorDarkTeal );
GfxRoundRect(240,30,260,200,20,20);

//Tube Top
GfxSelectSolidBrush( colorDarkTeal );
GfxCircle( 250,180,23 );

result = WriteIf( rising,"ab",


WriteIf( falling,"cd",
WriteIf( Converge>0,"ef", "")));

GfxSetBkMode( 1 );
if ( result =="ab")
{
GfxSelectSolidBrush( ColorRGB(0,147,0) );
GfxSelectPen( colorGreen, 1 );
}
else
if ( result =="cd")
{
GfxSelectSolidBrush( ColorRGB(0,85,0) );
GfxSelectPen( colorDarkGreen, 1 );
}
else
{
GfxSelectSolidBrush( ColorRGB(255,0,0) );
GfxSelectPen( colorRed, 1 );
}

GfxRectangle(241,50,259,200); //Tube Neck


GfxCircle(250,180,22 ); //Tube Bottom
RequestTimedRefresh( 0 );

_SECTION_END();

_SECTION_BEGIN("fuctions");

function xMA(Type,P,Periods)
{

m = 0;

if( Type == "Weighted" ) m= WMA( P, Periods );


if( Type == "Lagless-21" ) m= 2*EMA(P, Periods)-EMA(EMA(P, Periods),
Periods);
if( Type == "Hull-26" ) m= WMA(2*(WMA(P, Periods/2))-WMA(P, Periods) ,4 );
if( Type == "Linear Regression-45" ) m= LinearReg( P, Periods );
if( Type == "Exponential" ) m = EMA( P, Periods );
if( Type == "Double Exponential" ) m = DEMA( P, Periods );
if( Type == "Tripple Exponential" ) m = TEMA( P, Periods );
if( Type == "Wilders" ) m = Wilders( P, Periods );
if( Type == "Simple" ) m = MA( P, Periods );

return m;
}
_SECTION_END();

_SECTION_BEGIN("MA1");

Type = ParamList("Type", "Weighted,Lagless-21,Hull-26,Linear


Regression-45,Exponential,Double Exponential,Tripple
Exponential,Wilders,Simple");
Periods = Param("Periods", 20, 2, 200 );
Displacement = Param("Displacement", 1, -50, 50 );

Plot( xMA(Type,HaClose,Periods), _DEFAULT_NAME(), ParamColor("Color",


colorLightGrey),ParamStyle("Style",styleLine |styleThick|styleNoTitle
,maskAll),Displacement );

_SECTION_END();

_SECTION_BEGIN("MA2");

Type = ParamList("Type", "Weighted,Lagless-21,Hull-26,Linear


Regression-45,Exponential,Double Exponential,Tripple
Exponential,Wilders,Simple");
Periods = Param("Periods", 60, 2, 200 );
Displacement = Param("Displacement", 1, -50, 50 );

Plot( xMA(Type,HaClose,Periods), _DEFAULT_NAME(), ParamColor("Color",


colorGrey50),ParamStyle("Style",styleLine |styleNoTitle ,maskAll),Displacement
);

_SECTION_END();

_SECTION_BEGIN("MA3");

Type = ParamList("Type", "Weighted,Lagless-21,Hull-26,Linear


Regression-45,Exponential,Double Exponential,Tripple
Exponential,Wilders,Simple");
Periods = Param("Periods", 120 ,2, 200 );
Displacement = Param("Displacement", 1, -50, 50 );

Plot( xMA(Type,HaClose,Periods), _DEFAULT_NAME(), ParamColor("Color",


colorGrey40),ParamStyle("Style",styleLine |styleNoTitle ,maskAll),Displacement
);
_SECTION_END();

_SECTION_BEGIN("MA4");
Type = ParamList("Type", "Weighted,Lagless-21,Hull-26,Linear
Regression-45,Exponential,Double Exponential,Tripple
Exponential,Wilders,Simple");
Periods = Param("Periods", 180, 2, 800 );
Displacement = Param("Displacement", 1, -50, 50 );
Plot( xMA(Type,HaClose,Periods), _DEFAULT_NAME(), ParamColor("Color",
ColorRGB(40,40,40)),ParamStyle("Style",styleLine |styleNoTitle
,maskAll),Displacement );
_SECTION_END();

_SECTION_BEGIN("TrendLine");

farback=Param("How Far back to go",100,50,5000,10);


nBars = Param("Number of bars", 12, 5, 40);

aHPivs = H - H;
aLPivs = L - L;
aHPivHighs = H - H;
aLPivLows = L - L;
aHPivIdxs = H - H;
aLPivIdxs = L - L;

nHPivs = 0;
nLPivs = 0;
lastHPIdx = 0;
lastLPIdx = 0;
lastHPH = 0;
lastLPL = 0;
curPivBarIdx = 0;
aHHVBars = HHVBars(H, nBars);
aLLVBars = LLVBars(L, nBars);
aHHV = HHV(H, nBars);
aLLV = LLV(L, nBars);
aVisBars = Status("barvisible");
nLastVisBar = LastValue(Highest(IIf(aVisBars, BarIndex(), 0)));

_TRACE("Last visible bar: " + nLastVisBar);

curBar = (BarCount-1);
curTrend = "";

if (aLLVBars[curBar] < aHHVBars[curBar])


curTrend = "D";
else
curTrend = "U";

for (i=0; i<farback; i++)


{
curBar = (BarCount - 1) - i;
if (aLLVBars[curBar] < aHHVBars[curBar])
{
if (curTrend == "U")
{
curTrend = "D";
curPivBarIdx = curBar - aLLVBars[curBar];
aLPivs[curPivBarIdx] = 1;
aLPivLows[nLPivs] = L[curPivBarIdx];
aLPivIdxs[nLPivs] = curPivBarIdx;nLPivs++;}
}
else
{
if (curTrend == "D")
{
curTrend = "U";
curPivBarIdx = curBar - aHHVBars[curBar];
aHPivs[curPivBarIdx] = 1;
aHPivHighs[nHPivs] = H[curPivBarIdx];
aHPivIdxs[nHPivs] = curPivBarIdx;nHPivs++;
}
}
}
curBar = (BarCount-1);
candIdx = 0;
candPrc = 0;
lastLPIdx = aLPivIdxs[0];
lastLPL = aLPivLows[0];
lastHPIdx = aHPivIdxs[0];
lastHPH = aHPivHighs[0];
if (lastLPIdx > lastHPIdx)
{
candIdx = curBar - aHHVBars[curBar];
candPrc = aHHV[curBar];
if (lastHPH < candPrc AND candIdx > lastLPIdx AND candIdx <
curBar)
{
aHPivs[candIdx] = 1;
for (j=0; j<nHPivs; j++)
{
aHPivHighs[nHPivs-j] = aHPivHighs[nHPivs-
(j+1)];
aHPivIdxs[nHPivs-j] = aHPivIdxs[nHPivs-(j+1)];
}
aHPivHighs[0] = candPrc ;
aHPivIdxs[0] = candIdx;nHPivs++;
}
}
else
{
candIdx = curBar - aLLVBars[curBar];
candPrc = aLLV[curBar];
if (lastLPL > candPrc AND candIdx > lastHPIdx AND candIdx <
curBar)
{
aLPivs[candIdx] = 1;
for (j=0; j<nLPivs; j++)
{
aLPivLows[nLPivs-j] = aLPivLows[nLPivs-(j+1)];
aLPivIdxs[nLPivs-j] = aLPivIdxs[nLPivs-(j+1)];
}
aLPivLows[0] = candPrc;
aLPivIdxs[0] = candIdx;nLPivs++;}}
for (k=0; k<nHPivs; k++)
{
_TRACE("High pivot no. " + k+ " at barindex: "
+ aHPivIdxs[k] + ", "+

WriteVal(ValueWhen(BarIndex()==aHPivIdxs[k],DateTime(), 1),
formatDateTime)+ ", " + aHPivHighs[k]);
}
a1=ahpivs==1;a2=alpivs==1;
x = Cum(1);s1=L;s11=H;pS = a2 == 1;
endt= SelectedValue(ValueWhen( pS, x, 1 ));
startt=SelectedValue(ValueWhen( pS, x, 2 ));
dtS =endt-startt;
endS = SelectedValue(ValueWhen( pS, s1, 1 ) );
startS = SelectedValue( ValueWhen( pS, s1, 2 ));
aS = (endS-startS)/dtS;
bS = endS;
trendlineS = aS * ( x -endt ) + bS;
g3= IIf(x>startt-10,trendlineS,-1e10);

pR = a1== 1;endt1= SelectedValue(ValueWhen( pR, x,


1 ));
startt1=SelectedValue(ValueWhen( pR, x, 2 ));
dtR =endt1-startt1;endR = SelectedValue(ValueWhen( pR,
s11, 1 ) );
startR = SelectedValue( ValueWhen( pR, s11, 2 ));
aR = (endR-startR)/dtR;bR = endR;
trendlineR = aR * ( x -endt1 ) + bR;
g4= IIf(x>startT1-10,trendlineR,-1e10);

//_SECTION_END();

//_SECTION_BEGIN("DrawTL_AToB");
result = WriteIf( g3>C,"Dn",
WriteIf( g3<C,"Up", ""));

if (result =="Dn")
GfxSelectSolidBrush( ColorRGB(255,0,0) );
else
if (result =="Up")
GfxSelectSolidBrush( ColorRGB(0,147,0) );

GfxSetBkMode( 1 );
GfxSelectPen( colorWhite, 1 );

GfxCircle( 30,229,8 ); //Connector A


GfxCircle( 168,367,8 ); //Connector B

GfxMoveTo( 35,234 ); //Line A to B


GfxLineTo( 163, 362 );

RequestTimedRefresh( 0 );
_SECTION_END();

_SECTION_BEGIN("traing sl");

function vstop_func(trBull,trBear)
{
trailArray[ 0 ] = C[ 0 ]; // initialize
for( i = 1; i < BarCount; i++ )
{
prev = trailArray[ i - 1 ];

if (C[ i ] > prev AND C[ i - 1 ] > prev)


{
trailArray[ i ] = Max(prev,C[ i ] - trBull[ i ]);
}
else if (C[ i ] < prev AND C[ i - 1 ] < prev)
{
trailArray[ i ] = Min(prev,C[ i ] + trBear[ i ]);
}
else if (C[ i ] > prev)
{
trailArray[ i ] = C[ i ] - trBull[ i ];
}
else
{
trailArray[ i ] = C[ i ] + trBear[ i ];
}
}
return trailArray;
}

per = Param("per",20, 1, 150, 1);


multBull = Param("multBull",2, 1, 4, 0.05);
multBear = Param("multBear",2, 1, 4, 0.05);

trBull = multBull * ATR(per);


trBear = multBear * ATR(per);

trailArray = vstop_func(trBull,trBear);
s0=trailArray;

s1= s0 > C ;
s2= s0 <C ;
ccresult1 = WriteIf( s1,"cu", "");
ccresult2 = WriteIf( s2,"cd", "");

GfxSelectFont("arial", 13, 700 ); GfxSetBkMode( colorRed);


GfxSetTextColor( ParamColor("Color",colorRed) );
Hor=Param("Horizontal Position",30,10,1200,1);
Ver=Param("Vertical Position",185,100,50,50);

if ( ccresult1 =="cu")

{
GfxTextOut(""+s0,Hor , Ver );
}
else

GfxSelectFont("arial", 13, 700 ); GfxSetBkMode( colorGreen );


GfxSetTextColor( ParamColor("Color",colorGreen) );
Hor=Param("Horizontal Position",75,10,1200,1);
Ver=Param("Vertical Position",185,100,50,50);

if ( ccresult2 =="")

{
GfxTextOut(""+s0,Hor , Ver );
}
_SECTION_END();

_SECTION_BEGIN("traing s2");

s0=trailArray;
ccresult1 = WriteIf( s0 > C ,"cu", WriteIf( s0 <C,"cd", ""));

GfxSelectFont("arial", 13, 700 ); GfxSetBkMode( colorBrightGreen );


GfxSetTextColor( ParamColor("Color",colorBrightGreen) );
Hor=Param("Horizontal Position",30,10,1200,1);
Ver=Param("Vertical Position",185,100,50,50);

if ( ccresult1 =="cd")
GfxTextOut(""+s0,Hor , Ver );
else
GfxSelectFont("arial", 13, 700 );

GfxSetBkMode( colorWhite );

GfxSetTextColor( ParamColor("Color",colorWhite) );
Hor=Param("Horizontal Position",75,10,1200,1);
Ver=Param("Vertical Position",185,100,50,50);

if ( ccresult1 =="") GfxTextOut(""+s0,Hor , Ver );


_SECTION_END();

_SECTION_BEGIN("GFXClosePrice");
GfxSelectFont("arial", 13, 700 ); GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorWhite) );
Hor=Param("Horizontal Position",120,10,1200,1);
Ver=Param("Vertical Position",185,100,50,50);
GfxTextOut(""+C,Hor , Ver );
_SECTION_END();

_SECTION_BEGIN("Buy/Sell Circle");
GfxSetBkMode( 1 );
GfxSelectPen( colorBlue, 1 );

//-- Buy Circle on Top Left, Sell Circle on Top Right on Panel 1
ColorBuy = IIf(ccresult2 =="cd", colorLime, ColorRGB(0,0,94));
GfxSelectSolidBrush( ColorBuy );
GfxCircle( 20,40,7 );

ColorSell = IIf(ccresult1 =="cu", colorRed, ColorRGB(0,0,94));


GfxSelectSolidBrush( ColorSell);
GfxCircle( 180,40,7 );

_SECTION_END();

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy