Live World Indices are Powered by Investing.com - The Leading Financial Portal.
Welcome to www.blueeyeforum.com - India's online discussion forum for Stocks, Commodities and Forex.You are currently viewing our board as a guest, which gives you limited access to view most discussions and other features. By joining our free community you will have access to read all posts, reply to different topics, communicate privately with other members(PM), respond to polls, subscribe topics, upload content and access many other special features. Also as a guest you do not have full access to all the forums and specially, the interactive chat room. Registration is fast, simple and absolutely free. Join today and start sharing your views...Get yourself registered here! ;

Amibroker

Members can post and discuss general topics related to share market in this section. Market related views, News related to Market, Companies and Policy Matters may be discussed here.

Moderators: SOMU, Blueeye Moderator


Amibroker

Postby vpukken » Tue Dec 13, 2011 9:40 am

This thread is dedicated to Amibroker lovers. Please contribute what ever you can. Thanks.
VOLATILITY ALWAYS EQUALS OPPORTUNITY

For this message the author vpukken has received thanks: 4
manish midha (Wed Dec 14, 2011 12:44 am), mirpurig (Wed Jan 25, 2012 1:31 pm), NIHAA (Tue Dec 13, 2011 10:56 pm), SOMU (Sat Dec 17, 2011 8:42 pm)
Rating: 11%
 
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby vpukken » Tue Dec 13, 2011 9:41 am

MACD x Signal OR MACD x 0 Buy/Sell Arrows:

Code:

Code: Select all
iFast = Param("Fast Period", 12, 2,100);
iSlow = Param("Slow Period", 26, 3,100);
iSignal  = Param("Signal Period", 9,  2,100);

iMacd = MACD(iFast, iSlow);
iSignal = Signal(iFast, iSlow, iSignal);


Buy= Cross (iMacd, iSignal);
Sell=Cross (iSignal, iMacd);
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf(Buy, colorGreen, colorBrown),0, IIf( Buy, Low, High ) );

dist = 1.5*ATR(10);

for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy\n@" + C[ i ], i, L[ i ]-dist[i], colorGreen);
if( Sell[i] ) PlotText( "Sell\n@" + C[ i ], i, H[ i ]+dist[i], colorBrown);
}


Buy= Cross (iMacd, 0);
Sell=Cross (0, iMacd);
shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf(Buy, colorLime, colorRed),0, IIf( Buy, Low, High ) );

dist = 1.5*ATR(10);

for( i = 0; i < BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy\n@" + C[ i ], i, L[ i ]-dist[i], colorLime);
if( Sell[i] ) PlotText( "Sell\n@" + C[ i ], i, H[ i ]+dist[i], colorRed);
}
VOLATILITY ALWAYS EQUALS OPPORTUNITY
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby nilopra » Tue Dec 13, 2011 9:49 pm

good thread
A man's way of doing things is the direct result of the way he thinks
about things.
User avatar
nilopra
MODERATOR
MODERATOR
 
Posts: 2440
Cash on hand: 3,023.00
Bank: 748.00
Joined: Mon May 16, 2011 4:23 pm
Has thanked: 1221 times
Have thanks: 706 times
Blog: View Blog (2)
Real Name: NIL
Gender: Male
Karma: 0

Re: Amibroker

Postby vpukken » Tue Dec 13, 2011 9:53 pm

NEW GAIN FORMULA


Code: Select all
_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", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

_SECTION_BEGIN("DispMA");
P = ParamField("Field");
Type = ParamList("Type", "Simple,Exponential,Double Exponential,Tripple Exponential,Wilders,Weighted");
Periods = Param("Periods", 30, 2, 300 );
Displacement = Param("Displacement", 15, -50, 50 );
m = 0;

if( Type == "Simple" ) m = MA( 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 == "Weighted" ) m = WMA( P, Periods );

Plot( m, _DEFAULT_NAME(), ParamColor("Color", ColorCycle), ParamStyle("Style"), 0, 0, Displacement );
_SECTION_END();

_SECTION_BEGIN("EMA1");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();

_SECTION_BEGIN("EMA2");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();

_SECTION_BEGIN("EMA3");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();

_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", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

_SECTION_BEGIN("DispMA");
P = ParamField("Field");
Type = ParamList("Type", "Simple,Exponential,Double Exponential,Tripple Exponential,Wilders,Weighted");
Periods = Param("Periods", 30, 2, 300 );
Displacement = Param("Displacement", 15, -50, 50 );
m = 0;

if( Type == "Simple" ) m = MA( 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 == "Weighted" ) m = WMA( P, Periods );

Plot( m, _DEFAULT_NAME(), ParamColor("Color", ColorCycle), ParamStyle("Style"), 0, 0, Displacement );
_SECTION_END();

_SECTION_BEGIN("EMA1");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();

_SECTION_BEGIN("EMA2");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();

