_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();

0 komentar:

Posting Komentar

statistik web

Flag Counter
Diberdayakan oleh Blogger.

Buku Penulis

ALLIGATOR TRAINING EVENT

ALLIGATOR TRAINING EVENT

PUBLIC CHANNEL

FACEBOOK GROUP

WA PREMIUM