MetaStock™ Zone Forum & FAQ Artykuły Linki Elliott Waves EasyLanguage™ Zone

A B C D E F G H I J K L M N O P R S T U V W Y Z #

Darvas Box - Classic by Matthew Ford
These formulas were developed by Matthew Ford. They provide a method of plotting
the parameters of the Classic Darvas Box in Metastock. If you are unsure about how to copy and paste these in Metastock, please follow this link for detailed instructions. (Right click on the link, and select SAVE TARGET AS. This will download the PDF file.) The first formula is "Darvas High" which identifies new period highs followed by three lower highs.

Darvas High

Periods:=100; { this is the only place the number of periods is set}
If((Ref(H,-3) >= Ref(HHV(H,Periods),-4))
AND Ref(H,-3) > Ref(H,-2)
AND Ref(H,-3) > Ref(H,-1)
AND Ref(H,-3) > H,
Ref(H,-3), PREVIOUS );



New Darvas High

dh:= Fml("Darvas High");
def:=IsDefined(dh) AND IsDefined(Ref(dh,-2));
(def AND Ref(def,-1)=0) + (dh AND Ref(dh,-1)<>dh);



New Darvas Low

dh:= Fml("Darvas High");
ndl:=(Ref(L,-3) < Ref(L,-2) AND Ref(L,-3) < Ref(L,-1)
AND Ref(L,-3) < L AND Ref(H,-2) < dh
AND Ref(H,-1) < dh AND H < dh);
def:=IsDefined(dh) AND IsDefined(Ref(dh,-1));
(def AND Ref(def,-1)=0)+ (ndl AND (Ref(ndl,-1) < 1))



Darvas Low

If( Fml("New Darvas Low") , Ref(L,-3), PREVIOUS);



Darvas Box End

end:=BarsSince(Fml("New Darvas High")) <
BarsSince(Ref(Fml("New Darvas Low"),-1));
def:=IsDefined(end) AND IsUndefined(Ref(end,-1));
(def AND Ref(def,-1)=0)+ (end AND Fml("New Darvas Low"))


We are now in a position to plot the High and Low of the Darvas box.

Darvas Box High

dbe:=Fml("Darvas Box End");
dbhi:=If(dbe AND IsDefined(Ref(dbe,-1)), Fml("Darvas High"), PREVIOUS);



Darvas Box Low

dbe:=Fml("Darvas Box End");
bl:=If(dbe AND IsDefined(Ref(dbe,-1)), Fml("Darvas Low"), PREVIOUS);


Next we need to develop the Sell Indicator. First we look for possible sell signals.

Darvas Poss Sell

dsl:=L < Fml("Darvas Box Low");
def:=IsDefined(dsl) AND IsDefined(Ref(dsl,-1));
(def AND Ref(def,-1)=0)+(dsl AND (Ref(dsl,-1)<dsl))



Darvas Sell

sell:=BarsSince(Fml("Darvas Box End")) <
BarsSince(Fml("Darvas Poss Sell"));
def:=IsDefined(sell) AND IsDefined(Ref(sell,-1));
((def AND Ref(def,-1)=0) + (sell = 0 AND Ref(sell,-1)=1))



Darvas Buy

dc:= Fml("darvas sell");

{ change the following line to H>Fml("Darvas Box High") .. for Classic Darvas }

db:= C>Fml("Darvas Box High") AND
(BarsSince(Fml("darvas box end")) < BarsSince(Fml("darvas sell")));
dto:=If(db AND PREVIOUS=0,1,If(dc,0,PREVIOUS));
dto AND (Ref(dto,-1) =0)



Using these formulas it is simple to create a new Metastock Expert Advisor for Darvas. Create a New advisor, call it Darvas and fill in the following tabs

For the Trends tab I used the somewhat arbitrary



C >= Fml("Darvas Box Low");


C < Fml("Darvas Box Low");

For Symbols tab use

Buy: up arrow graphic, formula Fml("Darvas Buy")

Sell: down arrow graphic, formula Fml("Darvas Sell")

For Alerts tab use

Buy: formula Fml("Darvas Buy") and some suitable text message such as "buy on next open"

Sell: formula Fml("Darvas Sell") and some suitable text message such as "sell on next open"


Darvas Box - Classic by Matthew Ford
(weird generates these signals : \ - Peter)  
Source / From: TOP  

Equis and MetaStock® and MetaStock Professional® are registered trademarks of Equis International. Achelis Binary Wave®, The DownLoader®,
Expert Advisor®, OptionScope®, Quotecenter® and Smart Charts® are trademarks of Equis International, a Thomson Reuters company.

TradeStation® Pro, TradeStation® 2000i, OptionStation®, SuperCharts®, PowerEditor® and EasyLanguage®
are registered trademarks of TradeStation Technologies, Inc. Other names and marks referred to are the property of their respective owners.

All information provided on this website is for educational purposes only. Trading involves risk, including possible loss of principal and other losses.

Ten i inne materiały na tej stronie zostały zamieszczone zostały jedynie w celach edukacyjnych, nie ponoszę żadnej odpowiedzialno¶ci za ich stosowanie.

Gra na giełdzie i rynkach walutowych (FOREX) niesie ze sob± ryzyko poważnych strat finansowych!