_SECTION_BEGIN("EMA3");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1, 10 );
Plot( EMA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") );
_SECTION_END();

PctVlt=(ATR(14)/C)*100;//PercentVolatility

PK=IIf(PctVlt<0.5,Peak(Close,0.5,1),
IIf( PctVlt>=0.5 AND PctVlt< 1.0 ,Peak(Close,0.70,1),
IIf( PctVlt>=1.0 AND PctVlt< 1.5 ,Peak(Close,0.90,1),
IIf( PctVlt>=1.5 AND PctVlt< 2.0 ,Peak(Close,1.10,1),
IIf( PctVlt>=2.0 AND PctVlt< 2.5 ,Peak(Close,1.30,1),
IIf( PctVlt>=2.5 AND PctVlt< 3.0 ,Peak(Close,1.50,1),
IIf( PctVlt>=3.0 AND PctVlt< 3.5 ,Peak(Close,1.70,1),
IIf( PctVlt>=3.5 AND PctVlt< 4.0 ,Peak(Close,2.00,1),
Peak(Close,2.20,1) ))))))));

TGH=IIf(PctVlt<0.5,Trough(Close,0.5,1),
IIf( PctVlt>=0.5 AND PctVlt< 1.0 ,Trough(Close,0.75,1),
IIf( PctVlt>=1.0 AND PctVlt< 1.5 ,Trough(Close,1.00,1),
IIf( PctVlt>=1.5 AND PctVlt< 2.0 ,Trough(Close,1.25,1),
IIf( PctVlt>=2.0 AND PctVlt< 2.5 ,Trough(Close,1.50,1),
IIf( PctVlt>=2.5 AND PctVlt< 3.0 ,Trough(Close,1.75,1),
IIf( PctVlt>=3.0 AND PctVlt< 3.5 ,Trough(Close,2.00,1),
IIf( PctVlt>=3.5 AND PctVlt< 4.0 ,Trough(Close,2.25,1),
Trough(Close,2.50,1) ))))))));

Sens=IIf(PctVlt<0.5,0.5,
IIf( PctVlt>=0.5 AND PctVlt< 1.0 ,0.75,
IIf( PctVlt>=1.0 AND PctVlt< 1.5 ,1.00,
IIf( PctVlt>=1.5 AND PctVlt< 2.0 ,1.25,
IIf( PctVlt>=2.0 AND PctVlt< 2.5 ,1.50,
IIf( PctVlt>=2.5 AND PctVlt< 3.0 ,1.75,
IIf( PctVlt>=3.0 AND PctVlt< 3.5 ,2.00,
IIf( PctVlt>=3.5 AND PctVlt< 4.0 ,2.25,
2.50 ))))))));


Color=IIf(BarsSince(Cross(C,Ref(PK,-1)))<BarsSince(Cross(Ref(TGH,-1),C)),colorBrightGreen,colorRed);
Plot(C,"Chaloke.com Peak-Trough",Color,styleCandle);

///////////////////////////////////////////////////////////////////////////////////////////////////////////
_SECTION_BEGIN("RI Auto Trading System");

acc = Param("Acceleration", 0.1, 0, 1, 0.001 );
accm = Param("Max. acceleration", 0.06, 0, 1, 0.001 );

Buy = Cross(Open, SAR(acc,accm));
Sell = Cross(SAR(acc,accm), Open );

PlotShapes(IIf(Buy,shapeUpArrow,shapeNone), colorYellow, 0, Low, Offset=-15);
PlotShapes(IIf(Buy,shapeSmallCircle,shapeNone), colorYellow, 0, Low, Offset=-28);

PlotShapes(IIf(Sell, shapeDownArrow,shapeNone), colorWhite, 0, High, Offset=-15);
PlotShapes(IIf(Sell, shapeSmallCircle,shapeNone), colorWhite, 0, High, Offset= 28);

_SECTION_END();

///////////////////////////////////////////////////////////////////////////////////////////////////////////


DayH = TimeFrameGetPrice("H", inDaily, -1); DayHI = LastValue (DayH,1);// yesterdays high
DayL = TimeFrameGetPrice("L", inDaily, -1); DayLI = LastValue (DayL,1); // yesterdays low
DayC = TimeFrameGetPrice("C", inDaily, -1); // yesterdays close
DayO = TimeFrameGetPrice("O", inDaily); // current day open
DayH2= TimeFrameGetPrice("H", inDaily, -2); DayH2I = LastValue (DayH2,1); // Two days before high
DayL2= TimeFrameGetPrice("L", inDaily, -2); DayL2I = LastValue (DayL2,1); // Two days before low
DayH3= TimeFrameGetPrice("H", inDaily, -3); DayH3I = LastValue (DayH3,1); // Three days before high
DayL3= TimeFrameGetPrice("L", inDaily, -3); DayL3I = LastValue (DayL3,1); // Three days before low

numbars = LastValue(Cum(Status("barvisible")));
hts = -33.5;

YHL = ParamToggle("Yesterday HI LO","Show|Hide",1);
if(YHL==1) {
Plot(DayL,"YL",colorTurquoise,styleDots|styleNoLin e|styleNoRescale|styleNoTitle);
Plot(DayH,"YH",colorTurquoise,styleDots|styleNoLin e|styleNoRescale|styleNoTitle);
PlotText(" YH " , LastValue(BarIndex())-(numbars/Hts), DayHI, colorTurquoise);
PlotText(" YL " , LastValue(BarIndex())-(numbars/Hts), DayLI, colorTurquoise);
}

TDBHL = ParamToggle("2/3Days before HI LO","Show|Hide",0);
if(TDBHL==1) {
Plot(DayL2,"2DBL",colorTurquoise,styleDots|styleNo Line|styleNoRescale|styleNoTitle);
Plot(DayH2,"2DBH",colorTurquoise,styleDots|styleNo Line|styleNoRescale|styleNoTitle);
Plot(DayL3,"3DBL",colorTurquoise,styleDots|styleNo Line|styleNoRescale|styleNoTitle);
Plot(DayH3,"3DBH",colorTurquoise,styleDots|styleNo Line|styleNoRescale|styleNoTitle);
PlotText(" 2DBH " , LastValue(BarIndex())-(numbars/Hts), DayH2I, colorTurquoise);
PlotText(" 2DBL " , LastValue(BarIndex())-(numbars/Hts), DayL2I, colorTurquoise);
PlotText(" 3DBH " , LastValue(BarIndex())-(numbars/Hts), DayH3I, colorTurquoise);
PlotText(" 3DBL " , LastValue(BarIndex())-(numbars/Hts), DayL3I, colorTurquoise);
}

// Pivot Levels //
PP = (DayL + DayH + DayC)/3; PPI = LastValue (PP,1); // Pivot
R1 = (PP * 2) - DayL; R1I = LastValue (R1,1); // Resistance 1
S1 = (PP * 2) - DayH; S1I = LastValue (S1,1); // Support 1
R2 = PP + R1 - S1; R2I = LastValue (R2,1); // Resistance 2
S2 = PP - R1 + S1; S2I = LastValue (S2,1); // Support 2
R3 = PP + R2 - S1; R3I = LastValue (R3,1); // Resistance 3
S3 = PP - R2 + S1; S3I = LastValue (S3,1); // Support 3

ppl = ParamToggle("Pivot Levels","Show|Hide",1);
if(ppl==1) {
Plot(PP, "PP",colorYellow,styleDots|styleNoLine|styleNoResc ale|styleNoTitle);
Plot(R1, "R1",colorViolet,styleDots|styleNoLine|styleNoResc ale|styleNoTitle);
Plot(S1, "S1",colorViolet,styleDots|styleNoLine|styleNoResc ale|styleNoTitle);
Plot(R2, "R2",colorViolet,styleDots|styleNoLine|styleNoResc ale|styleNoTitle);
Plot(S2, "S2",colorViolet,styleDots|styleNoLine|styleNoResc ale|styleNoTitle);
Plot(R3, "R3",colorViolet,styleDots|styleNoLine|styleNoResc ale|styleNoTitle);
Plot(S3, "S3",colorViolet,styleDots|styleNoLine|styleNoResc ale|styleNoTitle);

PlotText(" Pivot ", LastValue(BarIndex())-(numbars/Hts), PPI, colorYellow);
PlotText(" R1 " , LastValue(BarIndex())-(numbars/Hts), R1I, colorViolet);
PlotText(" S1 " , LastValue(BarIndex())-(numbars/Hts), S1I, colorViolet);
PlotText(" R2 " , LastValue(BarIndex())-(numbars/Hts), R2I, colorViolet);
PlotText(" S2 " , LastValue(BarIndex())-(numbars/Hts), S2I, colorViolet);
PlotText(" R3 " , LastValue(BarIndex())-(numbars/Hts), R3I, colorViolet);
PlotText(" S3 " , LastValue(BarIndex())-(numbars/Hts), S3I, colorViolet);
}
// Camerilla Levels //

rg = (DayH - DayL);

H5=DayC+1.1*rg; H5I = LastValue (H5,1);
H4=DayC+1.1*rg/2; H4I = LastValue (H4,1);
H3=DayC+1.1*rg/4; H3I = LastValue (H3,1);
H2=DayC+1.1*rg/6; H2I = LastValue (H2,1);
H1=DayC+1.1*rg/12; H1I = LastValue (H1,1);
L1=DayC-1.1*rg/12; L1I = LastValue (L1,1);
L2=DayC-1.1*rg/6; L2I = LastValue (L2,1);
L3=DayC-1.1*rg/4; L3I = LastValue (L3,1);
L4=DayC-1.1*rg/2; L4I = LastValue (L4,1);
L5=DayC-1.1*rg; L5I = LastValue (L5,1);

pcl = ParamToggle("Camerilla Levels","Show|Hide",0);
if(pcl==1) {
Plot(H5,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(H4,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(H3,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(H2,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(H1,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(L1,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(L2,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(L3,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(L4,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
Plot(L5,"",colorRose,styleDots|styleNoLine|styleNo Rescale|styleNoTitle);
PlotText(" H5 = " , LastValue(BarIndex())-(numbars/Hts), H5I +0.05, colorRose);
PlotText(" H4 = " , LastValue(BarIndex())-(numbars/Hts), H4I +0.05, colorRose);
PlotText(" H3 = " , LastValue(BarIndex())-(numbars/Hts), H3I +0.05, colorRose);
PlotText(" H2 = " , LastValue(BarIndex())-(numbars/Hts), H2I +0.05, colorRose);
PlotText(" H1 = " , LastValue(BarIndex())-(numbars/Hts), H1I +0.05, colorRose);
PlotText(" L1 = " , LastValue(BarIndex())-(numbars/Hts), L1I +0.05, colorRose);
PlotText(" L2 = " , LastValue(BarIndex())-(numbars/Hts), L2I +0.05, colorRose);
PlotText(" L3 = " , LastValue(BarIndex())-(numbars/Hts), L3I +0.05, colorRose);
PlotText(" L4 = " , LastValue(BarIndex())-(numbars/Hts), L4I +0.05, colorRose);
PlotText(" L5 = " , LastValue(BarIndex())-(numbars/Hts), L5I +0.05, colorRose);
}

// Current Days Hi Lo //
THL = ParamToggle("Todays Hi Lo","Show|Hide",1);
if(THL==1) {
isRth = TimeNum() >= 084500 & TimeNum() <= 085959;
isdRth = TimeNum() >= 084500 & TimeNum() <= 160000;
aRthL = IIf(isRth, L, 1000000);
aRthH = IIf(isdRth, H, Null);
aRthLd = IIf(isdRth, L, 1000000);
DayH = TimeFrameCompress( aRthH, inDaily, compressHigh );
DayH = TimeFrameExpand( DayH, inDaily, expandFirst );
DayL = TimeFrameCompress( aRthLd, inDaily, compressLow );
DayL = TimeFrameExpand( DayL, inDaily, expandFirst );
Bars = BarsSince(TimeNum() >= 94500 AND TimeNum() < 095959);//,BarIndex(),1); // AND DateNum()==LastValue(DateNum());
x0 = BarCount-LastValue(Bars);
x1 = BarCount-1;
DayHline=LineArray(x0,LastValue(DayH),x1,LastValue (DayH),0);
DayLline=LineArray(x0,LastValue(DayL),x1,LastValue (DayL),0);
DayHlineI = LastValue (DayHline,1);
DayLlineI = LastValue (DayLline,1);
Plot(DayHline,"DayH",colorYellow,styleBar|styleNoR escale|styleNoTitle);
Plot(DayLline,"DayL",colorYellow,styleBar|styleNoR escale|styleNoTitle);
PlotText(" Day Hi " , LastValue(BarIndex())-(numbars/Hts), DayHlineI +0.05, colorYellow);
PlotText(" Day Lo " , LastValue(BarIndex())-(numbars/Hts), DayLlineI +0.05, colorYellow);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////



//Support and resistance levels using RSI.
//graham Kavanagh May 2003
//Load into Indicator Builder
//Sensitivity of the levels can be changed with the variables
//Can test different numbers live with the Param function ctrl-R with open pane
RSIperiod = 5; // 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 = 5; //Param("HHV p",3,5,10,1);
NumLine = 1; //Param("Num Lines",3,1,20,1);

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

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,
styleDashed);
Plot(ValueWhen( supbase==Base, LLV(L,HHVperiod) ), "Support Level", colorGreen,
styleDashed);
}
Title = Name() + "; " + Date() + ": Support & Resistance Levels using RSI: " +
/*EncodeColor(colorGreen)+ "Support Levels are Green; "+EncodeColor(colorRed)+
"Resistance Levels are Red: "+EncodeColor(colorBlack)+*/ "Num lines
="+WriteVal(numline,1) ;

/////////////////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////
///// Trailing Stop Module /////

P6=Param("Trailing Stop Risk",2.5,2,3.5,0.1);
P7=Param("Trailing Stop LookBack",14,5,25,1);
P8=Param("Trailing Stop PrevLow Switch",0,0,1,1);
PrevLow=IIf(P8==1, Ref(C,-TroughBars(C,5,1)) ,Null);
Plot(PrevLow,"",colorRed);

//Position sizing//
MyTotalPort = Param("MyTotalPort",1000000,10000,10000000,100000) ;
AcceptableRisk = Param("AcceptableRisk",0.5,0.1,3,0.1);
BarsFromStart = BarsSince(Cross(C,Ref(PK,-1))AND Ref(Color,-1)==colorRed) ;
InitialStopLoss =Ref( H - P6*ATR(P7),-BarsFromStart);
PositionSizing = 0.01*AcceptableRisk*MyTotalPort/( C - InitialStopLoss );

Plot(IIf( HHV(H - P6*ATR(P7),BarsFromStart+1) <C ,HHV(H - P6*ATR(P7),BarsFromStart+1),Null) ,"",colorCustom12,1);

PlotShapes(shapeDownArrow*Cross(Ref(HHV(H - P6*ATR(P7),BarsFromStart+1),-1),C),colorBlack,0,H,Offset=-43);

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



////////////////////////////////////////////////////////////////////////////////////////////////

_SECTION_BEGIN("Price");

SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} - {{DATE}} "+ EncodeColor(colorYellow)+"Open = "+ EncodeColor(colorYellow) +"%g "+ EncodeColor(colorBrightGreen)+"High = "+ EncodeColor(colorBrightGreen) +"%g "+ EncodeColor(colorRed)+"Low = "+ EncodeColor(colorRed) +"%g "+ EncodeColor(colorYellow) +"Close = "+ EncodeColor(colorYellow) +" %g (%.1f%%) Vol " +WriteVal( V, 1.0 ) +" {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));

////////////////////////////////////////////////////////////////////////////////////////////////

Odd=13;//enter Odd numbers only
CoefOdd=round(Odd/2);

Even=12;//enter Even numbers only
Coefeven=Even/2;
Coefeven2=Coefeven+1;

CongestionPercent=2.8;/*Set % above/below Moving average for congestion / sideways market*/

TriangularOdd=MA(MA(C,CoefOdd),CoefOdd);
TriangularEven=MA(MA(C,Coefeven),Coefeven2);

finalMov_avg=IIf(Odd > even,triangularOdd,TriangularEven);

Color=colorBrightGreen;//select Moving average line color
tickercolor=colorBlack;//select price color

Plot(finalMov_avg,"",IIf(C < finalmov_avg,colorRed,Color),styleDots|styleThick) ;

////////////////////////////////////////////////////////////////////////////////////////////////



/* **********************************

Code to automatically identify pivots TRIANGLE

********************************** */
// -- what will be our lookback range for the hh and ll?
farback=Param("How Far back to go",200,12,30,1);
nBars = Param("Number of bars", 12, 1, 30, 1);
// -- Create 0-initialized arrays the size of barcount
aHPivs = H - H;
aLPivs = L - L;
// -- More for future use, not necessary for basic plotting
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;
// -- looking back from the current bar, how many bars
// back were the hhv and llv values of the previous
// n bars, etc.?
aHHVBars = HHVBars(H, nBars);
aLLVBars = LLVBars(L, nBars);
aHHV = HHV(H, nBars);
aLLV = LLV(L, nBars);
// -- Would like to set this up so pivots are calculated back from
// last visible bar to make it easy to "go back" and see the pivots
// this code would find. However, the first instance of
// _Trace output will show a value of 0
aVisBars = Status("barvisible");
nLastVisBar = LastValue(Highest(IIf(aVisBars, BarIndex(), 0)));
_TRACE("Last visible bar: " + nLastVisBar);
// -- Initialize value of curTrend
curBar = (BarCount-1);
curTrend = "";
if (aLLVBars[curBar] <
aHHVBars[curBar]) {
curTrend = "D";
}
else {
curTrend = "U";
}
// -- Loop through bars. Search for
// entirely array-based approach
// in future version
for (i=0; i<farback; i++) {
curBar = (BarCount - 1) - i;
// -- Have we identified a pivot? If trend is down...
if (aLLVBars[curBar] < aHHVBars[curBar]) {
// ... and had been up, this is a trend change
if (curTrend == "U") {
curTrend = "D";
// -- Capture pivot information
curPivBarIdx = curBar - aLLVBars[curBar];
aLPivs[curPivBarIdx] = 1;
aLPivLows[nLPivs] = L[curPivBarIdx];
aLPivIdxs[nLPivs] = curPivBarIdx;
nLPivs++;
}
// -- or current trend is up
} else {
if (curTrend == "D") {
curTrend = "U";
curPivBarIdx = curBar - aHHVBars[curBar];
aHPivs[curPivBarIdx] = 1;
aHPivHighs[nHPivs] = H[curPivBarIdx];
aHPivIdxs[nHPivs] = curPivBarIdx;
nHPivs++;
}
// -- If curTrend is up...else...
}
// -- loop through bars
}
// -- Basic attempt to add a pivot this logic may have missed
// -- OK, now I want to look at last two pivots. If the most
// recent low pivot is after the last high, I could
// still have a high pivot that I didn't catch
// -- Start at last bar
curBar = (BarCount-1);
candIdx = 0;
candPrc = 0;
lastLPIdx = aLPivIdxs[0];
lastLPL = aLPivLows[0];
lastHPIdx = aHPivIdxs[0];
lastHPH = aHPivHighs[0];
if (lastLPIdx > lastHPIdx) {
// -- Bar and price info for candidate pivot
candIdx = curBar - aHHVBars[curBar];
candPrc = aHHV[curBar];
if (
lastHPH < candPrc AND
candIdx > lastLPIdx AND
candIdx < curBar) {
// -- OK, we'll add this as a pivot...
aHPivs[candIdx] = 1;
// ...and then rearrange elements in the
// pivot information arrays
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 {
// -- Bar and price info for candidate pivot
candIdx = curBar - aLLVBars[curBar];
candPrc = aLLV[curBar];
if (
lastLPL > candPrc AND
candIdx > lastHPIdx AND
candIdx < curBar) {
// -- OK, we'll add this as a pivot...
aLPivs[candIdx] = 1;
// ...and then rearrange elements in the
// pivot information arrays
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++;
}
}
// -- Dump inventory of high pivots for debugging
/*
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]);
}
*/
// -- OK, let's plot the pivots using arrows

PlotShapes(IIf(aHPivs==1, shapeSmallDownTriangle, shapeNone), colorCustom12, 0, High, Offset=-5);
PlotShapes(IIf(aLPivs==1, shapeSmallUpTriangle , shapeNone), colorCustom11, 0, Low, Offset=-5);

Sell = aHPivs == 1 ;
Buy = aLPivs == 1 ;
Filter=Buy OR Sell;
Sell=ExRem(Sell,Buy);
Buy=ExRem(Buy,Sell);

////////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////////////////

_SECTION_BEGIN("Pivot_Finder");
/* **********************************

Code to automatically identify pivots for STAR

********************************** */

// -- what will be our lookback range for the hh and ll?
farback=Param("How Far back to go",200,0,5000,10);
nBars = Param("Number of bars", 12, 5, 40);


// -- Create 0-initialized arrays the size of barcount

aHPivs = H - H;

aLPivs = L - L;

// -- More for future use, not necessary for basic plotting

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;

// -- looking back from the current bar, how many bars

// back were the hhv and llv values of the previous

// n bars, etc.?

aHHVBars = HHVBars(H, nBars);

aLLVBars = LLVBars(L, nBars);

aHHV = HHV(H, nBars);

aLLV = LLV(L, nBars);

// -- Would like to set this up so pivots are calculated back from

// last visible bar to make it easy to "go back" and see the pivots

// this code would find. However, the first instance of

// _Trace output will show a value of 0

aVisBars = Status("barvisible");

nLastVisBar = LastValue(Highest(IIf(aVisBars, BarIndex(), 0)));

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

// -- Initialize value of curTrend

curBar = (BarCount-1);

curTrend = "";

if (aLLVBars[curBar] <

aHHVBars[curBar]) {

curTrend = "D";

}

else {

curTrend = "U";

}

// -- Loop through bars. Search for

// entirely array-based approach

// in future version

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

curBar = (BarCount - 1) - i;

// -- Have we identified a pivot? If trend is down...

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

// ... and had been up, this is a trend change

if (curTrend == "U") {

curTrend = "D";

// -- Capture pivot information

curPivBarIdx = curBar - aLLVBars[curBar];

aLPivs[curPivBarIdx] = 1;

aLPivLows[nLPivs] = L[curPivBarIdx];

aLPivIdxs[nLPivs] = curPivBarIdx;

nLPivs++;

}

// -- or current trend is up

} else {

if (curTrend == "D") {

curTrend = "U";

curPivBarIdx = curBar - aHHVBars[curBar];

aHPivs[curPivBarIdx] = 1;

aHPivHighs[nHPivs] = H[curPivBarIdx];

aHPivIdxs[nHPivs] = curPivBarIdx;

nHPivs++;

}

// -- If curTrend is up...else...

}

// -- loop through bars

}

// -- Basic attempt to add a pivot this logic may have missed

// -- OK, now I want to look at last two pivots. If the most

// recent low pivot is after the last high, I could

// still have a high pivot that I didn't catch

// -- Start at last bar

curBar = (BarCount-1);

candIdx = 0;

candPrc = 0;

lastLPIdx = aLPivIdxs[0];

lastLPL = aLPivLows[0];

lastHPIdx = aHPivIdxs[0];

lastHPH = aHPivHighs[0];

if (lastLPIdx > lastHPIdx) {

// -- Bar and price info for candidate pivot

candIdx = curBar - aHHVBars[curBar];

candPrc = aHHV[curBar];

if (

lastHPH < candPrc AND

candIdx > lastLPIdx AND

candIdx < curBar) {


// -- OK, we'll add this as a pivot...

aHPivs[candIdx] = 1;

// ...and then rearrange elements in the

// pivot information arrays

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 {


// -- Bar and price info for candidate pivot

candIdx = curBar - aLLVBars[curBar];

candPrc = aLLV[curBar];

if (

lastLPL > candPrc AND

candIdx > lastHPIdx AND

candIdx < curBar) {


// -- OK, we'll add this as a pivot...

aLPivs[candIdx] = 1;

// ...and then rearrange elements in the

// pivot information arrays

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++;

}

}

// -- Dump inventory of high pivots for debugging



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]);

}

//////////////////////////////////////////////////////////////////////////////

// -- OK, let's plot the pivots using arrows

PlotShapes(

IIf(aHPivs==1, shapeStar, shapeNone), colorBrightGreen, 0, H, 15);

PlotShapes(

IIf(aLPivs==1, shapeStar , shapeNone), colorCustom12, 0, L, -20);


//////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////

messageboard = ParamToggle("Message Board","Show|Hide",0);
showsl = ParamToggle("Stop Loss Line", "Show|Hide", 0);
no=10;
res=HHV(H,no);
sup=LLV(L,no);
avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));
avn=ValueWhen(avd!=0,avd,1);
s5d=IIf(avn==1,sup,res);

if (showsl == 0)
//{Plot(s5d,"Stop Loss",colorCustom14,styleDots);}
exitlong = Cross(s5d, H);
PlotShapes(exitlong * shapeDownArrow, colorBlack,0,H,-10);
exitshort = Cross(L, s5d);
PlotShapes(exitshort * shapeUpArrow, colorBlack,0,L,-15);

Buy = exitshort;
Sell = exitlong;
//Short = Sell;
//Cover = Buy;
Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
//Short = ExRem(Short, Cover);
//Cover = ExRem(Cover, Short);
AlertIf( Buy, "", "BUY @ " + C, 1 );
AlertIf( Sell, "", "SELL @ " + C, 2 );

for(i=BarCount-1;i>1;i--)
{
if(Buy[i] == 1)
{
entry = C[i];
sig = "BUY";
sl = s5d[i];
tar1 = entry + (entry * .0056);
tar2 = entry + (entry * .0116);
tar3 = entry + (entry * .0216);

bars = i;
i = 0;
}
if(Sell[i] == 1)
{
sig = "SELL";
entry = C[i];
sl = s5d[i];
tar1 = entry - (entry * .0056);
tar2 = entry - (entry * .0116);
tar3 = entry - (entry * .0216);


bars = i;
i = 0;
}
}
Offset = 20;
Clr = IIf(sig == "BUY", colorLime, colorRed);
ssl = IIf(bars == BarCount-1, s5d[BarCount-1], Ref(s5d, -1));
sl = ssl[BarCount-1];

Plot(LineArray(bars-Offset, tar1, BarCount, tar1,1), "", Clr, styleLine|styleDots, Null, Null, Offset);
Plot(LineArray(bars-Offset, tar2, BarCount, tar2,1), "", Clr, styleLine|styleDots, Null, Null, Offset);
Plot(LineArray(bars-Offset, tar3, BarCount, tar3,1), "", Clr, styleLine|styleDots, Null, Null, Offset);

Plot(LineArray(bars-Offset, sl, BarCount, sl,1), "", colorDarkRed, styleLine|styleLine, Null, Null, Offset);
Plot(LineArray(bars-Offset, entry, BarCount, entry,1), "", colorGreen, styleLine|styleLine, Null, Null, Offset);

for (i=bars; i <BarCount;i++)
{
PlotText(""+sig+"@"+entry, BarCount+1,entry,Null,colorBlue);
PlotText("T1@"+tar1,BarCount+3,tar1,Null,Clr);Plot Text("T2@"+tar2,BarCount+3,tar2,Null,Clr);PlotText ("T3@"+tar3,BarCount+3,tar3,Null,Clr);

}


printf("Last " + sig + " Signal came " + (BarCount-bars) + " bars ago");
printf("\n" + sig + " @ : " + entry + "\nStop Loss : " + sl + " (" + WriteVal(IIf(sig == "SELL",entry-sl,sl-entry), 2.2) + ")"+ "\nTarget_1 : " + tar1 + "\nTarget_2 : " + tar2 + "\nTarget_3 : " + tar3);
printf("\nCurrent P/L : " + WriteVal(IIf(sig == "BUY",(C-entry),(entry-C)),2.2));

if (messageboard == 0 )
{
GfxSelectFont( "Tahoma", 13, 100 );
GfxSetBkMode( 1 );
GfxSetTextColor( colorWhite );

if ( sig =="BUY")
{
GfxSelectSolidBrush( colorBlue ); // this is the box background color
}
else
{
GfxSelectSolidBrush( colorRed ); // this is the box background color
}
pxHeight = Status( "pxchartheight" ) ;
xx = Status( "pxchartwidth");
Left = 1100;
width = 310;
x = 5;
x2 = 290;

y = pxHeight;

GfxSelectPen( colorGreen, 1); // broader color
GfxRoundRect( x, y - 163, x2, y , 7, 7 ) ;
GfxTextOut( ( " GAIN TRADE "),88,y-165);
GfxTextOut( (" "),27,y-160);
GfxTextOut( ("Last " + sig + " Signal came " + (BarCount-bars-1) * Interval()/60 + " mins ago"), 13, y-140) ; // The text format location
GfxTextOut( ("" + WriteIf(sig =="BUY",sig + " @ ",sig + " @") + " : " + entry), 13, y-120);
GfxTextOut( ("Trailing SL : " + sl + " (" + WriteVal(IIf(sig == "SELL",entry-sl,sl-entry), 2.2) + ")"), 13, y-100);
GfxTextOut( ("TGT:1 : " + tar1), 13, y -80);
GfxTextOut( ("TGT:2 : " + tar2), 13,y-60);
GfxTextOut( ("TGT:3 : " + tar3), 13,y-40);
GfxTextOut( ("Current P/L : " + WriteVal(IIf(sig == "BUY",(C-entry),(entry-C)),2.2)), 88, y-22);;

}
//////////////////////////////////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////////////////////////////////

_SECTION_BEGIN("Magnified Market Price");
//xxx//
FS=Param("Font Size",30,30,100,1);
GfxSelectFont("Arial", FS, 900, italic = False, underline = False, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor( ParamColor("Color",colorYellow) );
Hor=Param("Horizontal Position",800,800,800,800);
Ver=Param("Vertical Position",27,27,27,27);
GfxTextOut(""+C,Hor , Ver );
YC=TimeFrameGetPrice("C",inDaily,-1);
DD=Prec(C-YC,2);
xx=Prec((DD/YC)*100,2);
GfxSelectFont("Arial", 12, 700, italic = False, underline = False, True );
GfxSetBkMode( colorWhite );
GfxSetTextColor(ParamColor("Color",colorYellow) );
GfxTextOut(""+DD+" ("+xx+"%)", Hor+5, Ver+45 );
_SECTION_END();

////////////////////////////////////////////////////////////////////////////////

_SECTION_BEGIN("trending ribbon");
uptrend=PDI()>MDI()AND Signal()<MACD();
downtrend=MDI()>PDI()AND Signal()>MACD();
Plot( 2, /* defines the height of the ribbon in percent of pane width */"ribbon",
IIf( uptrend, colorGreen, IIf( downtrend, colorRed, colorBlack )), /* choose color */
styleOwnScale|styleArea|styleNoLabel, -0.5, 100 );
_SECTION_END();
GraphXSpace=5;

//////////////////////////////////////////////////////////////////////////////

/**
*


*/

_SECTION_BEGIN("INIT");

SetChartOptions(0,chartShowArrows|chartShowDates);
fraction= IIf(StrRight(Name(),3) == "", 3.2, 3.2);
tchoice=Param("Title Selection ",2,1,2,1);
ZigLevel = Param("ZigLevel", 2, 1, 25 );
numbars = LastValue(Cum(Status("barvisible")));
hts = Param ("Text Shift", -33.5,-50,50,0.10);
dec = (Param("Decimals",2,0,7,1)/10)+1;
bi = BarIndex();
Lbi = LastValue(BarIndex());
sbi = SelectedValue(bi);
ScanLookBack = Param("Scan Lookback", 1, 1, 25 );

_SECTION_END();

_SECTION_BEGIN("Functions");

function Lastthursday() {
Daysinmonth=IIf(Month()==1 OR Month()==3 OR Month()==5 OR Month()==7 OR Month()==8 OR Month()==10 OR Month()==12,31,30);
Daysinmonthfeb=IIf(Year()%4 == 0 AND Year()%100!=0,29,28);
Daysinmonthfinal=IIf(Month()==2,Daysinmonthfeb,Day sinmonth);
returnvalue=IIf(Daysinmonthfinal-Day()<7 AND DayOfWeek()==4,1,0);
return returnvalue;
}

_SECTION_END();

_SECTION_BEGIN("Price");
_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 )) ));
Plot( C, _DEFAULT_NAME(), colorBlack , styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

_SECTION_BEGIN("BBands");

P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 100, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );
Color = ParamColor("Color", colorLightGrey );
Style = ParamStyle("Style") | styleNoRescale | styleNoTitle ;
BBTop = BBandTop( P, Periods, Width );
BBBot = BBandBot( P, Periods, Width );
BBMid = MA(C,20);
Plot(BBTop , "BBTop" + _PARAM_VALUES(), Color, Style );
Plot(BBBot, "BBBot" + _PARAM_VALUES(), Color, Style );

_SECTION_END();

_SECTION_BEGIN("Auto trend line Trendline");

percent = 0.01 * 1; /* Adjust this percent as necessary, */
firstpointL = 2;
firstpointH = 2;

y0=LastValue(Trough(L,percent,firstpointL));
y1=LastValue(Trough(Ref(L,-1),percent,1));

for( i = 1; i < BarCount AND y0 >= y1; i++ ){
firstpointL++;
y0=LastValue(Trough(L,percent,firstpointL));
}

x0=BarCount - 1 - LastValue(TroughBars(L,percent,firstpointL));
x1=BarCount - 1 - LastValue(TroughBars(Ref(L,-1),percent,1));
LineL = LineArray( x0, y0, x1, y1, 1 );

Plot( LineL, "Support", colorGreen,styleLine | styleDots | styleNoTitle | styleNoRescale);


yt0=LastValue(Peak(H,percent,firstpointH));
yt1=LastValue(Peak(Ref(H,-1),percent,1));

for(i = 1; i < BarCount AND yt0 <= yt1; i++ ) {
firstpointH++;
yt0=LastValue(Peak(H,percent,firstpointH));
}
xt0=BarCount - 1 - LastValue(PeakBars(H,percent,firstpointH));
xt1=BarCount - 1 - LastValue(PeakBars(Ref(H,-1),percent,1));

LineH = LineArray( xt0, yt0, xt1, yt1, 1 );

Plot( LineH, "Resistance", colorBrown,styleLine | styleDots | styleNoTitle | styleNoRescale);

ATBuy = Cross(C,LineH);
ATShort = Cross(LineL,C);

PlotShapes(ATBuy * shapeUpTriangle , colorBlue,0,L);
PlotShapes(ATShort * shapeDownTriangle , colorRed,0,H);

_SECTION_END();

_SECTION_BEGIN("NW");

k = Param("K", 1.5, 1, 5, 0.1);
Per = Param("ATR", 14, 1, 30, 0.50);

j=Close;

f=ATR(Per );

rfsctor = WMA(H-L, Per);

revers = k * 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];
}
}
}
}

