Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

Pink Darvas for Amibroker (AFL)
Marc
over 12 years ago
Amibroker (AFL)

Rating:
4 / 5 (Votes 5)
Tags:
amibroker, darvas

I’m new to trading (like squeaky-shoes new) so I’m reading as much as I can to get an idea of what it’s all about before blowing investing my hard-earned cash.

I read a book by Nicholas Darvas yesterday and I wondered if there was a script to indicated where the boxes are formed, and sure enough there was. The only problem was that it was giving me a headache because it has an animated background.

I’m not a coder – not even pretending to be – but I found the animated bit at the end of the script and modified it to be a bit more soothing on the eye. It’s pink now, but there are options to add your own color scheme in if you prefer – just replace the (pink) with (turq) or (green) or (red) etc.

Similar Indicators / Formulas

Presto's Magic Box
Submitted by kelvinhand over 11 years ago
Darvas Box with Exploration
Submitted by ariko over 14 years ago
Darvas Box
Submitted by cruzc about 14 years ago
Darvas Box
Submitted by free88x almost 15 years ago
All in one Chart Ploter
Submitted by shravan2964 over 11 years ago
*Level Breakout system*
Submitted by Tinych about 13 years ago

Indicator / Formula

Copy & Paste Friendly
_SECTION_BEGIN("Darvas Box");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}}   Open= %g    High= %g    Low= %g    Close= %g (%.1f%%)    Volume= " + WriteVal( V/1, 1.0 )  +
                        "\n"+"{{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
 
Plot( C, "Close", ParamColor("Color", colorPaleTurquoise ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
 
 
box1=0;
box2=0;
SetBarsRequired(10000,10000);
procedure fillDarvas(start,end,swap,top, bottom )
{
   for ( j = start; j < end; j++)
   {
       if( box1[j] == swap)
  box1[j]= top ;
else
box1[j]= bottom;
 
       if(box2[j] == swap)
  box2[j]= bottom ;
else
box2[j]= top;
   }
}
 
BoxArr1 = 0;
BoxArr2 = 0;
StateArray = 0;
DBuy = 0;
DSell = 0;
TopArray = 0;
BotArray = 0;
tick=0;
 
BoxTop = High[0];
BoxBot = Low[0];
swap=0;
state = 0;
BoxStart = 0;
 
for (i=0; i<BarCount; i++)
{
 if (state==5)
 {
  TopArray[i]=BoxTop;
  BotArray[i]=BoxBot;
  if (Low[i]<(BoxBot*(1-tick/100)) || High[i]>(BoxTop*(1+tick/100)))
  {
fillDarvas(BoxStart,i,swap,BoxTop,BoxBot);
 
  state = 1;
  swap =  !swap;
  BoxTop = High[i];
  BoxStart = i;
  }
 }
 else
 {
  if (High[i]<BoxTop)
  {
      if ((state<3) || (Low[i]>BoxBot))
      {
   state++;
   }
      else
   {
      state=3;
   }
      if (state==3)
      BoxBot=Low[i];
  }
  else
  {
      state=1;
      BoxTop=High[i];
  }
 }
 StateArray[i] = state;
}
 
fillDarvas(BoxStart,BarCount,swap,BoxTop,BoxBot);
Buy=Cover=H>Ref(box1,-1) AND H>Ref(box2,-1) AND Ref(statearray,-1)==5;
Short=Sell=L<Ref(box1,-1) AND L<Ref(box2,-1) AND Ref(statearray,-1)==5;
 
//Plot( box1, " RESI " , colorLime, styleLine );
//Plot( box2, " SUPP" , colorOrange, styleLine );
 
Plot( box1,"\n"+ "RESI " , colorLime, styleDots );
Plot( box2, " SUPP" , colorOrange, styleDots );
 
 
GfxSetOverlayMode(1);
GfxSelectFont("Aparajita", Status("pxheight")/10 );
GfxSetTextAlign( 6 );// center alignment
GfxSetTextColor( ColorHSB( 75, 75, 75 ) );
GfxSetBkMode(0); // transparent
//GfxTextOut( Name(), Status("pxwidth")/2, Status("pxheight")/30 );
 
GfxSelectFont("Aparajita", Status("pxheight")/20 );
//GfxTextOut( IndustryID(1), Status("pxwidth")/2, Status("pxheight")/7.5 );
 
GfxSelectFont("Aparajita", Status("pxheight")/25 );
// GfxTextOut( FullName(), Status("pxwidth")/2, Status("pxheight")/1.09 );
 

for( i = 1; i < BarCount; i++ )
z = (GetPerformanceCounter()/100)%256;

// here are the color options
anim=ColorHSB( ( i + z ) % 255, 256, Param("Brightness", 1, 1, 1, 1 ));
black=colorBlack;
grey=colorPaleBlue;
pink=colorPink;
green=colorGreen;
red=colorRed;
yellow=colorYellow;
turq=colorPaleTurquoise;
grey40=colorGrey40;

// and this is the bit you change to set your own preference
SetChartBkColor(pink);
RequestTimedRefresh(1);
 
_SECTION_END();

5 comments

2. kv_maligi

Good one.

Thanks
Viswanath

3. kacem

Thanks
Good one

4. ole

Just changing the color to the AFL library code does not really add much.

5. NTA

How to interprete this Pink Darvas box ?

6. awinashkale

Scanner is very good but please check value of Z Ln 112 Col 24 (I do not have coding knowledge), error is value of Z is not initiated. awinashkale@rediffmail.com

Leave Comment

Please login here to leave a comment.

Back