You are on page 1of 25

Diễn giải các trading system trong MetaStock

By Rich From Stock™®

Equis - Bollinger Bands


Note: This is a good example of the cross() function and the top and bottom Bollinger band
functions. This system enters long/short when the close has been below/above and then crosses
above/below the lower/upper Bollinger band. Long/short positions are closed when the close
crosses above/below the opposite band.
Công thức xác định dấu hiệu mua (Buy signal):
Cross(CLOSE, BBandBot(CLOSE, 20, SIMPLE, 2))
Mua khi giá đóng cửa cắt đường bollinger bandbottom từ dưới lên.
Công thức xác định dấu hiệu bán:
Cross(CLOSE, BBandTop(CLOSE, 20, SIMPLE, 1))
Bán khi giá đóng cửa cắt đường bollingerband top từ trên xuống.
Công thức Sell short:
Cross( BBandTop(CLOSE, 20, SIMPLE, 2), CLOSE)
Công thức Buy to cover:
Cross( BBandBot(CLOSE, 20, SIMPLE, 1), CLOSE)

Equis - Bollinger Bands - Expert System


Công thức xác định dấu hiệu mua (Buy signal):
Abs(13-BarsSince(Ref(C<BBandBot(C,20,S,2),-1) AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14)<35,-1)))<=7 AND
Ref(C<BBandBot(C,20,S,1.25),-1) AND Ref(C>BBandBot(C,20,S,2),-1) AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14),-1)>ValueWhen(1,Ref(C<BBandBot(C,20,S,2),-1) AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14)<35,-1),Ref(RSI(14),-1)) AND
BarsSince(C>BBandBot(C,20,S,1.25))<BarsSince(Ref(C<BBandBot(C,20,S,2),-1)
AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14)<35,-1) ) AND
BarsSince(C<BBandBot(C,20,S,2))>BarsSince(C>BBandBot(C,20,S,1.25))
Diễn giải:

Công thức xác định dấu hiệu bán:


Abs(13-BarsSince(Ref(C>BBandTop(C,20,S,2),-1) AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14)>65,-1)))<=7 AND
Ref(C>BBandTop(C,20,S,1.25),-1) AND Ref(C<BBandTop(C,20,S,2),-1) AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14),-1)<ValueWhen(1,Ref(C>BBandTop(C,20,S,2),-1) AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14)>65,-1),Ref(RSI(14),-1)) AND
BarsSince(C<BBandTop(C,20,S,1.25))<BarsSince(Ref(C>BBandTop(C,20,S,2),-1)
AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14)>65,-1)) AND
BarsSince(C>BBandTop(C,20,S,2))>BarsSince(C<BBandTop(C,20,S,1.25))
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Công thức Sell short:
Abs(13-BarsSince(Ref(C>BBandTop(C,20,S,2),-1) AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14)>65,-1)))<=7 AND
Ref(C>BBandTop(C,20,S,1.25),-1) AND Ref(C<BBandTop(C,20,S,2),-1) AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14),-1)<ValueWhen(1,Ref(C>BBandTop(C,20,S,2),-1) AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14)>65,-1),Ref(RSI(14),-1)) AND
BarsSince(C<BBandTop(C,20,S,1.25))<BarsSince(Ref(C>BBandTop(C,20,S,2),-1)
AND
H<=Ref(H,-1) AND Ref(H,-1)>=Ref(H,-2) AND
Ref(RSI(14)>65,-1)) AND
BarsSince(C>BBandTop(C,20,S,2))>BarsSince(C<BBandTop(C,20,S,1.25))
Công thức Buy to cover:
Abs(13-BarsSince(Ref(C<BBandBot(C,20,S,2),-1) AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14)<35,-1)))<=7 AND
Ref(C<BBandBot(C,20,S,1.25),-1) AND Ref(C>BBandBot(C,20,S,2),-1) AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14),-1)>ValueWhen(1,Ref(C<BBandBot(C,20,S,2),-1) AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14)<35,-1),Ref(RSI(14),-1)) AND
BarsSince(C>BBandBot(C,20,S,1.25))<BarsSince(Ref(C<BBandBot(C,20,S,2),-1)
AND
L>=Ref(L,-1) AND Ref(L,-1)<=Ref(L,-2) AND
Ref(RSI(14)<35,-1) ) AND
BarsSince(C<BBandBot(C,20,S,2))>BarsSince(C>BBandBot(C,20,S,1.25))

Equis - CCI +100/-100 Crossover


Note: Enter long/short when the 14-period CCI crosses above/below -100/+100.
Công thức xác định dấu hiệu mua (Buy signal):
Cross( CCI(14),-100)
Công thức xác định dấu hiệu bán:
Cross( 100, CCI(14))
Công thức Sell short:
Cross( 100, CCI(14))
Công thức Buy to cover:
Cross( CCI(14),-100)

Equis - Chande Momentum Oscillator - Expert System


Note: This system is patterned after the Equis - Chande Momentum Oscillator Expert Advisor. It
triggers buy and sell signals when the CMO crosses its 9-day moving average after reaching
overbought/oversold territory (+/- 50).
Công thức xác định dấu hiệu mua (Buy signal):
bcon:=Cross(CMO(C,20),Mov(CMO(C,20 ),9,S));
scon:=Cross(Mov(CMO(C,20 ),9,S),CMO(C,20));
bset:=Cross(-50,CMO(C,20));
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
sset:=Cross(CMO(C,20),50);

setup:=If(bset,1, If(sset,-1,PREV));
cross(If(setup=1 AND bcon,1,If(setup=-1 AND scon,-1,PREV)),0.5)
Công thức xác định dấu hiệu bán:
bcon:=Cross(CMO(C,20),Mov(CMO(C,20 ),9,S));
scon:=Cross(Mov(CMO(C,20 ),9,S),CMO(C,20));
bset:=Cross(-50,CMO(C,20));
sset:=Cross(CMO(C,20),50);

setup:=If(bset,1, If(sset,-1,PREV));
cross(-0.5,If(setup=1 AND bcon,1,If(setup=-1 AND scon,-1,PREV)))
Công thức Sell short:
bcon:=Cross(CMO(C,20),Mov(CMO(C,20 ),9,S));
scon:=Cross(Mov(CMO(C,20 ),9,S),CMO(C,20));
bset:=Cross(-50,CMO(C,20));
sset:=Cross(CMO(C,20),50);

setup:=If(bset,1, If(sset,-1,PREV));
cross(-0.5,If(setup=1 AND bcon,1,If(setup=-1 AND scon,-1,PREV)))
Công thức Buy to cover:
bcon:=Cross(CMO(C,20),Mov(CMO(C,20 ),9,S));
scon:=Cross(Mov(CMO(C,20 ),9,S),CMO(C,20));
bset:=Cross(-50,CMO(C,20));
sset:=Cross(CMO(C,20),50);

setup:=If(bset,1, If(sset,-1,PREV));
cross(If(setup=1 AND bcon,1,If(setup=-1 AND scon,-1,PREV)),0.5)

Equis - Classic M.A. Penetration w/Opt