Plot(NW, "", IIf(Trend == 1, 27, 4), styleStaircase | styleNoRescale);
NMBuy = NMCover = Cross(j,nw);
NMSell = NMShort = Cross(nw,j);
baratnwbuy = LastValue(ValueWhen((NMBuy ) ,BarIndex())) ;
baratnwshort = LastValue(ValueWhen((NMShort ) ,BarIndex())) ;

shape = NMBuy * shapeSmallUpTriangle+ NMSell * shapeSmallDownTriangle;
PlotShapes( shape, IIf( NMBuy, colorRed, colorBlue ), 0, IIf( NMBuy, L, H));

_SECTION_END();


_SECTION_BEGIN("Expiry Thursday");

Plot( 5, "Expiry Thursday",IIf( Lastthursday(), colorOrange,colorWhite),styleOwnScale|styleArea|st yleNoLabel|styleNoTitle, -0.5, 100 );

_SECTION_END();

_SECTION_BEGIN("Buy_Sell");

Buy = NMBuy AND ATBuy;
Short = NMShort AND ATShort;

baratbuy = LastValue(ValueWhen((Buy ) ,BarIndex())) ;
baratshort = LastValue(ValueWhen((Short ) ,BarIndex())) ;
T1 = T2 = T3 = T4 = T5 = T6 = SL = 0;

