Professional Documents
Culture Documents
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);
m1=MACD(r1,r2);
s1=Signal(r1,r2,r3);
mycolor=IIf(m1<0 AND m1>s1, ColorRGB(230,230,0),IIf(m1>0 AND
m1>s1,ColorRGB(0,0,100),IIf(m1>0 AND m1<s1,colorOrange,colorDarkRed)));
if(Show_color)
{
ColorHighliter = myColor;
SetBarFillColor( ColorHighliter );
}
//////////
m1=MACD(r1,r2);
s1=Signal(r1,r2,r3);
mycolor=IIf(m1<0 AND m1>s1, ColorRGB(230,230,0),IIf(m1>0 AND
m1>s1,ColorRGB(0,0,100),IIf(m1>0 AND m1<s1,colorOrange,colorDarkRed)));
if(Show_color)
{
ColorHighliter = mycolor;
SetBarFillColor( ColorHighliter );
}
_SECTION_END();
_SECTION_BEGIN("Line");
a = Param("Average Pds", 5, 1, 10, 1 );
n = Param("Short Pds", 8, 5, 21, 1 );
m = Param("Long Pds", 60, 0, 90, 1 );
Var4 =(Low+High+2*Close)/4;
OP = EMA(Var4,a);
res1 = HHV(OP,n);
res2 =HHV(OP,m);
sup2 =LLV(OP,m);
sup1 =LLV(OP,n);
Linecolor = IIf(Op==sup1,colorCustom12,IIf(Op==res1,10,7));
_SECTION_BEGIN("Rays1");
line=ParamToggle("Line","No|Yes",1);
if(line)
{
Pp1=Param("Ray_Period1",3,1,20,1);
Pp2=Param("ATR_Period1",4,1,20,1);
Cal=HHV(LLV(HaHigh,Pp1)-ATR(Pp2),5);
_SECTION_END();
_SECTION_BEGIN("OsSetting");
if(Ovos)
{
PlotShapes (IIf(Oversold, shapeHollowSmallCircle, shapeNone) ,38, layer = 0,
yposition = haLow, offset = -8 );
PlotShapes (IIf(Overbought, shapeHollowSmallCircle, shapeNone) ,colorBrown, layer =
0, yposition = haHigh, offset = 7 );
}
_SECTION_END();
_SECTION_BEGIN("TSKPPIVOT");
CHiPr = 0;
CLoPr = 9999999;
blsLong = 0;
PrevCOBar = 0;
NumBars = 0;
PrePP = 0;
PrevLowVal = 9999999;
BuySig = 0;
blsShort = 0;
PrevHiVal = 0;
blsNewCO = 0;
BarDif = 0;
KPA900Val = E_TSKPA900(Close);
KPAutoStopVal = E_TSKPAUTOSTOP(High,Low,Close);
Ctmpl = E_TSKPCOLORTMPL(Open,High,Low,Close,Volume);
sctotal = 0;
sctotal = sctotal + IIf(tskp_colortmplcnd0 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd1 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd2 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd3 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd4 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd5 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd6 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd7 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd8 > 0, 1, -1);
if ( curBar == 0 )
{
CHiPr = haHigh[curBar];
CHiBar = curBar;
CLoPr = haLow[curBar];
CLoBar = curBar;
blsLong = 0;
blsShort = 0;
blsNewCO = 0;
PrePP = 0;
PrevCOBar = 0;
PrevHiVal = haHigh[curBar];
PrevLowVal = haLow[curBar];
BuySig = 0;
SellSig = 0;
blsLL = 0;
}
_SECTION_END();
_SECTION_BEGIN("TSKPMoMo");
blsLong = 0;
KPStopLine = E_TSKPSTOPLINE(High,Low,Close);
// tskp_upsell, tskp_triggerline, tskp_triggerlinevma
sw = E_TSKPUPSELL(Open,High,Low,Close,Volume);
KPTriggerLine = tskp_triggerline;
KPFast3Val = IIf((E_TSKPFAST3(Open,High,Low,Close,Volume)> 0),1, -1);
//tskp_fast2val1, tskp_fast2val2
dummy = E_TSKPFAST2(Open,High,Low,Close,Volume);
KPFast2Val = IIf ((tskp_fast2val1 > 0),1,-1);
Ctmpl = E_TSKPCOLORTMPL(Open,High,Low,Close,Volume);
sctotal = 0;
sctotal = sctotal + IIf(tskp_colortmplcnd0 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd1 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd2 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd3 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd4 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd5 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd6 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd7 > 0, 1, -1);
sctotal = sctotal + IIf(tskp_colortmplcnd8 > 0, 1, -1);
// tskp_mediumma,tskp_mediumup,tskp_mediumdown
dummy = E_TSKPMEDIUM(Close);
KPMediumUP = tskp_mediumup;
KPMediumDwn = tskp_mediumdown;
KPMediumMA = tskp_mediumma;
_SECTION_END();
_SECTION_BEGIN("Pivot");
nBars = Param("Number of bars", 12, 3, 40);
LP=Param("LookBack Period",150,1,500,1);
bShowTCZ = Param("Show TCZ", 0, 0, 1);
nExploreBarIdx = 0;
nExploreDate = 0;
nCurDateNum = 0;
DN = DateNum();
DT = DateTime();
bTCZLong = False;
bTCZShort = False;
nAnchorPivIdx = 0;
ADX8 = ADX(8);
if(Status("action")==1) {
bDraw = True;
bUseLastVis = 1;
} else {
bDraw = False;
bUseLastVis = False;
bTrace = 1;
nExploreDate = Status("rangetodate");
for (i=LastValue(BarIndex());i>=0;i--) {
nCurDateNum = DN[i];
if (nCurDateNum == nExploreDate) {
nExploreBarIdx = i;
}
}
}
if (bDraw) {
}
aHPivs = HaHigh - HaHigh;
aLPivs = HaLow - HaLow;
aHPivHighs = HaHigh - HaHigh;
aLPivLows = HaLow - HaLow;
aHPivIdxs = HaHigh - HaHigh;
aLPivIdxs = HaLow - HaLow;
aAddedHPivs = HaHigh - HaHigh;
aAddedLPivs = HaLow - HaLow;
aLegVol = HaHigh - HaHigh;
aRetrcVol = HaHigh - HaHigh;
nHPivs = 0;
nLPivs = 0;
lastHPIdx = 0;
lastLPIdx = 0;
lastHPH = 0;
lastLPL = 0;
curPivBarIdx = 0;
aHHVBars = HHVBars(HaHigh, nBars);
aLLVBars = LLVBars(HaLow, nBars);
aHHV = HHV(HaHigh, nBars);
aLLV = LLV(HaLow, nBars);
nLastVisBar = LastValue(
Highest(IIf(Status("barvisible"), BarIndex(), 0)));
curBar = IIf(nlastVisBar > 0 AND bUseLastVis, nlastVisBar,
IIf(Status("action")==4 AND nExploreBarIdx > 0, nExploreBarIdx,
LastValue(BarIndex())));
curTrend = "";
if (aLLVBars[curBar] < aHHVBars[curBar])
curTrend = "D";
else
curTrend = "U";
if (curBar >= LP) {
for (i=0; i<LP; i++) {
curBar = IIf(nlastVisBar > 0 AND bUseLastVis,
nlastVisBar-i,
IIf(Status("action")==4 AND nExploreBarIdx > 0,
nExploreBarIdx-i,
LastValue(BarIndex())-i));
if (aLLVBars[curBar] < aHHVBars[curBar]) {
if (curTrend == "U") {
curTrend = "D";
curPivBarIdx = curBar - aLLVBars[curBar];
aLPivs[curPivBarIdx] = 1;
aLPivLows[nLPivs] = HaLow[curPivBarIdx];
aLPivIdxs[nLPivs] = curPivBarIdx;
nLPivs++;
}
} else {
if (curTrend == "D") {
curTrend = "U";
curPivBarIdx = curBar - aHHVBars[curBar];
aHPivs[curPivBarIdx] = 1;
aHPivHighs[nHPivs] = HaHigh[curPivBarIdx];
aHPivIdxs[nHPivs] = curPivBarIdx;
nHPivs++;
}
}
}
}
curBar =
IIf(nlastVisBar > 0 AND bUseLastVis,
nlastVisBar,
IIf(Status("action")==4 AND nExploreBarIdx > 0,
nExploreBarIdx,
LastValue(BarIndex()))
);
if (nHPivs >= 2 AND nLPivs >= 2) {
lastLPIdx = aLPivIdxs[0];
lastLPL = aLPivLows[0];
lastHPIdx = aHPivIdxs[0];
lastHPH = aHPivHighs[0];
nLastHOrLPivIdx = Max(lastLPIdx, lastHPIdx);
nAddPivsRng = curBar - nLastHOrLPivIdx;
aLLVAfterLastPiv = LLV(HaLow, nAddPivsRng);
nLLVAfterLastPiv = aLLVAfterLastPiv[curBar];
aLLVIdxAfterLastPiv = LLVBars(HaLow, nAddPivsRng);
nLLVIdxAfterLastPiv = curBar - aLLVIdxAfterLastPiv[curBar];
aHHVAfterLastPiv = HHV(HaHigh, nAddPivsRng);
nHHVAfterLastPiv = aHHVAfterLastPiv[curBar];
aHHVIdxAfterLastPiv = HHVBars(HaHigh, nAddPivsRng);
nHHVIdxAfterLastPiv = curBar - aHHVIdxAfterLastPiv[curBar];
if (lastHPIdx > lastLPIdx) {
/* ****************************************************************
Still finding missed pivot(s). Here, the last piv is a low piv.
**************************************************************** */
} else {
}
}
/* ****************************************
// -- Done with finding pivots
***************************************** */
if (bDraw) {
/* ****************************************
// -- Done with discovering and plotting pivots
***************************************** */
risk = 0;
profInc = 0;
nLeg0Pts = 0;
nLeg0Bars = 0;
nLeg0Vol = 0;
nLeg1Pts = 0;
nLeg1Bars = 0;
nLeg1Vol = 0;
nLegBarsDiff = 0;
nRtrc0Pts = 0;
nRtrc0Bars = 0;
nRtrc0Vol = 0;
nRtrc1Pts = 0;
nRtrc1Bars = 0;
nRtrc1Vol = 0;
minRtrc = 0;
maxRtrc = 0;
minLine = 0;
maxLine = 0;
triggerLine = 0;
firstProfitLine = 0;
triggerInc = 0;
triggerPrc = 0;
firstProfitPrc = 0;
retrcPrc = 0;
retrcBar = 0;
retrcBarIdx = 0;
retrcRng = 0;
aRetrcPrc = HaHigh-HaHigh;
aRetrcPrcBars = HaHigh-HaHigh;
aRetrcClose = HaClose;
retrcClose = 0;
tcz500 =
(aHPivHighs[0] -
(.5 * (aHPivHighs[0] - aLPivLows[1])));
tcz618 =
(aHPivHighs[0] -
(.618 * (aHPivHighs[0] - aLPivLows[1])));
tcz786 =
(aHPivHighs[0] -
(.786 * (aHPivHighs[0] - aLPivLows[0])));
retrcPrc = aRetrcPrc[curBar];
retrcBarIdx = curBar - aRetrcPrcBars[curBar];
retrcClose = aRetrcClose[retrcBarIdx];
// -- bTCZLong setup?
bTCZLong = (
tcz618 =
(aHPivHighs[0] -
(.618 * (aHPivHighs[1] - aLPivLows[0])));
tcz786 =
(aHPivHighs[0] -
(.786 * (aHPivHighs[0] - aLPivLows[0])));
bTCZShort = (
// -- Are retracement levels arranged in
// tcz order?
if (bShowTCZ) {
Plot(
LineArray( IIf(bTCZLong, aHPivIdxs[0], aLPivIdxs[0]),
tcz500, curBar, tcz500 , 0),
"tcz500", colorPaleBlue, styleLine);
Plot(
LineArray( IIf(bTCZLong, aHPivIdxs[0], aLPivIdxs[0]),
tcz618, curBar, tcz618, 0),
"tcz618", colorPaleBlue, styleLine);
Plot(
LineArray( IIf(bTCZLong, aHPivIdxs[0], aLPivIdxs[0]),
tcz786, curBar, tcz786, 0),
"tcz786", colorTurquoise, styleLine);
}
// -- if (bShowTCZ)
}
_SECTION_END();
W52_High=WriteVal(HHV(H,260),1.2);
W52_Low=WriteVal(LLV(L,260),1.2);
_SECTION_BEGIN("Fundamental data");
declara=GetFnData("LastSplitDate" );
declara1=GetFnData("DividendPayDate" ); // yahoo.format
Cg = Foreign("00DSEGEN", "C");
Cgo= Ref(Cg,-1);
xChange1=Cg - Ref(Cg,-1);
Change1 = StrFormat("%1.2f% ",xChange1);
barche1= xChange1>=0;
Comche1= xChange1<0;
xperchange1 = xChange1/100;
perchange1 = StrFormat("%1.2f% ",xperchange1);
positivechange1 = xperchange1>0;
negativechange1 = xperchange1<0;
mBull = C >WMA(C,50);
mBear= C <WMA(C,50);
sBull = C >WMA(C,15);
sBear= C <WMA(C,15);
//--------------------------------------------------------
//Long-term Price Trend(LTPT)
rc= C > EMA (C,50) AND C < EMA(C,200) AND EMA(C,50) < EMA(C,200);
ac= C > EMA (C,50) AND C > EMA(C,200) AND EMA(C,50) < EMA(C,200);
bl= C > EMA (C,50) AND C > EMA(C,200) AND EMA(C,50) > EMA(C,200);
wr= C < EMA (C,50) AND C > EMA(C,200) AND EMA(C,50) > EMA(C,200);
ds= C < EMA (C,50) AND C < EMA(C,200) AND EMA(C,50) > EMA(C,200);
br= C < EMA (C,50) AND C < EMA(C,200) AND EMA(C,50) < EMA(C,200);
//------------------------
//Trend Strength
_SECTION_BEGIN("JSB_Pic_DMX_3");
SetBarsRequired(100000, 100000);
JSB_InitLib();
_SECTION_BEGIN("Breakout Setting");
Buyperiods=Param("Breakout periods",5,1,100,1,1);
BuyBreakout= C>Ref(HHV(H,Buyperiods),-1);
_SECTION_END();
/*
*/
//Price Volume Breakout: close greater than last close and volume at least twice as
much 50-day MA
HIV = C > Ref (C,-1) AND V > (MA(V,15)*2);
LIV = C < Ref (C,-1) AND V < (MA(V,15)*2);
//------------------------------------------------------------
//Stochastics Part
//StochBuy = Cross(StochK(9,3), StochD(9,3,3));
//StochSell = Cross (StochD(9,3,3), StochK(9,3));
//StBuy=StochK(9,3)>StochD(9,3,3);
//StSell=StochK(9,3)<StochD(9,3,3);
//Stochastics Part
StochKval = StochK(10,5);
StochDval = StochD(10,5,5);
StBuy=StochK(10,5)>StochD(10,5,5);
StSell=StochK(10,5)<StochD(10,5,5);
///////////////////////////
//_SECTION_BEGIN("ZL W%R");
_SECTION_END();
//---------------------------------------------------------------------------------
-------
// Find Short Term Reversals - Closing Price, Hook, Island, Key, Open-Close
// and Pivot Point Reversals using automatic analysis
//-----------------------------------------------------------------------------
//_SECTION_BEGIN("MA-T3 Setting");
// Probable MA-T3 Cross-Oracle
p=Param("Cross Period 1",4,1,20,1); //4
MAp=T3(C,p);
k=Param("Cross Period 2",5,1,20,1);//6
MAk=T3(C,k);
y=p*T3(C,p)-(p-1)*Ref(T3(C,p-1),-1);
tClose=(p*(k-1)*T3(C,k-1)-k*(p-1)*T3(C,p-1))/(k-p);
DescCrossPrediction=Cross(tClose,C);
AscCrossPrediction=Cross(C,tClose);
ExpectMAcross=DescCrossPrediction OR AscCrossPrediction;
Confirmed=Cross(MAk,MAp) OR Cross(MAp,MAk);
UR=2*Highest(ROC(C,1));LR=2*Lowest(ROC(C,1));
Ucoeff=1+UR/100;Lcoeff=1+LR/100;
Filter=tClose<Lcoeff*C OR tClose>Ucoeff*C;
AddColumn(MAp,"MAp");
AddColumn(MAk,"MAk");
//Plot(C,"",7*Filter+1,64); //No. '64' designates price chart as candle
//Plot(MAp,"",7,1); //Red Line - The No. '4' designates the red color & No. '1'
//Plot(MAk,"",2,1); //Green Line - - The No. '4' designates the red color & No. '1'
bars=BarsSince(Cross(MAp,MAk) OR Cross(MAk,MAp));
expect=NOT(Filter);
orBuy=AscCrossPrediction;
orSell=DescCrossPrediction;
orBuy1=(C>tClose);
orSell1=(tClose>C);
_SECTION_END();
//////////////////////////////////////////////////////////////////////////////
//ROC(V,1);
//IIf(ROC(V,1) > 0, colorGreen, colorRed);
Vol=(ROC(V,1));
CP=(ROC(C,1));
C1 = Ref(C, -1);
uc = C > C1; dc = C <= C1;
ud = C > O; dd = C <= O;
/********************************************************
Convergence Rise/Fall Shadows:
_SECTION_BEGIN("Haiken-Ashi");
//THE QUEST FOR RELIABLE CROSSOVERS
//LISTING 1
function ZeroLagTEMA( array, period )
{
TMA1 = TEMA( array, period );
TMA2 = TEMA( TMA1, period );
Diff = TMA1 - TMA2;
return TMA1 + Diff ;
}
haClose = ( haClose + haOpen + haHigh + haLow )/4;
period = Param("Avg. TEMA period", 55, 1, 100 );
ZLHa = ZeroLagTEMA( haClose, period );
ZLTyp = ZeroLagTEMA( Avg, period );
//Plot( ZLHa, "ZLTema(Ha,"+period+")", colorRed );
//Plot( ZLTyp, "ZLTema(Typ,"+period+")", colorGreen );
TMBuy = Cross( ZLTyp, ZLHa );
TMSell = Cross( ZLHa, ZLTyp );
TMBuy1= ZLTyp> ZLHa ;
TMSell1=ZLHa> ZLTyp ;
_SECTION_END();
///////////////////////////////////////////////////////////////////////////////////
///////////////////////////////
//Volume Price Analysis AFL - VPA Version 1.0
//AFL by Karthikmarar. Detailed explanation available at
www.vpanalysis.blogspot.com
//=================================================================================
===
_SECTION_BEGIN("Volume Price Analysis by Mr.Karthik ");
SetChartOptions(0,chartShowArrows|chartShowDates);
//=================================================================================
======
DTL=Param("Linear regression period",60,10,100,10);
wbf=Param("WRB factor",1.5,1.3,2.5,.1);
nbf=Param("NRB factor",0.7,0.3,0.9,0.1);
TL=LinRegSlope(MA(C, DTL),2);
Vlp=Param("Volume lookback period",30,20,300,10);
Vrg=MA(V,Vlp);
St = StDev(Vrg,Vlp);
Vp3 = Vrg + 3*st;
Vp2 = Vrg + 2*st;;
Vp1 = Vrg + 1*st;;
Vn1 = Vrg -1*st;
Vn2 = Vrg -2*st;
rg=(H-L);
arg=Wilders(rg,30);
wrb=rg>(wbf*arg);
nrb=rg<(nbf*arg);
Vl=V<Ref(V,-1) AND V<Ref(V,-2);
upbar=C>Ref(C,-1);
dnbar=C<Ref(C,-1);
Vh=V>Ref(V,-1) AND Ref(V,-1)>Ref(V,-2);
Cloc=C-L;
x=rg/Cloc;
x1=IIf(Cloc=0,arg,x);
Vb=V>Vrg OR V>Ref(V,-1);
ucls=x1<2;
dcls=x1>2;
mcls=x1<2.2 AND x1>1.8 ;
Vlcls=x1>4;
Vhcls=x1<1.35;
j=MA(C,5);
TLL=LinRegSlope(j,40) ;
Tlm=LinRegSlope(j,15) ;
tls=LinRegSlope(j,5);
mp=(H+L)/2;
_SECTION_END();
//=================================================================================
=========
utbar=wrb AND dcls AND tls>0 ;
utcond1=Ref(utbar,-1) AND dnbar ;
utcond2=Ref(utbar,-1) AND dnbar AND V>Ref(V,-1);
utcond3=utbar AND V> 2*Vrg;
trbar=Ref(V,-1)>Vrg AND Ref(upbar,-1) AND Ref(wrb,-1) AND dnbar AND dcls AND wrb
AND tll>0 AND H==HHV(H,10);
Hutbar=Ref(upbar,-1) AND Ref(V,-1)>1.5*Vrg AND dnbar AND dcls AND NOT wrb AND NOT
utbar;
Hutcond=Ref(Hutbar,-1) AND dnbar AND dcls AND NOT utbar;
tcbar=Ref(upbar,-1) AND H==HHV(H,5)AND dnbar AND (dcls OR mcls) AND V>vrg AND NOT
wrb AND NOT Hutbar ;
Scond1=(utcond1 OR utcond2 OR utcond3) ;
Scond2=Ref(scond1,-1)==0;
scond=scond1 AND scond2;
stdn0= tll<0 AND V>Ref(V,-1) AND Ref(dnbar,-1) AND upbar AND (ucls OR mcls) AND
tls<0 AND tlm<0;
stdn= V>Ref(V,-1) AND Ref(dnbar,-1) AND upbar AND (ucls OR mcls) AND tls<0 AND
tlm<0;
stdn1= tll<0 AND V>(vrg*1.5) AND Ref(dnbar,-1) AND upbar AND (ucls OR mcls)AND
tls<0 AND tlm<0;
stdn2=tls<0 AND Ref(V,-1)<Vrg AND upbar AND vhcls AND V>Vrg;
bycond1= stdn OR stdn1;
bycond= upbar AND Ref(bycond1,-1);
stvol= L==LLV(L,5) AND (ucls OR mcls) AND V>1.5*Vrg AND tll<0;
ndbar=upbar AND nrb AND Vl AND dcls ;
nsbar=dnbar AND nrb AND Vl AND dcls ;
nbbar= C>Ref(C,-1) AND Vl AND nrb AND x1<2;
nbbar= IIf(C>Ref(C,-1) AND V<Ref(V,-1) AND V<Ref(V,-2) AND x1<1.1,1,0);
lvtbar= vl AND L<Ref(L,-1) AND ucls;
lvtbar1= V<Vrg AND L<Ref(L,-1) AND ucls AND tll>0 AND tlm>0 AND wrb;
lvtbar2= Ref(Lvtbar,-1) AND upbar AND ucls;
dbar= V>2*Vrg AND dcls AND upbar AND tls>0 AND tlm>0 AND NOT Scond1 AND NOT utbar;
eftup=H>Ref(H,-1) AND L>Ref(L,-1) AND C>Ref(C,-1) AND C>=((H-L)*0.7+L) AND rg>arg
AND V>Ref(V,-1);
eftupfl=Ref(eftup,-1) AND (utbar OR utcond1 OR utcond2 OR utcond3);
eftdn=H<Ref(H,-1) AND L<Ref(L,-1) AND C<Ref(C,-1) AND C<=((H-L)*0.25+L) AND rg>arg
AND V>Ref(V,-1);
_SECTION_END();
_SECTION_BEGIN("Commentary");
Vpc= utbar OR utcond1 OR utcond2 OR utcond3 OR stdn0 OR stdn1 OR stdn2 OR stdn OR
lvtbar1 OR Lvtbar OR Lvtbar2 OR Hutbar OR Hutcond OR ndbar OR stvol OR tcbar;
WriteIf(nsbar,"No Supply. A no supply bar indicates supply has been removed and the
Smart money can markup the price. It is better to wait for confirmation","")+
WriteIf(stvol,"Stopping Volume. This will be an downbar during a bearish period
closing towards the Top accompanied by High volume.
A stopping Volume normally indicates that smart money is absorbing the supply which
is a Indication that they are Bullishon the MArket.
Hence we Can expect a reversal in the down trend. ","")+
WriteIf(ndbar, "No Demand
Brief Description:
Any up bar which closes in the middle OR Low, especially if the Volume has fallen
off,
is a potential sign of weakness.
//=====================================================================
//background stock name (works only on Amibroker version 5.00 onwards.
//=====================================================================
_SECTION_BEGIN("Mabiuts-Mr.Karthik");
mabBuy=EMA(C,13)>EMA(EMA(C,13),9) AND Cross (C,Peak(C,5,1));
mabSell=Cross (EMA(EMA(C,13),9),EMA(C,13));
mabBuy1= EMA(C,13)>EMA(EMA(C,13),9) AND C>Peak(C,2,1);
mabSell1 =EMA(C,13)>EMA(EMA(C,13),9) AND C<Peak(C,2,1);
_SECTION_END();
//------------------------------------------------------------------------------
//WEEKLY TREND
weeklyprice=C;
Weekly=ValueWhen(DayOfWeek() > Ref( DayOfWeek(),1),WeeklyPrice);
_SECTION_BEGIN("Weekly_trend-mrtq13");
//#include <T3.AFL>;
Prd1=Param("Weekly_Period1",3,1,200,1);
Prd2=Param("Weekly_Period2",5,1,200,1);
TimeFrameSet (inWeekly);
TM = T3 ( Close , Prd1 ) ;
TM2 = T3 ( Close , Prd2 ) ;
UTM = IIf(Close>TM AND Close<TM2,8,
IIf(Close>TM AND Close>TM2,5,
IIf(Close<TM AND Close>TM2,13,
IIf(Close<TM AND Close<TM2,4,2))));
_SECTION_END();
//Pivot Cal
S1 = (Pp * 2) - High;
S2 = (Pp - High) + Low;
S3 = S1 - (High-Low);
_SECTION_BEGIN("Spiker_Shadow");
C1 = Ref(C, -1);
uc = C > C1; dc = C <= C1;
ud = C > O; dd = C <= O;
_SECTION_END();
_SECTION_BEGIN("VSA by Mr.Karthik");
Pp1=Param("NumberOfDays",30,1,200,1);
Pp2=Param("VolOfDays",15,1,200,1);
numDays = Pp1;
dwWideSpread = 1.8;
dwNarrowSpread = 0.8;
dwSpreadMiddle = 0.5;
dwHighClose = 0.7;
dwLowClose = 0.3;
volNumDays = Pp2;
dwUltraHighVol = 2;
dwVeryHighVol = 1.75; // was 1.8
dwHighVol = 1.75; // was 1.8
dwmoderateVol = 1.10; // was 1.8
dwLowVol = 0.75; // was 0.8
///////////////////////////////////////////////////////////////////////////////////
/
//
// Classify each bar...
//
///////////////////////////////////////////////////////////////////////////////////
/
///////////////////////////////////////////////////////////////////////////////////
/
//
// direction and title
//
///////////////////////////////////////////////////////////////////////////////////
/
///////////////////////////////////////////////////////////////////////////////////
/
//
// Basic patterns...
//
///////////////////////////////////////////////////////////////////////////////////
/
upThrustBar = downClose AND H > Ref(H,-1) AND (C == L) AND downClose AND (NOT
narrowRange);
noDemandBar = narrowRange AND LowVolume AND upBar AND (NOT upClose);
//noDemandBar = narrowRange AND LowVolume AND upBar AND (V < Ref(V,-1)) AND (V <
Ref(V,-2));
noSupplyBar = narrowRange AND LowVolume AND downBar AND (V < Ref(V,-1)) AND (V <
Ref(V,-2));
absorption = Ref(downbar, -1) AND Ref(highVolume, -1) AND upBar;
support = Ref(downBar,-1) AND (NOT Ref(downClose,-1)) AND Ref(highVolume,-1) AND
upBar;
stoppingVolume = Ref(downBar,-1) AND Ref(highVolume,-1) AND C > testCloseMiddle AND
(NOT downBar);
bullishsign=moderateVol+UpThrustBar;//OR moderateVol+upBar;
//rallyEnd = (Ref(highVolume,-1) AND Ref(upBar,-1) AND wideRange AND downBar) OR
// (narrowRange AND highVolume AND H > Ref(HHV(H, 250), -1));
///////////////////////////////////////////////////////////////////////////////////
/
//
// Strength and Weakness
//
///////////////////////////////////////////////////////////////////////////////////
/
_SECTION_END();
_SECTION_BEGIN("Resistance");
supres=ParamToggle("Sup_Res","No|Yes",1);
if(supres)
{
Prd1=Param("Res_Period1",2,0,200,1);
_SECTION_END();
_SECTION_BEGIN("Support");
//SP=L > Ref(L,-1) AND Ref(L,1) < L;//Peak
Prd2=Param("Sup_Period1",2,0,200,1);
//PKV5 = ValueWhen(PK,haHigh,5);//PeakValue5
//PKV6 = ValueWhen(PK,haHigh,6);//PeakValue6
_SECTION_END();
_SECTION_BEGIN("Pivot Box");
Hi=Param("High_Period",7,1,50,1);
Lo=Param("Low_Period",7,1,50,1);
A1=ExRemSpan(Ref(High,-2)==HHV(High,Hi),3);
A2=ExRemSpan(Ref(Low,-2)==LLV(Low,Lo),3);
A3=Cross(A1,0.9);
A4=Cross(A2,0.9);
TOP=Ref(haHigh,-BarsSince(A3));
YY1=TOP;
bot=Ref(haLow,-BarsSince(A4));
XX1=bot;
/////////////////
dif=Ref(High,0)-Ref(Low,0);
dif1=Ref(High,-1)-Ref(Low,-1);
dif2=Ref(High,-2)-Ref(Low,-2);
dif3=Ref(High,-3)-Ref(Low,-3);
dif4=Ref(High,-4)-Ref(Low,-4);
dif5=Ref(High,-5)-Ref(Low,-5);
dif6=Ref(High,-6)-Ref(Low,-6);
dif7=Ref(High,-7)-Ref(Low,-7);
dif8=Ref(High,-8)-Ref(Low,-8);
dif9=Ref(High,-9)-Ref(Low,-9);
dif10=Ref(High,-10)-Ref(Low,-10);
dif11=Ref(High,-11)-Ref(Low,-11);
dif12=Ref(High,-12)-Ref(Low,-12);
dif13=Ref(High,-13)-Ref(Low,-13);
dif14=Ref(High,-14)-Ref(Low,-14);
dif15=Ref(High,-15)-Ref(Low,-15);
dif16=Ref(High,-16)-Ref(Low,-16);
dif17=Ref(High,-17)-Ref(Low,-17);
dif18=Ref(High,-18)-Ref(Low,-18);
dif19=Ref(High,-19)-Ref(Low,-19);
dif20=Ref(High,-20)-Ref(Low,-20);
dif21=Ref(High,-21)-Ref(Low,-21);
Sumdif=(dif+dif1+dif2+dif3+dif4+dif5+dif6+dif7+dif8+dif9+dif10+dif11+dif12+dif13+di
f14+dif15+dif16+dif17+dif18+dif19+dif20+dif21)/22;
mp = Param("Multiplier",2,0.25,5,0.25);
Sumdifml=(Sumdif*1);
Sumdifml2=(Sumdif*1.5);
Sumdifml3=(Sumdif*mp);
Betastops=HHV(C,22) - Sumdifml;
Betastops2=HHV(C,22) - Sumdifml2;
Betastops3=HHV(C,22) - Sumdifml3;
_SECTION_END();
//x=Foreign("00DSEGEN","C");
//Cor=Correlation(C,x,14);
//Plot(Cor,"correlation index",colorWhite,styleLine);
//Plot(RelStrength("00DSEGEN",1),"strength",colorRed,styleLine|styleOwnScale);
_SECTION_END();
// Trend Detection
for(i=1;i<BarCount;i++)
{
if( CondR[i] )
{
R[i] = 1;
}
else
{
if( CondF[i] )
{
R[i] = 0;
}
else
{
R[i] = R[i-1];
}
}
}
return R;
}
PrD = C;
PrL = H/2+L/2;
PrdD = PrdL = PrdM = Param("Prd",12,2,40,1);
permax = Max(prdd,prdl);
Confirm = MA(C,prdm);
for(i=1;i<BarCount;i++)
{
if( dr[i-1] && df[i] )
{
B[i] = 1;
}
else
{
if( df[i-1] && dr[i] )
{
B[i] = 1;
}
else
{
B[i] = B[i-1] + 1;
}
}
}
return B;
}
Bs = DirBar( Rs, Fs );
Direction = ROC(Confirm,1) > 0 AND ROC(Confirm,5) > 0;
Downward = ROC(Confirm,1) < 0 AND ROC(Confirm,5) < 0;
_SECTION_END();
Chg=Ref(C,-1);
+"\n"+EncodeColor(colorPink)+"-----------------------------------------"
+"\n"+EncodeColor(colorOrange)+"The Foundation v 13.00 Int"
+"\n"+EncodeColor(colorLightOrange)+"by SouthWind "
+"\n"+EncodeColor(colorPink)+"-----------------------------------------"
+"\n"+EncodeColor(colorWhite)+"G.Index: "+
WriteIf(Cg>Cgo,EncodeColor(08),EncodeColor(04))
+WriteVal(Cg,format=1.2)+WriteIf(positivechange1, EncodeColor(colorBrightGreen),"")
+WriteIf(negativechange1,EncodeColor(colorRed), "")+"
( "+WriteIf(barche1,"\\c08"+Change1,"")+WriteIf(barche1,"\\c08 ","")
+WriteIf(Comche1,"\\c04"+Change1,"")+ WriteIf(Comche1,"\\c04 ","")+""+") "
+"\n"+EncodeColor(colorPink)+"----------------------------------------- "
//+"\n"+EncodeColor(25)+"WeeklyTrend:" + WriteIf(up,EncodeColor(colorBrightGreen)
+"UP",WriteIf(down,EncodeColor(colorRed)
+"Down",WriteIf(flat,EncodeColor(colorYellow)+"Flat","")))
+WriteIf(Rs,EncodeColor(colorBrightGreen)+"UP",WriteIf(Fs,EncodeColor(colorRed)
+"Down","Neutral"))
+"\n"+EncodeColor(colorPink)+"---------------------------------------- "
+"\n"+EncodeColor(47)+"Signal(IBuy): " + WriteIf(Ibuy,EncodeColor(colorBrightGreen)
+"BuyWarning",WriteIf(Isell,EncodeColor(colorRed)
+"SellWarning",WriteIf(BlRSI,EncodeColor(colorBrightGreen)
+"BullishZone",WriteIf(BrRSI,EncodeColor(colorRed)+"BearishZone","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(T3) : " +
WriteIf(TBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(TSell,EncodeColor(colorRed)
+"Sell",WriteIf(T33,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(T333,EncodeColor(colorRed)+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(ZLW) : " +
WriteIf(ZBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(ZSell,EncodeColor(colorRed)
+"Sell",WriteIf(ZBuy1,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(ZSell1,EncodeColor(colorRed)+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(Mab) : " +
WriteIf(mabBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(mabSell,EncodeColor(colorRed)
+"Sell",WriteIf(mabBuy1,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(mabSell1,EncodeColor(47)+"Neutral",EncodeColor(colorRed)
+"Bearish"))))
+"\n"+EncodeColor(47)+"Signal(TMA) : " +
WriteIf(TMBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(TMSell,EncodeColor(colorRed)
+"Sell",WriteIf(TMBuy1,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(TMSell1,EncodeColor(colorRed)+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(T3-RSI) : " +
WriteIf(TillsonBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(TillsonSell,EncodeColor(colorRed)+"Sell",
WriteIf(TB,EncodeColor(colorBrightGreen)+"Bullish",WriteIf(TS,EncodeColor(colorRed)
+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(ADX) : " +
WriteIf(adxBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(adxSell,EncodeColor(colorRed)
+"Sell",WriteIf(adxBuy1,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(adxSell1,EncodeColor(colorRed)+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(MACD) : " + WriteIf(MB,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(MS,EncodeColor(colorRed)
+"Sell",WriteIf(MB1,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(MS1,EncodeColor(colorRed)+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(Stoch) : " +
WriteIf(StochBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(StochSell,EncodeColor(colorRed)
+"Sell",WriteIf(StBuy,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(StSell,EncodeColor(colorRed)+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(TM) : "+ WriteIf(orBuy,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(orSell,EncodeColor(colorRed)
+"Sell",WriteIf(orBuy1,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(orSell1,EncodeColor(colorRed)+"Bearish","Neutral"))))
//+"\n"+EncodeColor(47)+"Signal(Drava) : " +
WriteIf(Buyrule,EncodeColor(colorBrightGreen)
+"Buy",WriteIf(Sellrule,EncodeColor(colorRed)
+"Sell",WriteIf(Buyrule1,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(Sellrule1,EncodeColor(colorRed)+"Bearish","Neutral"))))
+"\n"+EncodeColor(47)+"Signal(P5/15):" +
WriteIf(Buybreakout,EncodeColor(colorBrightGreen)
+"BreakOut1",WriteIf(Buybreakout2>Buybreakout,EncodeColor(colorBrightGreen)
+"BreakOut2","Neutral"))
+"\n"+EncodeColor(47)+"Signal(B):"+WriteIf(C>YY1,EncodeColor(colorBrightGreen)
+"BreakOut",WriteIf(C<XX1,EncodeColor(colorRed)+"BreakDown","Neutral"))
+"\n"+EncodeColor(colorPink)+"----------------------------------------"
+"\n"+EncodeColor(07)+"Volume: "+WriteIf(V>Vp2,EncodeColor(colorLime)+"Very
High",WriteIf(V>Vp1,EncodeColor(colorLime)+"
High",WriteIf(V>Vrg,EncodeColor(colorLime)+"Above Average",
WriteIf(V<Vrg AND V>Vn1,EncodeColor(colorRed)+"Less than
Average",WriteIf(V<Vn1,EncodeColor(colorRed)+"Low","")))))
+"\n"+EncodeColor(colorYellow)+"Spread: "+WriteIf(rg
>(arg*2),EncodeColor(colorLime)+" Wide",WriteIf(rg>arg,EncodeColor(colorLime)+"
Above Average",EncodeColor(colorRed)+" Narrow"))
+"\n"+(EncodeColor(colorYellow)+"Close: ")+WriteIf(Vhcls,EncodeColor(colorLime)
+"Very High",WriteIf(ucls,EncodeColor(colorLime)
+"High",WriteIf(mcls,EncodeColor(colorYellow)+"Mid",
WriteIf(dcls,EncodeColor(colorRed)+"Down","Very Low"))))
+"\n"+
EncodeColor(colorYellow) + "Status : " +
WriteIf(Weakness , EncodeColor(colorRed) + "Weak",
WriteIf(stoppingVolume , EncodeColor(colorCustom12) + "StoppingVol",
WriteIf(noSupplyBar , EncodeColor(colorLightOrange) + "NoSupply",
WriteIf(support , EncodeColor(colorLightBlue) + "SupportVol",
WriteIf(noDemandBar , EncodeColor(colorPink) + "NoDemand",
WriteIf(absorption, EncodeColor(colorSkyblue) + "Absorption",
WriteIf(upThrustBar, EncodeColor(colorBlue) + "Upthrust",
WriteIf(bullishsign, EncodeColor(colorPaleGreen) + "STRONG",
EncodeColor(colorTan) + "Neutral")))))))) + " "
+"\n"+EncodeColor(colorPink)+"----------------------------------------"
+"\n"+EncodeColor(49)+"KeyReversal : " + WriteIf(Buyr,EncodeColor(colorBrightGreen)
+"ReverseUP",WriteIf(Sellr,EncodeColor(colorRed)+"ReverseDown","Flat"))
+"\n"+EncodeColor(49) +"Phaze(LTPT) : " +
WriteIf(rc,EncodeColor(26)+"Recovery",WriteIf(ac,EncodeColor(colorGreen)
+"Accumulation",WriteIf(bl,EncodeColor(colorBrightGreen)
+"Bullish",WriteIf(wr,EncodeColor(colorOrange)
+"Warning",WriteIf(ds,EncodeColor(colorRed)
+"Distribution",WriteIf(br,EncodeColor(colorRed)+"Bearish","Neutral"))))))
//+"\n"+EncodeColor(49)+"T.Strength(ADX): "+StrFormat("%1.2f",ADX(per)) + WriteIf(
PDI(per)>MDI(per),EncodeColor(colorBrightGreen)+ " UP",EncodeColor(colorRed)+"
Down")
+"\n"+EncodeColor(49)+"PV BreakOut : " + WriteIf(HIV,EncodeColor(colorBrightGreen)
+"Positive",WriteIf(LIV,EncodeColor(colorRed)+"Negative","Neutral"))
+"\n"+EncodeColor(49)+"A/D : " + WriteIf(wu,EncodeColor(colorBrightGreen)
+"Accumulation",WriteIf(wd,EncodeColor(colorRed)+"Distribution","Neutral"))
+"\n"+EncodeColor(colorRose)+"----------------------------------------"
+"\n"+EncodeColor(02)+"BATS : "+ WriteIf(Betastops>C,EncodeColor(colorLightOrange)
+"Exit-1","")+WriteIf(Betastops2>C,EncodeColor(colorOrange)+"| Exit-2","")
+WriteIf(Betastops3>C,EncodeColor(colorRed)+" | Exit-3","")
//+"\n"+EncodeColor(colorRose)+"---------------------------"
//+"\n"+EncodeColor(02)+"PivotPoint: "+StrFormat("%1.2f",Pp)
//+"\n"+EncodeColor(colorCustom11)+"R1 "+StrFormat("%1.2f",R1)+" R2
"+StrFormat("%1.2f",R2)+" R3 "+StrFormat("%1.2f",R3)
//+"\n"+EncodeColor(11)+"S1 "+StrFormat("%1.2f",S1)+" S2 "+StrFormat("%1.2f",S2)+"
S3 "+StrFormat("%1.2f",S3)
+"\n"+EncodeColor(colorRose)+"----------------------------------------"
+"\n"+EncodeColor(11)+"FV : " //+ absFace_Value
+EncodeColor(44)+" Lot : " //+ absMarket_Lot
+EncodeColor(07)+" CataGory: " //+ absMarket_Category
+"\n"+EncodeColor(05)+"Electronic Share : "//+ absElectronic_Share
//+"\n"+EncodeColor(4)+"Last Declaration : "+ WriteVal(declara, formatDateTime )
+"\n"+EncodeColor(colorRose)+"-------------------------------------------------"
_SECTION_END();
_SECTION_BEGIN("Name");
GfxSetOverlayMode(1);
GfxSelectFont("Tahoma", Status("pxheight")/8 );
GfxSetTextAlign( 6 );// center alignment
GfxSetTextColor( ColorHSB( 42, 42, 42 ) );
GfxSetBkMode(0); // transparent
GfxTextOut( Name(), Status("pxwidth")/2, Status("pxheight")/12 );
GfxSelectFont("Tahoma", Status("pxheight")/18 );
GfxTextOut( IndustryID(1), Status("pxwidth")/2, Status("pxheight")/4 );
GfxSelectFont("Tahoma", Status("pxheight")/18 );
GfxSelectFont("Tahoma", Status("pxheight")/36 );
GfxTextOut( "chartistsbd.net", Status("pxwidth")/2, Status("pxheight")/3 );
_SECTION_END();
_SECTION_BEGIN("Graphics");
GrpPrm=Param("Graphic Space",2,-5,10);
GraphXSpace=GrpPrm;
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
//
// Vier 4P Analisys AFL ver.1.0
// Written and modified by Anton Wibowo
// Mailing list: http://finance.groups.yahoo.com/group/amibroker-4-bei/
//
// Thanks to: Mr. Vierjamal, Mr. Danny, & Mr. Dendo
// also thanks to: Mr. Medi, Mr. Suryo, Mr. Andrei, & Mr. Dimas
// who kindly introduce me to Technical Analisys and AFL Script
// on Indonesia Direct Investor's Club Workshop & Training
//
// This script is free to use and to modify for your own purpose
//
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
//
// AFL script ini dibuat berdasar prinsip 4P Mr. Vierjamal - Indonesia Direct
Investor's Club
// Sebagian kode saya tulis sendiri setelah mempelajari bahasa AFL selama 3 hari
dan sebagian lagi diambil dari
// AFL Library di http://www.amibroker.com/library/
// Tujuan script ini adalah hanya dengan menggunakan satu file AFL, analisa lengkap
prinsip 4P sudah dapat dilakukan.
//
// Ide awal pembuatan script ini terbersit pada saat sesi AmiBroker Advanced
Training, Plaza Oktroi - Kemang, 14 Juni 2008.
//
// Begitu banyak file custom AFL script yang harus di-copy padahal masing-masing
file hanya memiliki satu fungsi saja.
// Disamping ribet, juga membuat bingung, memilih yang mana yang harus digunakan.
// Kenapa tidak digabung saja menjadi hanya satu file AFL, tetapi memiliki banyak
fungsi sekaligus.
//
// AFL script dibawah ini memuat sekaligus 13 charts yang penampilannya dapat
dipilih langsung dari parameter.
// Masing-masing chart berdiri sendiri dan dapat ditampilkan atau disembunyikan
satu persatu atau seluruhnya.
// Proses kustomisasi warna pun dipermudah dimana warna dapat diganti-ganti via
parameter.
// Dengan demikian, cukup dengan bantuan hanya satu file AFL ini saja, analisa
teknikal Vier 4P mudah dilakukan.
//
// Khusus untuk Volume, Stochastic, ADX, dan MACD chart, teks skala "terpaksa"
harus dihilangkan.
// Salah satu kelemahan AFL adalah tidak dapat membuat "new pane" (panel baru)
dibawah chart yang sudah dibuat.
// Akibat hal ini, Volume, Stochastic, ADX, dan MACD chart "dipaksa" untuk dibuat
dalam satu panel dengan price chart
// sehingga teks skala disamping kanan "terpaksa" harus dihilangkan agar tidak
membingungkan.
//
// Tujuan adanya Volume, Stochastic, ADX, dan MACD chart disini sebatas hanya untuk
mengetahui peningkatan-
// -penurunan di Volume chart, oversold-overbought di Stochastic chart, serta
deteksi cross di ADX dan MACD chart.
// Sehingga meskipun teks skala dihilangkan, tidak berpengaruh material terhadap
analisa chart.
//
// Script AFL ini belum dilengkapi dengan fasilitas Scanning dan Explore.
// Untuk proses Scanning dan Explore bisa digunakan AFL script yang telah dibuat
oleh Mr. Medi, Mr. Suryo,
// Mr. Andrei, dan Mr. Dimas
//
// AFL Script ini masih jauh dari sempurna dan mungkin terdapat kesalahan atau
kekurangan disana-sini.
// Saran dan komentar perbaikan dipersilahkan via
http://finance.groups.yahoo.com/group/amibroker-4-bei/
//
// Akhir kata, semoga dengan adanya AFL script ini dapat membantu banyak pihak.
//
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("Pilihan Charts");
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("Volume");
Plot( IIf(VolumeGraph, Null, Volume), "Volume Graph", IIf( C > O, ParamColor("Up
Color", colorGreen ), ParamColor("Down Color", colorRed ) ), styleHistogram |
styleThick | styleNoRescale | styleOwnScale );
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("Support Resistance");
str = "";
Res = Sup = 0;
Con = 1;
Main = C;
Con = ConS = ConR = 1;
if(DrawS=="Low to Low")
{
Support1 = L;
Support2 = L;
}
else
{
Support1 = L;
Support2 = H;
}
if(DrawR=="High to High")
{
Resistance1 = H;
Resistance2 = H;
}
else
{
Resistance1 = H;
Resistance2 = L;
}
}
}
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("Stochastic %K");
StochasticLine = ParamColor("Stochastic Line", colorGold );
OverSold = ParamColor("OverSold", colorRed );
OverBought = ParamColor("OverBought", colorGreen );
if (StochsK == 1) {
SetChartOptions(0,0,ChartGrid30 | ChartGrid70 );
r = StochK(14) ;
Plot( r, "StochK", StochasticLine, styleNoRescale|styleOwnScale|styleNoLabel );
PlotOHLC( r,r,50,r, "", IIf( r > 50, OverSold, OverBought ), styleCloud |
styleNoRescale|styleOwnScale|styleNoLabel|styleClipMinMax );
}
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("Bollinger Band");
DisplayBBColor=ParamToggle("Display BB Color","No,Yes",0);
BollPeriods = Param("Periode", 20, 0, 200, 1);
Width = Param("Std. Dev.", 2, 0, 10, 0.05 );
ColorBB=ParamColor("BB color",ColorRGB(64,0,0));
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("Parabolic SAR");
reverse = 0;
//check for reversal
if ( long )
{
if ( Low [ i ] < psar [ i ] )
{
long = 0; reverse = 1; // reverse position to Short
psar [ i ] = hp; // SAR is High point in prev trade
lp = Low [ i ];
af = IAF;
}
}
else
{
if ( High [ i ] > psar [ i ] )
{
long = 1; reverse = 1; //reverse position to long
psar [ i ] = lp;
hp = High [ i ];
af = IAF;
}
}
if ( reverse == 0 )
{
if ( long )
{
if ( High [ i ] > hp )
{
hp = High [ i ];
af = af + IAF;
if( af > MaxAF ) af = MaxAF;
}
}
}
}
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("Jimberg");
dist = 1.5*ATR(10);
/* **********************************
********************************** */
if(Jimberg == 0) {
PlotOHLC( Open, High, Low, Close, "Close" ,color, styleCandle);
}
if(Jimberg == 0) {
GraphXSpace=7;
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;
// n bars, etc.?
// last visible bar to make it easy to "go back" and see the pivots
aVisBars = Status("barvisible");
curBar = (BarCount-1);
curTrend = "";
if (aLLVBars[curBar] <
aHHVBars[curBar]) {
curTrend = "D";
else {
curTrend = "U";
// in future version
curBar = (BarCount - 1) - i;
if (curTrend == "U") {
curTrend = "D";
aLPivs[curPivBarIdx] = 1;
aLPivLows[nLPivs] = L[curPivBarIdx];
aLPivIdxs[nLPivs] = curPivBarIdx;
nLPivs++;
}
// -- or current trend is up
} else {
if (curTrend == "D") {
curTrend = "U";
aHPivs[curPivBarIdx] = 1;
aHPivHighs[nHPivs] = H[curPivBarIdx];
aHPivIdxs[nHPivs] = curPivBarIdx;
nHPivs++;
// -- If curTrend is up...else...
curBar = (BarCount-1);
candIdx = 0;
candPrc = 0;
lastLPIdx = aLPivIdxs[0];
lastLPL = aLPivLows[0];
lastHPIdx = aHPivIdxs[0];
lastHPH = aHPivHighs[0];
candPrc = aHHV[curBar];
if (
aHPivs[candIdx] = 1;
aHPivHighs[nHPivs-j] = aHPivHighs[nHPivs-
(j+1)];
aHPivIdxs[nHPivs-j] = aHPivIdxs[nHPivs-(j+1)];
aHPivHighs[0] = candPrc ;
aHPivIdxs[0] = candIdx;
nHPivs++;
} else {
candPrc = aLLV[curBar];
if (
aLPivLows[nLPivs-j] = aLPivLows[nLPivs-(j+1)];
aLPivIdxs[nLPivs-j] = aLPivIdxs[nLPivs-(j+1)];
aLPivLows[0] = candPrc;
aLPivIdxs[0] = candIdx;
nLPivs++;
/*
+ WriteVal(ValueWhen(BarIndex()==aHPivIdxs[k],
*/
dist = 1.5*ATR(10);
}
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
//z_ZigZagValid
// ******** CHARTING
PercentChange = 3;
mystartbar = SelectedValue(BarIndex()); // FOR GRAPHING
ZZ = Zig(C,LastValue(PercentChange)) ;
PivotLow = Ref(IIf(Ref(ROC(ZZ,1),-1) < 0 AND ROC(ZZ,1) > 0, 1, Null),1);
PivotHigh = Ref(IIf(Ref(ROC(ZZ,1),-1) > 0 AND ROC(ZZ,1) < 0, 1, Null),1);
Buy_Valid = ExRem(Buy_Valid,Sell_Valid);
Sell_Valid = ExRem(Sell_Valid,Buy_Valid);
BarColors =
IIf(BarsSince(Buy_Valid) < BarsSince(Sell_Valid)
AND BarsSince(Buy_Valid)!=0, ParamColor("Bar Colors1", colorGreen),
IIf(BarsSince(Sell_Valid) < BarsSince(Buy_Valid)
AND BarsSince(Sell_Valid)!=0, ParamColor("Bar Colors2", colorGold),
ParamColor("Bar Colors3", colorBlue)));
dist = 1.5*ATR(10);
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
//SMA_CrossArrow_35
if(SMA359 == 0 OR CrossArrow_35 == 0) {
Buy=Cross(MA(Close,3), MA(Close,5));
Sell=Cross(MA(Close,5), MA(Close,3));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-35\n@" + C[ i ], i, L[ i ]-dist[i], BuyTextColor_35 );
if( Sell[i] ) PlotText( "Sell-35\n@" + C[ i ], i, H[ i ]+dist[i], SellTextColor_35,
SellTextBgr_35 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_35, SellArrow_35 ), 0, IIf( Buy, Low, High ),
-20 );
}
//SMA_CrossArrow_39
if(SMA359 == 0 OR CrossArrow_39 == 0) {
Buy=Cross(MA(Close,3), MA(Close,9));
Sell=Cross(MA(Close,9), MA(Close,3));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-39\n@" + C[ i ], i, L[ i ]-dist[i], BuyTextColor_39 );
if( Sell[i] ) PlotText( "Sell-39\n@" + C[ i ], i, H[ i ]+dist[i], SellTextColor_39,
SellTextBgr_39 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_39, SellArrow_39 ), 0, IIf( Buy, Low, High ),
-20 );
}
//SMA_CrossArrow_59
if(SMA359 == 0 OR CrossArrow_59 == 0) {
Buy=Cross(MA(Close,5), MA(Close,9));
Sell=Cross(MA(Close,9), MA(Close,5));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-59\n@" + C[ i ], i, L[ i ]-dist[i], BuyTextColor_59 );
if( Sell[i] ) PlotText( "Sell-59\n@" + C[ i ], i, H[ i ]+dist[i], SellTextColor_59,
SellTextBgr_59 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_59, SellArrow_59 ), 0, IIf( Buy, Low, High ),
-20 );
}
//SMA_CrossArrow_359
if(SMA359 == 0 OR CrossArrow_359 == 0) {
Buy=Cross(MA(Close,3), MA(Close,5)) AND Cross(MA(Close,3), MA(Close,9)) AND
Cross(MA(Close,5), MA(Close,9));
Sell=Cross(MA(Close,5), MA(Close,3)) AND Cross(MA(Close,9), MA(Close,3)) AND
Cross(MA(Close,9), MA(Close,5));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-359\n@" + C[ i ], i, L[ i ]-dist[i],
BuyTextColor_359 );
if( Sell[i] ) PlotText( "Sell-359\n@" + C[ i ], i, H[ i ]+dist[i],
SellTextColor_359, SellTextBgr_359 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_359, SellArrow_359 ), 0, IIf( Buy, Low,
High ), -30 );
GraphXSpace = 10;
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
//SMA Line
if(SMA52060 == 0 OR SMA5a_Line == 0) {
Plot(MA(Close,5),"SMA5 Line",SMA5aLineColor, styleLine);
}
if(SMA52060 == 0 OR SMA20_Line == 0) {
Plot(MA(Close,20),"SMA20 Line",SMA20LineColor, styleLine);
}
if(SMA52060 == 0 OR SMA60_Line == 0) {
Plot(MA(Close,60),"SMA60 Line",SMA60LineColor, styleLine);
}
//SMA_CrossArrow_520
if(SMA52060 == 0 OR CrossArrow_520 == 0) {
Buy=Cross(MA(Close,5), MA(Close,20));
Sell=Cross(MA(Close,20), MA(Close,5));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-520\n@" + C[ i ], i, L[ i ]-dist[i],
BuyTextColor_520 );
if( Sell[i] ) PlotText( "Sell-520\n@" + C[ i ], i, H[ i ]+dist[i],
SellTextColor_520, SellTextBgr_520 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_520, SellArrow_520 ), 0, IIf( Buy, Low,
High ), -20 );
}
//SMA_CrossArrow_560
if(SMA52060 == 0 OR CrossArrow_560 == 0) {
Buy=Cross(MA(Close,5), MA(Close,60));
Sell=Cross(MA(Close,60), MA(Close,5));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-560\n@" + C[ i ], i, L[ i ]-dist[i],
BuyTextColor_560 );
if( Sell[i] ) PlotText( "Sell-560\n@" + C[ i ], i, H[ i ]+dist[i],
SellTextColor_560, SellTextBgr_560 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_560, SellArrow_560 ), 0, IIf( Buy, Low,
High ), -20 );
}
//SMA_CrossArrow_2060
if(SMA52060 == 0 OR CrossArrow_2060 == 0) {
Buy=Cross(MA(Close,20), MA(Close,60));
Sell=Cross(MA(Close,60), MA(Close,20));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-2060\n@" + C[ i ], i, L[ i ]-dist[i], BuyTextColor_2060
);
if( Sell[i] ) PlotText( "Sell-2060\n@" + C[ i ], i, H[ i ]+dist[i],
SellTextColor_2060, SellTextBgr_2060 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_2060, SellArrow_2060 ), 0, IIf( Buy, Low,
High ), -20 );
}
//SMA_CrossArrow_52060
if(SMA52060 == 0 OR CrossArrow_52060 == 0) {
Buy=Cross(MA(Close,5), MA(Close,20)) AND Cross(MA(Close,5), MA(Close,60)) AND
Cross(MA(Close,20), MA(Close,60));
Sell=Cross(MA(Close,20), MA(Close,5)) AND Cross(MA(Close,60), MA(Close,5)) AND
Cross(MA(Close,60), MA(Close,20));
dist = 1.5*ATR(10);
for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy-52060\n@" + C[ i ], i, L[ i ]-dist[i],
BuyTextColor_52060 );
if( Sell[i] ) PlotText( "Sell-52060\n@" + C[ i ], i, H[ i ]+dist[i],
SellTextColor_52060, SellTextBgr_52060 );
}
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, BuyArrow_52060, SellArrow_52060 ), 0, IIf( Buy, Low,
High ), -30 );
GraphXSpace = 10;
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("SMA10 + EMA30 Cross");
//SMA Line
if(SMA10EMA30 == 0 || SMA10_LineShow == 0) {
Plot(MA(Close,10),"SMA10 Line",SMA10LineColor, styleLine);
}
if(SMA10EMA30 == 0 || EMA30_LineShow == 0) {
Plot(EMA(Close,30),"EMA30 Line",EMA30LineColor, styleLine);
}
//CrossArrow_SMA10_EMA30
if(SMA10EMA30 == 0 || CrossArrow_SMA10EMA30 == 0) {
Buy=Cross(MA(Close,10), EMA(Close,30));
Sell=Cross(EMA(Close,30), MA(Close,10));
dist = 1.5*ATR(10);
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("MACD Cross");
dist = 1.5*ATR(10);
Plot( IIf(MACD_Cross,Null,C),"",1,128);
//Plot(C,"",1,128);
// Plot the Trade Lines
Sig = Buy OR Sell;
y0 = 0;
y1 = C[0];
TPrice = C;
FirstVisibleBar = Status( "FirstVisibleBar" );
Lastvisiblebar = Status( "LastVisibleBar" );
for( b = Firstvisiblebar; b <= Lastvisiblebar AND b < BarCount; b++)
{
if( Buy[b] ) Co = DivDnLine;
if( Sell[b] ) Co = DivUpLine;
if(Sig[b])
{
x0 = y0;
x1 = y1;
y0 = b;
y1 = TPrice[b];
Plot( IIf(MACD_Cross,Null,LineArray(x0,x1,y0, y1)),"",Co,1);
}
}
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
_SECTION_BEGIN("ADX Cross");
P1 = Param("Period",10,0,100,1);
dist = 1.5*ATR(10);
_SECTION_END();
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/