Note: This system buys/sells when the closing price goes above/below a moving average of the
closing price. Select "Optimize" to specify the periods in moving average.
Công thức xác định dấu hiệu mua (Buy signal):
C > Mov(C,opt1,E) AND Ref(C,-1) <= Ref( Mov(C,opt1,E), -1)
Công thức xác định dấu hiệu bán:
C < Mov(C,opt1,E)
Công thức Sell short:
C < Mov(C,opt1,E) AND Ref(C,-1) >= Ref( Mov(C,opt1,E), -1)
Công thức Buy to cover:
C > Mov(C,opt1,E)

Equis - Directional Movement w/Opt


Note: This system buys when the +DI rises above the -DI. It sells when the +DI falls below the -
DI. Select "Optimize" to set the periods in the DMI.
Công thức xác định dấu hiệu mua (Buy signal):
PDI(opt1) > MDI(opt1)
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Công thức xác định dấu hiệu bán:
PDI(opt1) < MDI(opt1)
Công thức Sell short:
PDI(opt1) < MDI(opt1)
Công thức Buy to cover:
PDI(opt1) > MDI(opt1)

Equis - MACD w/Optimization


Note: Buys/sells when the MACD goes above/below its trigger. Select "Optimize" to specify the
periods in the trigger.
Công thức xác định dấu hiệu mua (Buy signal):
MACD() > Mov( MACD(), opt1, EXPONENTIAL)
Công thức xác định dấu hiệu bán:
MACD() < Mov( MACD(), opt1, EXPONENTIAL)
Công thức Sell short:
MACD() < Mov( MACD(), opt1, EXPONENTIAL)
Công thức Buy to cover:
MACD() > Mov( MACD(), opt1, EXPONENTIAL)

Equis - MACD - Expert System


Note: This system back-tests for buys/sells when the MACD goes above/below its trigger line,
which is a 9-period Exponential Moving Average of the MACD. It will also use an oversold or
overbought condition for the entry or exit if the crossover doesn't exist. This system's formulas
match those used in the Equis - MACD Expert Advisor.

Note: Exponential indicators are sensitive to the amount of data loaded, so the buy/sell signals
may vary if you vary the amount of data loaded.
Công thức xác định dấu hiệu mua (Buy signal):
MACD() > Mov( MACD(), 9, EXPONENTIAL)

OR

{Oversold condtion}
OscP(12,26,E,%) >= 3 AND ROC(OscP(12,26,E,%),5,$) =
Sum(Abs(ROC(OscP(12,26,E,%),1,$)),5)
Công thức xác định dấu hiệu bán:
MACD() < Mov( MACD(), 9, EXPONENTIAL)

OR

{Overbought condtion}
OscP(12,26,E,%) >= 3 AND ROC(OscP(12,26,E,%),5,$) =
Sum(Abs(ROC(OscP(12,26,E,%),1,$)),5)
Công thức Sell short:
MACD() < Mov( MACD(), 9, EXPONENTIAL)
Diễn giải các trading system trong MetaStock
By Rich From Stock™®

OR

{Overbought condtion}
OscP(12,26,E,%) >= 3 AND ROC(OscP(12,26,E,%),5,$) =
Sum(Abs(ROC(OscP(12,26,E,%),1,$)),5)
Công thức Buy to cover:
MACD() > Mov( MACD(), 9, EXPONENTIAL)

OR

{Oversold condtion}
OscP(12,26,E,%) >= 3 AND ROC(OscP(12,26,E,%),5,$) =
Sum(Abs(ROC(OscP(12,26,E,%),1,$)),5)

Equis - Momentum Indicators - Expert System


Note: his system test looks for a buy/sell signal from either of four momentum indicators, the CCI-
Standard, the RSI, the MACD, and the Stochastic Oscillator. It also trades on a simultaneous
Overbought/Oversold condition from three of these (CCI-Standard, RSI, and Stochastic Oscillator)
if the cross-over signals are not present.

It reverses the current position when these signals occur, so it is always in the market. This
system basically matches the Equis - Momentum Indicators Expert.

If you'd prefer to use the Equis version of the CCI indicator, you can change every occurrence of
CCI (in the formulas to CCIE).
Công thức xác định dấu hiệu mua (Buy signal):
(
Cross(MACD(), Mov(MACD(),9,S)) OR
Cross(CCI(14),-100) OR
Cross(RSI(14),30) OR
Cross(Stoch(5,3),20 )
)

OR

(
(Stoch(5,3) > 80)
AND
(RSI(14) > 70)
AND
(CCI(14) > 100)
)
Công thức xác định dấu hiệu bán:
(
Cross(Mov(MACD(),9,S),MACD()) OR
Cross(100,CCI(14)) OR
Cross(70,RSI(14)) OR
Cross(80,Stoch(5,3) )
)

OR
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
(
(Stoch(5,3) < 20)
AND
(RSI(14) < 30)
AND
(CCI(14) < -100)
)
Công thức Sell short:
(
Cross(Mov(MACD(),9,S),MACD()) OR
Cross(100,CCI(14)) OR
Cross(70,RSI(14)) OR
Cross(80,Stoch(5,3) )
)

OR

(
(Stoch(5,3) < 20)
AND
(RSI(14) < 30)
AND
(CCI(14) < -100)
)
Công thức Buy to cover:
(
Cross(MACD(), Mov(MACD(),9,S)) OR
Cross(CCI(14),-100) OR
Cross(RSI(14),30) OR
Cross(Stoch(5,3),20 )
)

OR

(
(Stoch(5,3) > 80)
AND
(RSI(14) > 70)
AND
(CCI(14) > 100)
)

Equis - Moving Average Crossovers w/Opt


Note: Buys/sells when a moving average of "OPT1" periods goes above/below a moving average
of "OPT2" periods. Select "Optimize" to specify periods in the moving averages.
Công thức xác định dấu hiệu mua (Buy signal):
Mov(C,opt1,E) > Mov(C,opt2,E)
Công thức xác định dấu hiệu bán:
Mov(C,opt1,E) < Mov(C,opt2,E)
Công thức Sell short:
Mov(C,opt1,E) < Mov(C,opt2,E)
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Công thức Buy to cover:
Mov(C,opt1,E) > Mov(C,opt2,E)

Equis - Negative Volume Index w/Opt


Note: This system buys/sells when the NVI crosses above/below its own moving average (of
OPT1 periods). Select "Optimize" to set the periods in the moving average of the NVI.
Công thức xác định dấu hiệu mua (Buy signal):
NVI() > Mov(NVI(), opt1, EXPONENTIAL)
Công thức xác định dấu hiệu bán:
NVI() < Mov(NVI(), opt1, EXPONENTIAL)
Công thức Sell short:
NVI() < Mov(NVI(), opt1, EXPONENTIAL)
Công thức Buy to cover:
NVI() > Mov(NVI(), opt1, EXPONENTIAL)

Equis - Relative Strength Index - Expert System


Note: This system buys long when the Relative Strength Index crosses above 30. It sells short
when the Relative Strength Index crosses below 70. No optimization of the Periods is used. In fact
the Periods value is set to the default value used in MetaStock, i.e., 14-periods.

Note: Exponential indicators, such as the RSI, are sensitive to the amount of data loaded, so the
buy/sell signals may vary if you vary the amount of data loaded.
Công thức xác định dấu hiệu mua (Buy signal):
Cross( RSI(14), 30 )
Công thức xác định dấu hiệu bán:
Cross( 70, RSI(14))
Công thức Sell short:
Cross( 70, RSI(14))
Công thức Buy to cover:
Cross( RSI(14), 30 )