if(baratbuy > baratshort ) { //Buy strategy
TP = Max(NW[baratbuy-1],LineH[baratbuy]);
HV = yt0;
LV = y0;

BuyPrice = TP ;

PlotText("Long Entry = " + WriteVal(BuyPrice ,fraction), LastValue(BarIndex())-(numbars/hts), BuyPrice + 0.05, colorRed);

SL = L[baratbuy];

T1 = TP+(TP-LV)*0.618 ;
T2 = TP+(TP-LV)*1.0;
T3 = TP+(TP-LV)*1.382 ;
T4 = TP+(TP-LV)*1.618 ;
T5 = TP+(TP-LV)*2.000 ;
T6 = TP+(TP-LV)*2.620 ;

PlotText("S/L = " + WriteVal(SL,fraction), LastValue(BarIndex())-(numbars/hts), SL + 0.05, colorBlue);
PlotText("T1 = " + WriteVal(T1,fraction), LastValue(BarIndex())-(numbars/hts), T1 + 0.05, colorBlue);
PlotText("T2 = " + WriteVal(T2,fraction), LastValue(BarIndex())-(numbars/hts), T2 + 0.05, colorBlue);
PlotText("T3 = " + WriteVal(T3,fraction), LastValue(BarIndex())-(numbars/hts), T3 + 0.05, colorBlue);
PlotText("T4 = " + WriteVal(T4,fraction), LastValue(BarIndex())-(numbars/hts), T4 + 0.05, colorBlue);
PlotText("T5 = " + WriteVal(T5,fraction), LastValue(BarIndex())-(numbars/hts), T5 + 0.05, colorBlue);
PlotText("T6 = " + WriteVal(T6,fraction), LastValue(BarIndex())-(numbars/hts), T6 + 0.05, colorBlue);


} else if (baratshort > baratbuy ){

TP = Min(NW[baratshort-1],LineL[baratshort]);
HV = yt0;
LV = y0;

ShortPrice = TP ;

PlotText("Short Entry = " + WriteVal(ShortPrice ,fraction), LastValue(BarIndex())-(numbars/hts), ShortPrice + 0.05, colorRed);

SL = H[baratnwshort];

T1 = TP-(HV-TP)*0.618 ;
T2 = TP-(HV-TP)*1.0;
T3 = TP-(HV-TP)*1.382 ;
T4 = TP-(HV-TP)*1.618 ;
T5 = TP-(HV-TP)*2.000 ;
T6 = TP-(HV-TP)*2.620 ;

PlotText("S/L = " + WriteVal(SL,fraction), LastValue(BarIndex())-(numbars/hts), SL + 0.05, colorBlue);
PlotText("T1 = " + WriteVal(T1,fraction), LastValue(BarIndex())-(numbars/hts), T1 + 0.05, colorBlue);
PlotText("T2 = " + WriteVal(T2,fraction), LastValue(BarIndex())-(numbars/hts), T2 + 0.05, colorBlue);
PlotText("T3 = " + WriteVal(T3,fraction), LastValue(BarIndex())-(numbars/hts), T3 + 0.05, colorBlue);
PlotText("T4 = " + WriteVal(T4,fraction), LastValue(BarIndex())-(numbars/hts), T4 + 0.05, colorBlue);
PlotText("T5 = " + WriteVal(T5,fraction), LastValue(BarIndex())-(numbars/hts), T5 + 0.05, colorBlue);
PlotText("T6 = " + WriteVal(T6,fraction), LastValue(BarIndex())-(numbars/hts), T6 + 0.05, colorBlue);

}


