Darvas Box Formula for METASTOCK

background image



75(1'/,1('//

7+,63/8*,13/276$9$,/$%/(75(1'/,1(621/<)25/$679$/8(2)'$7$

7+(<&$1%(86(')25(;3/25$7,21

127)25%$&.7(67,1*

The Plugin takes four parameters

scTrendLine

(

HQGYDO,VWDUWYDO,endbar,startbar);

EndBar is the oldest barssince

StartBar is the recent barssince

Endval is the array value of the endbar

Startval is the array value of the startbar

(;$03/(

Plot

(

&ORVH,

""

,

1

,

64

);

start=

HHVBars

(

+,

20

);

end=

HHVBars

(

+,

100

);

LineSup =

scTrendLine

(

+,+,end,start);

Plot

( LineSup ,

""

,

5

,

1

);

start=

LLVBars

(

/,

20

);

end=

LLVBars

(

/,

100

);

LineInf=

scTrendLine

(

/,/,end,start);

Plot

( LineInf ,

""

,

4

,

1

);

(;$03/((;3/25$7,2172),1'75,$1*/(6

Plot

(

&ORVH,

""

,

1

,

64

);

start= (

PeakBars

(

+,

7

,

1

));

end= (

PeakBars

(

+,

7

,

2

));

LineSup =

scTrendLine

(

+,+,end,start);

Plot

( LineSup ,

""

,

5

,

1

);

start= (

TroughBars

(

/,

7

,

1

));

end= (

TroughBars

(

/,

7

,

2

));

LineInf=

scTrendLine

(

/,/,end,start);

Plot

( LineInf ,

""

,

4

,

1

);

)LOWHU = (LineSup-

Ref

(Linesup,-

1

)) <=

0

$1'

(Lineinf-

Ref

(Lineinf,-

1

)) >=

0

$1' LineSup>LineInf;

AddColumn

(

IIf

(

&>LineInf $1' &<LineSup,

1

,

0

),

"Triangle"

);

AddColumn

(

IIf

(

&<LineInf 25 &>LineSup,

1

,

0

),

"Breakout"

);

(;$03/((;3/25$7,2172),1'',9(5*(1&(

You can use the

scTrendLine

(

HQGYDO,VWDUWYDO,endbar,startbar);

with any indicator and try to find divergence with the close

start=

LLVBars

(

/,

20

);

end=

LLVBars

(

/,

100

);

background image

LineInf =

scTrendLine

(

/,/,end,start);

I=

OBV

();

start=

LLVBars

(I,

20

);

end=

LLVBars

(I,

100

);

LineI =

scTrendLine

(I,I,end,start);

)LOWHU = (LineI-

Ref

(LineI,-

1

)) >

0

$1'

(Lineinf-

Ref

(Lineinf,-

1

)) <=

0

;

AddColumn

(

IIf

(

&>LineInf,

1

,

0

),

"Divergence"

);



=,*=$*RQ+,*+/2:



these dll plot a zigzag line on HIGH LOW based on a percentage or points changes

this zigzag does not look in the future only for the last bars, so the zigzag line is not

drawn until the correct % ( or points) is reached

the dll takes one parameter, the value of change

the zigzag line is based on a percentage, for example 4 for 4% change

or the zigzag line is based on a point change , for example 3* ATR(3)



IRUSHUFHQWDJHFKDQJHWKHGOOLVFDOOHG

scZigHiLo

(

percentage change

)

IRUSRLQWVFKDQJHWKHGOOLVFDOOHG

scZigHiLoP

(

point change

)







(;$03/(



Plot

(

scZigHiLo

(

7

) ,

""

,

FRORU%OXH,

1

); // 7 % of change

Plot

(

&ORVH,

""

,

1

,

64

);

Plot

(

scZigHiLoP

(

3

*

ATR

(

3

)),

""

,

FRORU%OXH,

1

); // 3*atr(3) of change

Plot

(

&ORVH,

""

,

1

,

64

);



'$59$6%2;



First thanks to Jonf who has written the js code for the Darvas Box.

The plugin is

Darvas

(); it takes no parameters.



A better explanation of the construction of the Darvas Box is available at:

1)

<http://www.gerryco.com/tech/darvas.html>

2)

<http://www.wealth-lab.com/cgi-bin/WealthLab.DLL/editsystem?id=2814>

A dll must return one statement , in the case of the darvas.dll, the function

Darvas() alone returns the stateArray

but you can also extract other statements from the dll

For example at the end of the source code of darvas.dll there are

gSite.SetVariable( "BotArray", BotArray );

gSite.SetVariable( "TopArray", TopArray );

background image

gSite.SetVariable( "DBuy", DBuy );

gSite.SetVariable( "DSell", DSell );

gSite.SetVariable( "BoxArr1", BoxArr1 );

gSite.SetVariable( "BoxArr2", BoxArr2 );

gSite.SetVariable( "StateArray", StateArray );

return StateArray;

All of these statements can be given by the plugin.

You can visualize the box with the following code.

D=

Darvas

();

Plot

(

&,

""

,

1

,

64

);

Plot

(Boxarr1,

""

,D,

512

);

Plot

(Boxarr2,

""

,D,

512

);

Plot

(dbuy*

&,

""

,

5

,

2

);

Plot

(dsell*

&,

""

,

4

,

2

);

7LWOH=

"Darvas dll"

;

Note that a box is valid when the state is 5. The color allows you to see the valid box .

The Botarray and Toparray are the valid Bot and Top

'VHOODQG'EX\DUHWKHVLJQDOVZKHQD/RZLVEHORZWKH%RW$UUD\RUD+LJKDERYHWKH7RS$UUD\



'DUYDV forms "boxes" based on his studies of price actions.

1) Step1=If PriceHigh stops making new highs for 3 days, make the PriceHigh 3 days ago the BoxTop and

go to Step 2.

2) Step2= If PriceHigh breaks BoxTop, go back to Step 1. Otherwise, If PriceLow stops making new lows

for 3 days then Make the PriceLow the BoxBottom and go to Step 3.

3) Step3=Now that the BoxTop and BoxBottom are formed, we have a Darvas Box. The Darvas Box is

broken when today’s PriceHigh or PriceLow breaks BoxTop or BoxBottom.

7KH'DUYDV%R[LVEDVHGRQ6WDWHVDQGVWHSVWRIRUPWKHER[

7KHUHLVDSOXJLQWKDWDOORZXVWRFKDQJHWKHQXPEHURIVWHSVDQGWKDWJLYHVXVWKHSRVVLELOLW\WR

DGGDWLFNIRUWKH%UHDNRXWRI+LJKDERYH7RS$UUD\25/RZEHORZWKH%RW$UUD\

7KHQDPHLV

DarvasT

( ); the default value gives the

Darvas

( );

These default values are

DarvasT

(

3

,

0

);

You can modify them

For example:


D=

DarvasT

(

4

,

0.01

);

Plot

(&,

""

,

1

,

64

);

Plot

(Boxarr1,

""

,D,

512

);

Plot

(Boxarr2,

""

,D,

512

);

Plot

(dbuy*&,

""

,

5

,

2

);

Plot

(dsell*&,

""

,

4

,

2

);

7LWOH=

"Darvas dll"

;





,QYHUVH'$59$6%2;

Note the Darvas Box may be used to take a LONG position;

also in the plugin there is an Inverse Darvas Box for SHORT positions

You can visualize it with:

D=

InvDarvas

();

Plot

(

&,

""

,

1

,

64

);

background image

Plot

(Boxarr1,

""

,D,

512

);

Plot

(Boxarr2,

""

,D,

512

);

Plot

(dshort*

&,

""

,

5

,

2

);

Plot

(dcover*

&,

""

,

4

,

2

);

7LWOH=

"Inv Darvas dll"

;

'VHOODQG'EX\DUHWKHVLJQDOVZKHQD/RZLVEHORZWKH%RW$UUD\RUD+LJKDERYHWKH7RS$UUD\

'$59$6%2;RQ$55$<



you can also built any DarvasBox on Any indicators with the plugin

DarvasA

(

Array

);

for example on the

AccDist

().

Plot

(

AccDist

(),

""

,

1

,

1

);

D=

DarvasA

(

AccDist

() );

Plot

(Boxarr1,

""

,D,

512

);

Plot

(Boxarr2,

""

,D,

512

);

Plot

(dbuy*

&,

""

,

5

,

2

);

Plot

(dsell*

&,

""

,

4

,

2

);

7LWOH=

"Darvas dll"

;

An other example with CLOSE +++

Plot

(

&ORVH,

""

,

1

,

64

);

D=

DarvasA

(

&);

Plot

(Boxarr1,

""

,D,

512

);

Plot

(Boxarr2,

""

,D,

512

);

Plot

(dbuy*

&,

""

,

5

,

2

);

Plot

(dsell*

&,

""

,

4

,

2

);

7LWOH=

"Darvas dll"

;

And if you want you can add one parameter at Darvas Array

it is the tick to get a Breakout (BO default is zero)

for example

Plot

(

&ORVH,

""

,

1

,

64

);

D=

DarvasA

(

&,

0.01

); means that you need a BO of 1% above or below the box to get a buy or sell signal

'VHOODQG'EX\DUHWKHVLJQDOVZKHQD&/26(LVEHORZWKH%RW$UUD\RUD&/26(DERYHWKH7RS$UUD\

The same thing is possible with Inverse Darvas BOX

Example

D=

InvDarvasA

(

&,

0.01

);

Plot

(

&,

""

,

1

,

64

);

Plot

(Boxarr1,

""

,D,

512

);

Plot

(Boxarr2,

""

,D,

512

);

Plot

(dshort*

&,

""

,

FRORU5HG,

2

);

Plot

(dcover*

&,

""

,

FRORU*UHHQ,

2

);

7LWOH=

"Darvas dll"

;






Wyszukiwarka

Podobne podstrony:
Formula for Success
Experts & Indicators for Metastock
Simplified Formula for Estimating Natural Convection Heat Tr
Jim Rohn The Formula For Failure And Success
Satie Jack in the Box, Pantomime for piano (1899)
Knutson Weyl character formula for U(n) and Gel fand Cetlin patterns (2001) [sharethefiles com]
Metastock Formule X Trading System fixed
Metastock Formulas H
Metastock Formulas U
Metastock Formulas T
Metastock Formulas D 1
Metastock Formulas O
Metastock Professional 10 0 Formula Primer
Metastock Formulas P
2 Metastock - Darvas Flow Chart, Giełda nieuporządkowane
Metastock Formulas G
Metastock Formulas S

więcej podobnych podstron