Equis - RSI 70/30 w/Optimization


Note: This system buys long when a OPT1 period Relatve Strength Index crosses above 30. It
sells short when a OPT1 period Relatve Strength Index crosses below 70.
Công thức xác định dấu hiệu mua (Buy signal):
Cross( RSI(opt1), 30 )
Công thức xác định dấu hiệu bán:
Cross( 70, RSI(opt1))
Công thức Sell short:
Cross( 70, RSI(opt1))
Công thức Buy to cover:
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Cross( RSI(opt1), 30 )

Equis - Stochastic 20/80 w/Optimization


Note: This system buys long when a 5%K3%D Stochastic rises above OPT1 (e.g., 20). It sells
short when the Stochastic falls through OPT2 (e.g., 80). It also closes positions when it enters the
opposing zones (e.g., closes long when gets below OPT1).
Công thức xác định dấu hiệu mua (Buy signal):
Ref( Stoch(5,3), -1) <= opt1 AND Stoch(5,3) > opt1
Công thức xác định dấu hiệu bán:
Stoch(5,3) < opt1
Công thức Sell short:
Ref(Stoch(5,3), -1) >= opt2 AND Stoch(5,3) < opt2
Công thức Buy to cover:
Stoch(5,3) > opt2

Equis - Stochastic Oscillator - Expert System


Note: This System Test uses classical interpretations of a slow stochastic to generate buy and sell
signals.

A buy signal is initiated when the stochastic crosses 20 to the upside. A sell signal is generated
when the stochastic crosses 80 to the downside. Buy and sell signals are only generated in the
direction of the major trend. (A buy can only occur if the closing price is above it's 200-period
exponential moving average. A sell can only occur if the closing price is below it's 200-period
exponential moving average.)
Công thức xác định dấu hiệu mua (Buy signal):
Cross(Stoch(5,3),20) AND
C>Mov(C,200,E)
Công thức xác định dấu hiệu bán:
Cross(80,Stoch(5,3)) AND
C<Mov(C,200,E)
Công thức Sell short:
Cross(80,Stoch(5,3)) AND
C<Mov(C,200,E)
Công thức Buy to cover:
Cross(Stoch(5,3),20) AND
C>Mov(C,200,E)

Equis - Trend Analysis - Expert System


Note: This System Test uses trend following indicators to indicate long and short positions. A 200-
period exponential moving average of the close determines the current long term trend. Three
different signals can be generated, if they agree with the long term trend.

1) +DI crossing -DI and ADXR > 25


A buy signal occurs when the Directional Movement +DI crosses the Directional Movement -DI
and the ADXR is above 25.
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
2) Aroon cross system
Identifies the crossing of the Aroon Up through the Aroon Down with a trend confirmation from the
5-period slope of a 144-period slope of the Close.

3) Classic MACD system


A long position is indicated when the MACD crosses above its signal line.
Công thức xác định dấu hiệu mua (Buy signal):
AroonBuy:=Cross(AroonUp(14), AroonDown(14)) AND
LinRegSlope(C,144)>0 AND
LinRegSlope( LinRegSlope(C,144),5)>0 AND
C>Mov(C,200,E);

DrctnlIndicatorBuy:=Cross( PDI(14)-MDI(14) ,0) AND ADXR(14)>25 AND


LinRegSlope(C,144)>0 AND
LinRegSlope( LinRegSlope(C,144),5)>0 AND
C>Mov(C,200,E);

MACDBuy:=Cross(MACD(),Mov(MACD(),9,E))AND
LinRegSlope(C,144)>0 AND
LinRegSlope( LinRegSlope(C,144),5)>0 AND
C>Mov(C,200,E);

AroonBuy or DrctnlIndicatorBuy or MACDBuy


Công thức xác định dấu hiệu bán:
C<Mov(C,200,E)
Công thức Sell short:
C<Mov(C,200,E)
Công thức Buy to cover:
AroonBuy:=Cross(AroonUp(14), AroonDown(14)) AND
LinRegSlope(C,144)>0 AND
LinRegSlope( LinRegSlope(C,144),5)>0 AND
C>Mov(C,200,E);

DrctnlIndicatorBuy:=Cross( PDI(14)-MDI(14) ,0) AND ADXR(14)>25 AND


LinRegSlope(C,144)>0 AND
LinRegSlope( LinRegSlope(C,144),5)>0 AND
C>Mov(C,200,E);

MACDBuy:=Cross(MACD(),Mov(MACD(),9,E))AND
LinRegSlope(C,144)>0 AND
LinRegSlope( LinRegSlope(C,144),5)>0 AND
C>Mov(C,200,E);

AroonBuy or DrctnlIndicatorBuy or MACDBuy

Equis - Volatility Analysis - Expert System


Note: This System Test analyzes the volatility of your securities using statistical volatility and
Bollinger Bands. The formula used to calculate statistical volatility is the widely used among option
traders and is based on the width of the Bollinger Bands

Specifically the test uses Bollinger Bands in combination with volume and a candlestick pattern to
initiate long and short positions based on upside and downside breakouts.
Diễn giải các trading system trong MetaStock
By Rich From Stock™®

These breakout points are used to enter long and short positions but not exit them. For this reason
both a maximum loss and trailing stop are used to exit these positions.
Công thức xác định dấu hiệu mua (Buy signal):
BarsSince(((BBandTop(C,20,E,2)-BBandBot(C,20,E,2))-
(Mov(BBandTop(C,20,E,2)-
BBandBot(C,20,E,2),90,S)))/(Mov(BBandTop(C,20,E,2)-
BBandBot(C,20,E,2),90,S))*100<-40)<=5 AND EngulfingBull() AND
V>1.25*Mov(V,20,S)
Công thức xác định dấu hiệu bán:

Công thức Sell short:


BarsSince(((BBandTop(C,20,E,2)-BBandBot(C,20,E,2))-
(Mov(BBandTop(C,20,E,2)-
BBandBot(C,20,E,2),90,S)))/(Mov(BBandTop(C,20,E,2)-
BBandBot(C,20,E,2),90,S))*100<-40)<=5 AND EngulfingBear() AND
V>1.25*Mov(V,20,S)
Công thức Buy to cover:

P & F Pattern System


Note: This system looks for following point and figure patterns: triple tops and bottoms, bearish
and bullish triangles, bearish and bullish signals, and bearish signal reversed patterns. When any
of these is found, a trade is taken and then held until the prices draw near the appropriate trend
channel line and then pulls back. That is, long trades are held until the price moves to the
resistance line and then start to fall. Short trades are held until the prices have dropped near to
the support line and then start to climb.
Công thức xác định dấu hiệu mua (Buy signal):
data:= FmlVar("** P & F Values **","DATA");
box:= LastValue(FmlVar("** P & F Values **","BOX"));
reva:= LastValue(FmlVar("** P & F Values **","REVERSAL"));
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

pbox:=Ref(ExtFml("PointFig.pointfig",data,box,reva,thresh,box),-1);
change:=ExtFml("PointFig.pointfig",data,box,reva,thresh,rev)=1;
ccl:=ExtFml("PointFig.pointfig",data,box,reva,thresh,col);
newo:=change AND ccl=-1;
newx:=change AND ccl=1;