_SECTION_END();

_SECTION_BEGIN("Auto");

Buy = ( Buy) AND BarIndex() == baratbuy AND (BarCount - baratbuy )<=ScanLookBack ;
Short = ( Short) AND BarIndex() == baratshort AND (BarCount - baratshort )<=ScanLookBack ;

Filter = Buy OR Short ;

Var = WriteIf(Buy,"LONG",WriteIf(Short,"SHORT",""));
EntryPrice = IIf(Buy,BuyPrice,ShortPrice);

AddTextColumn( Var , "Long/Short", 1.2 , colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn( EntryPrice , "Entry Price", 1.2 , colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(C ,"Current Price",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(SL ,"S/L",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(T1 ,"T1",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(T2 ,"T2",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(T3 ,"T3",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(T4 ,"T4",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(T5 ,"T5",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(T6 ,"T6",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));
AddColumn(V ,"Volume",1.2,colorBlack, IIf( Buy, colorLime, IIf(Short,colorOrange,colorWhite) ));


_SECTION_END();

_SECTION_BEGIN("NAME");

GfxSetOverlayMode(0);
GfxSelectFont("Arial", Status("pxheight")/28 );
GfxSetTextAlign( 6 );// center alignment
GfxSetTextColor( ColorHSB( 42, 42, 42 ) );
GfxSetBkMode(0); // transparent
GfxTextOut( Name(), Status("pxwidth")/2, Status("pxheight")/12 );
GfxSelectFont("Tahoma", Status("pxheight")/30 );
Title = EncodeColor(colorBlue)+"Author: MT4EAS (MT4EAS) "+EncodeColor(colorBlack)+Title ;
_SECTION_END();

GraphXSpace = 10 ;
VOLATILITY ALWAYS EQUALS OPPORTUNITY
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby vpukken » Tue Dec 13, 2011 9:55 pm

Request to Nilopra and Manish:

Can you post the links of Amibroker software and data feed links. Thanks.
VOLATILITY ALWAYS EQUALS OPPORTUNITY
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby nilopra » Tue Dec 13, 2011 10:00 pm

first code will be visible, if the following line is added:


Plot(C,"",colorBlack,styleCandle);
A man's way of doing things is the direct result of the way he thinks
about things.

For this message the author nilopra has received thanks:
vpukken (Tue Dec 13, 2011 10:03 pm)
Rating: 3%
 
User avatar
nilopra
MODERATOR
MODERATOR
 
Posts: 2440
Cash on hand: 3,023.00
Bank: 748.00
Joined: Mon May 16, 2011 4:23 pm
Has thanked: 1221 times
Have thanks: 706 times
Blog: View Blog (2)
Real Name: NIL
Gender: Male
Karma: 0

Re: Amibroker

Postby nilopra » Tue Dec 13, 2011 10:25 pm

2nd code is combination of many indicators.... Nice one
A man's way of doing things is the direct result of the way he thinks
about things.
User avatar
nilopra
MODERATOR
MODERATOR
 
Posts: 2440
Cash on hand: 3,023.00
Bank: 748.00
Joined: Mon May 16, 2011 4:23 pm
Has thanked: 1221 times
Have thanks: 706 times
Blog: View Blog (2)
Real Name: NIL
Gender: Male
Karma: 0

Re: Amibroker

Postby vpukken » Tue Dec 13, 2011 11:35 pm

Amibroker 5.40 new

Featuring massively parallel Multi-Threaded Charting, automatic Walk-Forward Testing, Multi-monitor floating charts, symbol and interval linking, drag-and-drop indicator creation, Industry fastest, Unlimited-symbol True Portfolio-Level Backtesting and Optimization, now with Smart Evolutionary algorithms, scaling, market-neutral system support and multiple currency handling, free Fundamental data, Multiple Time-Frame support, 3D optimization charts, new Account manager, automated trading interface, volume profile, object-oriented charting, drawing layers, multi-window layouts, formula-based alerts, easy-to-use formula editor, equity function, unique composite indicators, built-in web research browser, direct link to eSignal, Interactive Brokers, IQFeed, myTrack, FastTrack, QP2, TC2000, any DDE compliant feed, MS and more...

For more info: http://www.amibroker.com/devlog


http://www.multiupload.com/O1X4DXQGA7
VOLATILITY ALWAYS EQUALS OPPORTUNITY
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby vpukken » Tue Dec 13, 2011 11:39 pm

Aminroker 5.4


This board requires you to be registered and logged-in before you can view hidden messages
VOLATILITY ALWAYS EQUALS OPPORTUNITY

For this message the author vpukken has received thanks: 2
manish midha (Wed Dec 14, 2011 12:31 am), roysou (Wed Dec 14, 2011 2:41 am)
Rating: 5%
 
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby vpukken » Tue Dec 13, 2011 11:42 pm

Amibroker Realtime Data via MT4 DDE


#1. Start your MT4, Tools > Options > Server > Enable DDE
#2. Refer to screenshots to configure in Amibroker med***iafire.c***om/?lck850a9bi4u7d1
VOLATILITY ALWAYS EQUALS OPPORTUNITY

For this message the author vpukken has received thanks:
manish midha (Wed Dec 14, 2011 12:32 am)
Rating: 3%
 
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby vpukken » Tue Dec 13, 2011 11:47 pm

pattern explorer:

This board requires you to be registered and logged-in before you can view hidden messages


PS: replace link with right characters
VOLATILITY ALWAYS EQUALS OPPORTUNITY
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby manish midha » Wed Dec 14, 2011 12:35 am

excellent thread paul sir, sure i'll contribute whatever i can.
EARNING MONEY NEVER MAKES ME HAPPY, BUT SPENDING IT DOES!

For this message the author manish midha has received thanks:
vpukken (Wed Dec 14, 2011 9:08 am)
Rating: 3%
 
User avatar
manish midha
VIP MEMBER
VIP MEMBER
 
Posts: 945
Cash on hand: 738.00
Joined: Mon May 23, 2011 12:43 pm
Has thanked: 836 times
Have thanks: 480 times
Blog: View Blog (0)
Karma: 15

Re: Amibroker

Postby vpukken » Wed Dec 14, 2011 5:54 pm

this is a collection of over 12 thousand afl


This board requires you to be registered and logged-in before you can view hidden messages
VOLATILITY ALWAYS EQUALS OPPORTUNITY

For this message the author vpukken has received thanks: 2
manish midha (Wed Dec 14, 2011 8:45 pm), vinodh2u (Mon May 28, 2012 12:59 am)
Rating: 5%
 
User avatar
vpukken
MODERATOR
MODERATOR
 
Posts: 3737
Cash on hand: 5,786.00
Bank: 0.00
Joined: Sat May 21, 2011 9:27 am
Has thanked: 1347 times
Have thanks: 1585 times
Blog: View Blog (1)
Karma: 25

Re: Amibroker

Postby nilopra » Wed Dec 14, 2011 8:09 pm

thank u sir, u have good collection of knowledge. I have one question, you must not follow all things other than one strategy. What is your trading style.
A man's way of doing things is the direct result of the way he thinks
about things.
User avatar
nilopra
MODERATOR
MODERATOR
 
Posts: 2440
Cash on hand: 3,023.00
Bank: 748.00
Joined: Mon May 16, 2011 4:23 pm
Has thanked: 1221 times
Have thanks: 706 times
Blog: View Blog (2)
Real Name: NIL
Gender: Male
Karma: 0

Re: Amibroker

Postby manish midha » Wed Dec 14, 2011 8:31 pm

:lol: :lol: :lol: tough question nilopra dear.
EARNING MONEY NEVER MAKES ME HAPPY, BUT SPENDING IT DOES!
User avatar
manish midha
VIP MEMBER
VIP MEMBER
 
Posts: 945
Cash on hand: 738.00
Joined: Mon May 23, 2011 12:43 pm
Has thanked: 836 times
Have thanks: 480 times
Blog: View Blog (0)
Karma: 15

Next


  • SHARE TOPIC HERE

Return to MARKET VIEWS AND GENERAL MARKET RELATED DISCUSSION

Who is online

Users browsing this forum: No registered users and 3 guests

cron
Disclaimer: The messages and ideas posted on this website are users' own views. We do not own any responsibility for the information provided by the users. Its for learning purpose. No liability whatsoever lies with Blueeyeforum.com. All rights reserved.