no1:=ValueWhen(1,newo,pbox);
no2:=ValueWhen(2,newo,pbox);
no3:=ValueWhen(3,newo,pbox);
nx1:=ValueWhen(1,newx,pbox);
nx2:=ValueWhen(2,newx,pbox);
nx3:=ValueWhen(3,newx,pbox);

dt:=Cross(ExtFml("PointFig.pointfig",data,box,reva,thresh,box), no1);
tt:= dt AND (no1=no2);
Blsig:= dt AND (nx1 >nx2);
Bltri:= blsig AND (no1 < no2) AND (nx2 > nx3);
Brsigr:= dt AND (no1 < no2) AND (no2 < no3) AND
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
(nx1 < nx2) AND (nx2 < nx3);

tt OR blsig OR bltri OR brsigr


Công thức xác định dấu hiệu bán:
data:= FmlVar("** P & F Values **","DATA");
box:= LastValue(FmlVar("** P & F Values **","BOX"));
reva:= LastValue(FmlVar("** P & F Values **","REVERSAL"));
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

ExtFml("PointFig.pointfig",data,box,reva,thresh,box)+1>=ExtFml("PointFig.pointfig",data,b
ox,reva,thresh,top) AND ROC(C,1,$)<0
Công thức Sell short:
data:= FmlVar("** P & F Values **","DATA");
box:= LastValue(FmlVar("** P & F Values **","BOX"));
reva:= LastValue(FmlVar("** P & F Values **","REVERSAL"));
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

pbox:=Ref(ExtFml("PointFig.pointfig",data,box,reva,thresh,box),-1);
change:=ExtFml("PointFig.pointfig",data,box,reva,thresh,rev)=1;
ccl:=ExtFml("PointFig.pointfig",data,box,reva,thresh,col);
newo:=change AND ccl=-1;
newx:=change AND ccl=1;

no1:=ValueWhen(1,newo,pbox);
no2:=ValueWhen(2,newo,pbox);
no3:=ValueWhen(3,newo,pbox);
nx1:=ValueWhen(1,newx,pbox);
nx2:=ValueWhen(2,newx,pbox);
nx3:=ValueWhen(3,newx,pbox);

db:=Cross(nx1,ExtFml("PointFig.pointfig",data,box,reva,thresh,box));
tb:= db AND (nx1=nx2);
brtri:= db AND (nx1 > nx2) AND
(no1 < no2) AND (no2 < no3);
brsig:= db AND (no1 < no2);

tb OR brtri OR brsig
Công thức Buy to cover:
data:= FmlVar("** P & F Values **","DATA");
box:= LastValue(FmlVar("** P & F Values **","BOX"));
reva:= LastValue(FmlVar("** P & F Values **","REVERSAL"));
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

ExtFml("PointFig.pointfig",data,box,reva,thresh,box)-
1<=ExtFml("PointFig.pointfig",data,box,reva,thresh,bot) AND ROC(C,1,$)>0

P & F Pattern System w/ opt


Note: This system looks for following point and figure patterns: triple tops and bottoms, bearish
and bullish triangles, bearish and bullish signals, and bearish signal reversed patterns. When any
of these is found, a trade is taken and then held until the prices draw near the appropriate trend
channel line and then pulls back. That is, long trades are held until the price moves to the
resistance line and then start to fall. Short trades are held until the prices have dropped near to
the support line and then start to climb.
Diễn giải các trading system trong MetaStock
By Rich From Stock™®

The box size and reversal amounts are optimized. Therefore, the signals found by any test may
not match the signals found by the P & F expert advisors.
Công thức xác định dấu hiệu mua (Buy signal):
data:= FmlVar("** P & F Values **","DATA");
box:= opt1;
reva:= opt2;
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

pbox:=Ref(ExtFml("PointFig.pointfig",data,box,reva,thresh,box),-1);
change:=ExtFml("PointFig.pointfig",data,box,reva,thresh,rev)=1;
ccl:=ExtFml("PointFig.pointfig",data,box,reva,thresh,col);
newo:=change AND ccl=-1;
newx:=change AND ccl=1;

no1:=ValueWhen(1,newo,pbox);
no2:=ValueWhen(2,newo,pbox);
no3:=ValueWhen(3,newo,pbox);
nx1:=ValueWhen(1,newx,pbox);
nx2:=ValueWhen(2,newx,pbox);
nx3:=ValueWhen(3,newx,pbox);

dt:=Cross(ExtFml("PointFig.pointfig",data,box,reva,thresh,box), no1);
tt:= dt AND (no1=no2);
Blsig:= dt AND (nx1 >nx2);
Bltri:= blsig AND (no1 < no2) AND (nx2 > nx3);
Brsigr:= dt AND (no1 < no2) AND (no2 < no3) AND
(nx1 < nx2) AND (nx2 < nx3);

tt OR blsig OR bltri OR brsigr


Công thức xác định dấu hiệu bán:
data:= FmlVar("** P & F Values **","DATA");
box:= opt1;
reva:= opt2;
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

ExtFml("PointFig.pointfig",data,box,reva,thresh,box)+1>=ExtFml("PointFig.pointfig",data,b
ox,reva,thresh,top) AND ROC(C,1,$)<0
Công thức Sell short:
data:= FmlVar("** P & F Values **","DATA");
box:= opt1;
reva:= opt2;
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

pbox:=Ref(ExtFml("PointFig.pointfig",data,box,reva,thresh,box),-1);
change:=ExtFml("PointFig.pointfig",data,box,reva,thresh,rev)=1;
ccl:=ExtFml("PointFig.pointfig",data,box,reva,thresh,col);
newo:=change AND ccl=-1;
newx:=change AND ccl=1;

no1:=ValueWhen(1,newo,pbox);
no2:=ValueWhen(2,newo,pbox);
no3:=ValueWhen(3,newo,pbox);
nx1:=ValueWhen(1,newx,pbox);
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
nx2:=ValueWhen(2,newx,pbox);
nx3:=ValueWhen(3,newx,pbox);

db:=Cross(nx1,ExtFml("PointFig.pointfig",data,box,reva,thresh,box));
tb:= db AND (nx1=nx2);
brtri:= db AND (nx1 > nx2) AND
(no1 < no2) AND (no2 < no3);
brsig:= db AND (no1 < no2);

tb OR brtri OR brsig
Công thức Buy to cover:
data:= FmlVar("** P & F Values **","DATA");
box:= opt1;
reva:= opt2;
thresh:=LastValue(FmlVar("** P & F Values **","THRESHOLD"));

ExtFml("PointFig.pointfig",data,box,reva,thresh,box)-
1<=ExtFml("PointFig.pointfig",data,box,reva,thresh,bot) AND ROC(C,1,$)>0

PS Adaptive Moving Average


Note:
Công thức xác định dấu hiệu mua (Buy signal):
Sig:=If(Cum(1)=5,Ref(C,-1)+(Pwr((Abs((C-Ref(C,-
4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-(2/31))+(2/31),2))*(C-Ref(C,-
1)),PREV+(Pwr((Abs((C-Ref(C,-4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-
(2/31))+(2/31),2))*(C-PREV));

Sig>Ref(Sig,-1)
Công thức xác định dấu hiệu bán:
Sig:=If(Cum(1)=5,Ref(C,-1)+(Pwr((Abs((C-Ref(C,-
4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-(2/31))+(2/31),2))*(C-Ref(C,-
1)),PREV+(Pwr((Abs((C-Ref(C,-4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-
(2/31))+(2/31),2))*(C-PREV));

Sig<Ref(Sig,-1)
Công thức Sell short:
Sig:=If(Cum(1)=5,Ref(C,-1)+(Pwr((Abs((C-Ref(C,-
4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-(2/31))+(2/31),2))*(C-Ref(C,-
1)),PREV+(Pwr((Abs((C-Ref(C,-4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-
(2/31))+(2/31),2))*(C-PREV));

Sig<Ref(Sig,-1)
Công thức Buy to cover:
Sig:=If(Cum(1)=5,Ref(C,-1)+(Pwr((Abs((C-Ref(C,-
4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-(2/31))+(2/31),2))*(C-Ref(C,-
1)),PREV+(Pwr((Abs((C-Ref(C,-4))/Sum(Abs(ROC(C,1,$)),4)))*((2/3)-
(2/31))+(2/31),2))*(C-PREV));

Sig>Ref(Sig,-1)
Diễn giải các trading system trong MetaStock
By Rich From Stock™®

PS Bull Power Bear Power 1


Note:
Công thức xác định dấu hiệu mua (Buy signal):
(H-Mov(C,13,E))>0-(L-Mov(C,13,E))
Công thức xác định dấu hiệu bán:
(L-Mov(C,13,E))<0-(H-Mov(C,13,E))
Công thức Sell short:
(L-Mov(C,13,E))<0-(H-Mov(C,13,E))
Công thức Buy to cover:
(H-Mov(C,13,E))>0-(L-Mov(C,13,E))

PS Bull Power Bear Power 2


Note:
Công thức xác định dấu hiệu mua (Buy signal):
var1:=LinRegSlope((L-Mov(C,13,E)),5)>Ref(LinRegSlope((L-Mov(C,13,E)),5),-1);
var2:=LinRegSlope((H-Mov(C,13,E)),5)<Ref(LinRegSlope((H-Mov(C,13,E)),5),-1);

If(BarsSince(var1)<BarsSince(var2),1,0)=1
Công thức xác định dấu hiệu bán:
var1:=LinRegSlope((L-Mov(C,13,E)),5)>Ref(LinRegSlope((L-Mov(C,13,E)),5),-1);
var2:=LinRegSlope((H-Mov(C,13,E)),5)<Ref(LinRegSlope((H-Mov(C,13,E)),5),-1);

If(BarsSince(var1)<BarsSince(var2),1,0)=0
Công thức Sell short:
var1:=LinRegSlope((L-Mov(C,13,E)),5)>Ref(LinRegSlope((L-Mov(C,13,E)),5),-1);
var2:=LinRegSlope((H-Mov(C,13,E)),5)<Ref(LinRegSlope((H-Mov(C,13,E)),5),-1);

If(BarsSince(var1)<BarsSince(var2),1,0)=0
Công thức Buy to cover:
var1:=LinRegSlope((L-Mov(C,13,E)),5)>Ref(LinRegSlope((L-Mov(C,13,E)),5),-1);
var2:=LinRegSlope((H-Mov(C,13,E)),5)<Ref(LinRegSlope((H-Mov(C,13,E)),5),-1);

If(BarsSince(var1)<BarsSince(var2),1,0)=1

PS Bull Power Bear Power 3


Note:
Công thức xác định dấu hiệu mua (Buy signal):
bear1:=(L-Mov(C,13,E))>Ref((L-Mov(C,13,E)),-1) AND Ref((L-Mov(C,13,E)),-
1)<Ref((L-Mov(C,13,E)),-2);
bull1:=(H-Mov(C,13,E))<Ref((H-Mov(C,13,E)),-1) AND Ref((H-Mov(C,13,E)),-
1)>Ref((H-Mov(C,13,E)),-2);

ValueWhen(1,bear1,Ref((L-Mov(C,13,E)),-1))>ValueWhen(2,bear1,Ref((L-
Mov(C,13,E)),-1)) AND BarsSince(bear1)<BarsSince(bull1) AND (L-
Mov(C,13,E))<0
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Công thức xác định dấu hiệu bán:
bear1:=(L-Mov(C,13,E))>Ref((L-Mov(C,13,E)),-1) AND Ref((L-Mov(C,13,E)),-
1)<Ref((L-Mov(C,13,E)),-2);
bull1:=(H-Mov(C,13,E))<Ref((H-Mov(C,13,E)),-1) AND Ref((H-Mov(C,13,E)),-
1)>Ref((H-Mov(C,13,E)),-2);

ValueWhen(1,bull1,Ref((H-Mov(C,13,E)),-1))<ValueWhen(2,bull1,Ref((H-
Mov(C,13,E)),-1)) AND BarsSince(bear1)>BarsSince(bull1) AND (H-
Mov(C,13,E))>0
Công thức Sell short:
bear1:=(L-Mov(C,13,E))>Ref((L-Mov(C,13,E)),-1) AND Ref((L-Mov(C,13,E)),-
1)<Ref((L-Mov(C,13,E)),-2);
bull1:=(H-Mov(C,13,E))<Ref((H-Mov(C,13,E)),-1) AND Ref((H-Mov(C,13,E)),-
1)>Ref((H-Mov(C,13,E)),-2);

ValueWhen(1,bull1,Ref((H-Mov(C,13,E)),-1))<ValueWhen(2,bull1,Ref((H-
Mov(C,13,E)),-1)) AND BarsSince(bear1)>BarsSince(bull1) AND (H-
Mov(C,13,E))>0
Công thức Buy to cover:
bear1:=(L-Mov(C,13,E))>Ref((L-Mov(C,13,E)),-1) AND Ref((L-Mov(C,13,E)),-
1)<Ref((L-Mov(C,13,E)),-2);
bull1:=(H-Mov(C,13,E))<Ref((H-Mov(C,13,E)),-1) AND Ref((H-Mov(C,13,E)),-
1)>Ref((H-Mov(C,13,E)),-2);

ValueWhen(1,bear1,Ref((L-Mov(C,13,E)),-1))>ValueWhen(2,bear1,Ref((L-
Mov(C,13,E)),-1)) AND BarsSince(bear1)<BarsSince(bull1) AND (L-
Mov(C,13,E))<0

PS CCI (Commodity Channel Index)


Note:
Công thức xác định dấu hiệu mua (Buy signal):
CCI(14)<-200
Công thức xác định dấu hiệu bán:
CCI(14)>200
Công thức Sell short:
CCI(14)>200
Công thức Buy to cover:
CCI(14)<-200

PS Chande Forecast Oscillator


Note:
Công thức xác định dấu hiệu mua (Buy signal):
ForecastOsc(C,14)<0 AND
Cross(ForecastOsc(C,14),Mov(ForecastOsc(C,14),3,S))
Công thức xác định dấu hiệu bán:
ForecastOsc(C,14)>0 AND
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Cross(Mov(ForecastOsc(C,14),3,S),ForecastOsc(C,14))
Công thức Sell short:
ForecastOsc(C,14)>0 AND
Cross(Mov(ForecastOsc(C,14),3,S),ForecastOsc(C,14))
Công thức Buy to cover:
ForecastOsc(C,14)<0 AND
Cross(ForecastOsc(C,14),Mov(ForecastOsc(C,14),3,S))

PS CMO Reversal
Note:
Công thức xác định dấu hiệu mua (Buy signal):
CMO(C,13)>Ref(CMO(C,13),-1) AND Ref(CMO(C,13),-1)<Ref(CMO(C,13),-2)
Công thức xác định dấu hiệu bán:
CMO(C,13)<Ref(CMO(C,13),-1) AND Ref(CMO(C,13),-1)>Ref(CMO(C,13),-2)
Công thức Sell short:
CMO(C,13)<Ref(CMO(C,13),-1) AND Ref(CMO(C,13),-1)>Ref(CMO(C,13),-2)
Công thức Buy to cover:
CMO(C,13)>Ref(CMO(C,13),-1) AND Ref(CMO(C,13),-1)<Ref(CMO(C,13),-2)

PS Consolidation Breakout
Note:
Công thức xác định dấu hiệu mua (Buy signal):
var1:=If(((BBandTop(C,20,S,2)-BBandBot(C,20,S,2))<(1.75*ATR(1))) AND
Cross(H,BBandTop(C,20,S,2)),1,If(ATR(1) AND Cross(BBandBot(C,20,S,2),L),-
1,0));

var1=1
Công thức xác định dấu hiệu bán:
Cross(Mov(C,20,S),L)
Công thức Sell short:
var1:=If(((BBandTop(C,20,S,2)-BBandBot(C,20,S,2))<(1.75*ATR(1))) AND
Cross(H,BBandTop(C,20,S,2)),1,If(ATR(1) AND Cross(BBandBot(C,20,S,2),L),-
1,0));

var1=-1
Công thức Buy to cover:
Cross(H,Mov(C,20,S))

PS Cooper 1234 Pattern


Note:
Công thức xác định dấu hiệu mua (Buy signal):
var1:=(ADX(14)>30) AND (PDI(14)>MDI(14)) AND ((L<Ref(L,-1) AND Ref(L,-
1)<Ref(L,-2) AND Ref(L,-2)<Ref(L,-3)) OR ((L<Ref(L,-1) AND Ref(L,-1)<Ref(L,-2)
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
AND Ref(H,-2)<Ref(H,-3)
AND Ref(L,-2)>Ref(L,-3)) OR (L<Ref(L,-1) AND
Ref(L,-2)<Ref(L,-3) AND Ref(H,-1)<Ref(H,-2) AND
Ref(L,-1)>Ref(L,-2)) OR (Ref(L,-1)<Ref(L,-2) AND Ref(L,-2)<Ref(L,-3) AND
H<Ref(H,-1) AND
L>Ref(L,-1))));
var2:=Cross(Ref(L,-1),L);

If(BarsSince(var1)<BarsSince(var2),1,0)=1
Công thức xác định dấu hiệu bán:
var1:=(ADX(14)>30) AND (PDI(14)>MDI(14)) AND ((L<Ref(L,-1) AND Ref(L,-
1)<Ref(L,-2) AND Ref(L,-2)<Ref(L,-3)) OR ((L<Ref(L,-1) AND Ref(L,-1)<Ref(L,-2)
AND Ref(H,-2)<Ref(H,-3)
AND Ref(L,-2)>Ref(L,-3)) OR (L<Ref(L,-1) AND
Ref(L,-2)<Ref(L,-3) AND Ref(H,-1)<Ref(H,-2) AND
Ref(L,-1)>Ref(L,-2)) OR (Ref(L,-1)<Ref(L,-2) AND Ref(L,-2)<Ref(L,-3) AND
H<Ref(H,-1) AND
L>Ref(L,-1))));
var2:=Cross(Ref(L,-1),L);

If(BarsSince(var1)<BarsSince(var2),1,0)=0
Công thức Sell short:
var3:=(ADX(14)>30) AND (PDI(14)<MDI(14)) AND ((H>Ref(H,-1) AND Ref(H,-
1)>Ref(H,-2) AND Ref(H,-2)>Ref(H,-3)) OR ((H>Ref(H,-1) AND Ref(H,-1)>Ref(H,-
2) AND Ref(H,-2)<Ref(H,-3)
AND Ref(L,-2)>Ref(L,-3)) OR (H>Ref(H,-1) AND
Ref(H,-2)>Ref(H,-3) AND Ref(H,-1)<Ref(H,-2) AND
Ref(L,-1)>Ref(L,-2)) OR (Ref(H,-1)>Ref(H,-2) AND Ref(H,-2)>Ref(H,-3) AND
H<Ref(H,-1) AND
L>Ref(L,-1))));
var4:=Cross(H,Ref(H,-1));

If(BarsSince(var3)<BarsSince(var4),1,0)=1
Công thức Buy to cover:
var3:=(ADX(14)>30) AND (PDI(14)<MDI(14)) AND ((H>Ref(H,-1) AND Ref(H,-
1)>Ref(H,-2) AND Ref(H,-2)>Ref(H,-3)) OR ((H>Ref(H,-1) AND Ref(H,-1)>Ref(H,-
2) AND Ref(H,-2)<Ref(H,-3)
AND Ref(L,-2)>Ref(L,-3)) OR (H>Ref(H,-1) AND
Ref(H,-2)>Ref(H,-3) AND Ref(H,-1)<Ref(H,-2) AND
Ref(L,-1)>Ref(L,-2)) OR (Ref(H,-1)>Ref(H,-2) AND Ref(H,-2)>Ref(H,-3) AND
H<Ref(H,-1) AND
L>Ref(L,-1))));
var4:=Cross(H,Ref(H,-1));

If(BarsSince(var3)<BarsSince(var4),1,0)=0

PS Cycle Progression
Note:
Công thức xác định dấu hiệu mua (Buy signal):
Sum(If(C>Ref(C,-1),1,0),5)<Sum(If(C<Ref(C,-1),1,0),5)
Công thức xác định dấu hiệu bán:
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Sum(If(C>Ref(C,-1),1,0),5)>Sum(If(C<Ref(C,-1),1,0),5)
Công thức Sell short:
Sum(If(C>Ref(C,-1),1,0),5)>Sum(If(C<Ref(C,-1),1,0),5)
Công thức Buy to cover:
Sum(If(C>Ref(C,-1),1,0),5)<Sum(If(C<Ref(C,-1),1,0),5)

PS Dynamic Momentum Index 1


Note:
Công thức xác định dấu hiệu mua (Buy signal):
Cross(30,DMI(C))
Công thức xác định dấu hiệu bán:
Cross(Mov(C,5,S),C) OR (BarsSince(Cross(30,DMI(C)))=3 AND ROC(C,3,%)<0)
Công thức Sell short:
Cross(DMI(C),70)
Công thức Buy to cover:
Cross(C,Mov(C,5,S)) OR (BarsSince(Cross(DMI(C),70))=3 AND ROC(C,3,%)>0)

PS Exponential Moving Average


Note:
Công thức xác định dấu hiệu mua (Buy signal):
Mov(C,2,E)>Ref(Mov(C,2,E),-1)
Công thức xác định dấu hiệu bán:
Mov(C,2,E)<Ref(Mov(C,2,E),-1)
Công thức Sell short:
Mov(C,2,E)<Ref(Mov(C,2,E),-1)
Công thức Buy to cover:
Mov(C,2,E)>Ref(Mov(C,2,E),-1)

PS Fractal Trading System 1


Note:
Công thức xác định dấu hiệu mua (Buy signal):
F1:=ValueWhen(1,H<Ref(H,-2) AND Ref(H,-1)<Ref(H,-2) AND Ref(H,-3)<Ref(H,-
2) AND Ref(H,-4)<Ref(H,-2),Ref(H,-2));

Cross(H,F1)
Công thức xác định dấu hiệu bán:
F2:=ValueWhen(1,L>Ref(L,-2) AND Ref(L,-1)>Ref(L,-2) AND Ref(L,-3)>Ref(L,-2)
AND Ref(L,-4)>Ref(L,-2),Ref(L,-2));

Cross(F2,L)
Công thức Sell short:
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
F2:=ValueWhen(1,L>Ref(L,-2) AND Ref(L,-1)>Ref(L,-2) AND Ref(L,-3)>Ref(L,-2)
AND Ref(L,-4)>Ref(L,-2),Ref(L,-2));

Cross(F2,L)
Công thức Buy to cover:
F1:=ValueWhen(1,H<Ref(H,-2) AND Ref(H,-1)<Ref(H,-2) AND Ref(H,-3)<Ref(H,-
2) AND Ref(H,-4)<Ref(H,-2),Ref(H,-2));

Cross(H,F1)

PS Fractal Trading System 2


Note:
Công thức xác định dấu hiệu mua (Buy signal):
F1:=ValueWhen(1,H<Ref(H,-2) AND Ref(H,-1)<Ref(H,-2) AND Ref(H,-3)<Ref(H,-
2) AND Ref(H,-4)<Ref(H,-2),Ref(H,-2));

Cross(H,F1)
Công thức xác định dấu hiệu bán:
F2:=ValueWhen(2,L>Ref(L,-2) AND Ref(L,-1)>Ref(L,-2) AND Ref(L,-3)>Ref(L,-2)
AND Ref(L,-4)>Ref(L,-2),Ref(L,-2));

Cross(F2,L)
Công thức Sell short:

Công thức Buy to cover:

PS Long Sell Short Sale-5 Day


Note:
Công thức xác định dấu hiệu mua (Buy signal):
(((HHV(H,5)-Ref(O,-4))+(C-LLV(L,5)))/(2*(HHV(H,5)-LLV(L,5))))<.3
Công thức xác định dấu hiệu bán:
(((HHV(H,5)-Ref(O,-4))+(C-LLV(L,5)))/(2*(HHV(H,5)-LLV(L,5))))>.7
Công thức Sell short:
(((HHV(H,5)-Ref(O,-4))+(C-LLV(L,5)))/(2*(HHV(H,5)-LLV(L,5))))>.7
Công thức Buy to cover:
(((HHV(H,5)-Ref(O,-4))+(C-LLV(L,5)))/(2*(HHV(H,5)-LLV(L,5))))<.3

PS MACD Histogram 1
Note:
Công thức xác định dấu hiệu mua (Buy signal):
a1:=MACD()-Mov(MACD(),9,E)>Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)<Ref(MACD()-Mov(MACD(),9,E),-2);
a2:=MACD()-Mov(MACD(),9,E)<Ref(MACD()-Mov(MACD(),9,E),-1) AND
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Ref(MACD()-Mov(MACD(),9,E),-1)>Ref(MACD()-Mov(MACD(),9,E),-2);
b1:=ValueWhen(1,a1,Ref(MACD()-Mov(MACD(),9,E),-
1))>ValueWhen(2,a1,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a1,C)<ValueWhen(2,a1,C);
b2:=ValueWhen(1,a2,Ref(MACD()-Mov(MACD(),9,E),-
1))<ValueWhen(2,a2,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a2,C)>ValueWhen(2,a2,C);
state1:=If(BarsSince(b1)<BarsSince(b2),1,0);

state1>Ref(state1,-1)
Công thức xác định dấu hiệu bán:
a1:=MACD()-Mov(MACD(),9,E)>Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)<Ref(MACD()-Mov(MACD(),9,E),-2);
a2:=MACD()-Mov(MACD(),9,E)<Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)>Ref(MACD()-Mov(MACD(),9,E),-2);
b1:=ValueWhen(1,a1,Ref(MACD()-Mov(MACD(),9,E),-
1))>ValueWhen(2,a1,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a1,C)<ValueWhen(2,a1,C);
b2:=ValueWhen(1,a2,Ref(MACD()-Mov(MACD(),9,E),-
1))<ValueWhen(2,a2,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a2,C)>ValueWhen(2,a2,C);
state1:=If(BarsSince(b1)<BarsSince(b2),1,0);

state1<Ref(state1,-1)
Công thức Sell short:
a1:=MACD()-Mov(MACD(),9,E)>Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)<Ref(MACD()-Mov(MACD(),9,E),-2);
a2:=MACD()-Mov(MACD(),9,E)<Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)>Ref(MACD()-Mov(MACD(),9,E),-2);
b1:=ValueWhen(1,a1,Ref(MACD()-Mov(MACD(),9,E),-
1))>ValueWhen(2,a1,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a1,C)<ValueWhen(2,a1,C);
b2:=ValueWhen(1,a2,Ref(MACD()-Mov(MACD(),9,E),-
1))<ValueWhen(2,a2,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a2,C)>ValueWhen(2,a2,C);
state1:=If(BarsSince(b1)<BarsSince(b2),1,0);

state1<Ref(state1,-1)
Công thức Buy to cover:
a1:=MACD()-Mov(MACD(),9,E)>Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)<Ref(MACD()-Mov(MACD(),9,E),-2);
a2:=MACD()-Mov(MACD(),9,E)<Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)>Ref(MACD()-Mov(MACD(),9,E),-2);
b1:=ValueWhen(1,a1,Ref(MACD()-Mov(MACD(),9,E),-
1))>ValueWhen(2,a1,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a1,C)<ValueWhen(2,a1,C);
b2:=ValueWhen(1,a2,Ref(MACD()-Mov(MACD(),9,E),-
1))<ValueWhen(2,a2,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a2,C)>ValueWhen(2,a2,C);
state1:=If(BarsSince(b1)<BarsSince(b2),1,0);

state1>Ref(state1,-1)
Diễn giải các trading system trong MetaStock
By Rich From Stock™®

PS MACD Histogram 2
Note:
Công thức xác định dấu hiệu mua (Buy signal):
a1:=MACD()-Mov(MACD(),9,E)>Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)<Ref(MACD()-Mov(MACD(),9,E),-2);
a2:=MACD()-Mov(MACD(),9,E)<Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)>Ref(MACD()-Mov(MACD(),9,E),-2);
b1:=ValueWhen(1,a1,Ref(MACD()-Mov(MACD(),9,E),-
1))>ValueWhen(2,a1,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a1,C)<ValueWhen(2,a1,C);
b2:=ValueWhen(1,a2,Ref(MACD()-Mov(MACD(),9,E),-
1))<ValueWhen(2,a2,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a2,C)>ValueWhen(2,a2,C);
state1:=If(BarsSince(b1)<BarsSince(b2),1,0);

state1>Ref(state1,-1)
Công thức xác định dấu hiệu bán:
(MACD()-Mov(MACD(),9,E))<Ref((MACD()-Mov(MACD(),9,E)),-1)
Công thức Sell short:
a1:=MACD()-Mov(MACD(),9,E)>Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)<Ref(MACD()-Mov(MACD(),9,E),-2);
a2:=MACD()-Mov(MACD(),9,E)<Ref(MACD()-Mov(MACD(),9,E),-1) AND
Ref(MACD()-Mov(MACD(),9,E),-1)>Ref(MACD()-Mov(MACD(),9,E),-2);
b1:=ValueWhen(1,a1,Ref(MACD()-Mov(MACD(),9,E),-
1))>ValueWhen(2,a1,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a1,C)<ValueWhen(2,a1,C);
b2:=ValueWhen(1,a2,Ref(MACD()-Mov(MACD(),9,E),-
1))<ValueWhen(2,a2,Ref(MACD()-Mov(MACD(),9,E),-1)) AND
ValueWhen(1,a2,C)>ValueWhen(2,a2,C);
state1:=If(BarsSince(b1)<BarsSince(b2),1,0);

state1<Ref(state1,-1)
Công thức Buy to cover:
(MACD()-Mov(MACD(),9,E))>Ref((MACD()-Mov(MACD(),9,E)),-1)

PS Meisels Overbought/Oversold
Note:
Công thức xác định dấu hiệu mua (Buy signal):
M1:=Sum(If(C>Ref(C,-1),+1,If(C<Ref(C,-1),-1,0)),10);

Cross(-6,M1) OR M1=-6
Công thức xác định dấu hiệu bán:
M1:=Sum(If(C>Ref(C,-1),+1,If(C<Ref(C,-1),-1,0)),10);

Cross(M1,0) OR M1=0
Công thức Sell short:
M1:=Sum(If(C>Ref(C,-1),+1,If(C<Ref(C,-1),-1,0)),10);
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Cross(M1,6) OR M1=6
Công thức Buy to cover:
M1:=Sum(If(C>Ref(C,-1),+1,If(C<Ref(C,-1),-1,0)),10);

Cross(0,M1) OR M1=0

PS MESA Sine Wave


Note:
Công thức xác định dấu hiệu mua (Buy signal):
MESALeadSine(2)<MESASineWave(2)
Công thức xác định dấu hiệu bán:
MESALeadSine(2)>MESASineWave(2)
Công thức Sell short:
MESALeadSine(2)>MESASineWave(2)
Công thức Buy to cover:
MESALeadSine(2)<MESASineWave(2)

PS Pattern Trading System 1


Note:
Công thức xác định dấu hiệu mua (Buy signal):
C>Ref(C,-1) AND Ref(C,-1)<Ref(C,-2)
Công thức xác định dấu hiệu bán:
C<Ref(C,-1) AND Ref(C,-1)>Ref(C,-2) AND Ref(C,-2)>Ref(C,-3)
Công thức Sell short:

Công thức Buy to cover:

PS Percentage Crossover 3%
Note:
Công thức xác định dấu hiệu mua (Buy signal):
var1:=If((C*.97)>PREV,C*.97,If((C*1.03)<PREV,C*1.03,PREV));

Cross(C,var1)
Công thức xác định dấu hiệu bán:
var1:=If((C*.97)>PREV,C*.97,If((C*1.03)<PREV,C*1.03,PREV));

Cross(var1,C)
Công thức Sell short:
var1:=If((C*.97)>PREV,C*.97,If((C*1.03)<PREV,C*1.03,PREV));
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Cross(var1,C)
Công thức Buy to cover:
var1:=If((C*.97)>PREV,C*.97,If((C*1.03)<PREV,C*1.03,PREV));

Cross(C,var1)

PS Projection Oscillator 1
Note:
Công thức xác định dấu hiệu mua (Buy signal):
Cross(ProjOsc(8,3),Mov(ProjOsc(8,3),3,S))
Công thức xác định dấu hiệu bán:
Cross(Mov(ProjOsc(8,3),3,S),ProjOsc(8,3))
Công thức Sell short:
Cross(Mov(ProjOsc(8,3),3,S),ProjOsc(8,3))
Công thức Buy to cover:
Cross(ProjOsc(8,3),Mov(ProjOsc(8,3),3,S))

PS StochRSI
Note:
Công thức xác định dấu hiệu mua (Buy signal):
Cross(20,(Sum(RSI(10)-LLV(RSI(10),10),3)/Sum(HHV(RSI(10),10)-
LLV(RSI(10),10),3))*100)
Công thức xác định dấu hiệu bán:
Cross((Sum(RSI(10)-LLV(RSI(10),10),3)/Sum(HHV(RSI(10),10)-
LLV(RSI(10),10),3))*100,80)
Công thức Sell short:
Cross((Sum(RSI(10)-LLV(RSI(10),10),3)/Sum(HHV(RSI(10),10)-
LLV(RSI(10),10),3))*100,80)
Công thức Buy to cover:
Cross(20,(Sum(RSI(10)-LLV(RSI(10),10),3)/Sum(HHV(RSI(10),10)-
LLV(RSI(10),10),3))*100)

PS Swing Index
Note:
Công thức xác định dấu hiệu mua (Buy signal):
Swing(3)>0
Công thức xác định dấu hiệu bán:
Swing(3)<0
Công thức Sell short:
Swing(3)<0
Công thức Buy to cover:
Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Swing(3)>0

PS Vertical Horizontal Filter


Note:
Công thức xác định dấu hiệu mua (Buy signal):
Cross(VHF(C,21),.3) AND LinRegSlope(C,21)>0
Công thức xác định dấu hiệu bán:
Cross(.75,VHF(C,21)) OR Cross(0,LinRegSlope(C,21))
Công thức Sell short:
Cross(VHF(C,21),.3) AND LinRegSlope(C,21)<0
Công thức Buy to cover:
Cross(.75,VHF(C,21)) OR Cross(LinRegSlope(C,21),0);

PS Volatility Breakout (Chaikin)


Note:
Công thức xác định dấu hiệu mua (Buy signal):
Vol(10,10)>Ref(Vol(10,10),-1) AND C>Ref(C,-1)
Công thức xác định dấu hiệu bán:
Vol(10,10)>Ref(Vol(10,10),-1) AND C>Ref(C,-1)
Công thức Sell short:
Vol(10,10)>Ref(Vol(10,10),-1) AND C<Ref(C,-1)
Công thức Buy to cover:
Vol(10,10)<Ref(Vol(10,10),-1) OR C>Ref(C,-1)
Note:
Công thức xác định dấu hiệu mua (Buy signal):

Công thức xác định dấu hiệu bán:

Công thức Sell short:

Công thức Buy to cover:

Note:
Công thức xác định dấu hiệu mua (Buy signal):

Công thức xác định dấu hiệu bán:

Công thức Sell short:


Diễn giải các trading system trong MetaStock
By Rich From Stock™®
Công thức Buy to cover:

Note:
Công thức xác định dấu hiệu mua (Buy signal):

Công thức xác định dấu hiệu bán:

Công thức Sell short:

Công thức Buy to cover: