log in     sign up for free
 
Whenever you get hit, you are very upset emotionally. Most traders try to make it back immediately; they try to play bigger. Whenever you try to get all your losses back at once, you are most often doomed to fail.
Marty Schwartz
 
 
Home
systems (284)
 
 
Special offer: buy MetaStock (try for free)   |   Reuters QuoteCenter Real-Time Data (get a free month)   |   EOD Data
 

Buy

MetaStock

     (special offer)
 
 
 

Buy

EOD data for MetaStock

     (special offer)
 
 
 

Buy

Realtime data for MetaStock

     (special offer)
 
 
 
 
Formula Library
 
AmiBroker
MetaTrader
MetaStock
TradeStation
Wealth-Lab
NinjaTrader
 
add your formula
System Library
 
 
Account login
Your email:
Password:
 
Log in
New to s4t? Sign up.
If you forgot your password click here.
Search the Web
 
Custom Search


System for: MetaStock


 

 

Views:  1759

Added: December 08, 2006
 
Rate this code:  Rate: 1 Rate: 2 Rate: 3 Rate: 4 Rate: 5
This formula has not been rated yet
 
 

email this link

 
 
Tags: MetaStock, system
 
Your Ad Here
The basic idea behind a MetaStock binary wave is to use "if" statements on several MetaStock indicators and have them return plus one for a bullish indication, minus one for a bearish indication, and zero for a neutral condition. Then you add them all up for your binary wave indicator. I decided to format all my indicators so they could be plotted as a histogram. For these indicators plotting as histograms, positive is bullish and negative is bearish. To cut down on whipsaws, I decided that over +5 would be bullish, under -13 would be bearish and anything in between would be neutral. Therefore my binary wave formulas are:

BW2 Demand Index
If(Tema(DI(),21) > 5,+1,If(Tema(DI(),21) < -13,-1,0))

BW3 Linear Regression Slope

If(Tema(10000*LinRegSlope(C,34)/C,34) > 5,+1, If(Tema(10000*LinRegSlope(C,34)/C,34) < -13,-1,0))

BW4 CCI

If(Tema(CCI(21),21) > 5,+1, If(Tema(CCI(21),21) < -13,-1,0))

BW5 ROC

If(Tema(ROC(C,21,%),21) > 2,+1,If(Tema(ROC(C,21,%),21) < -2,-1,0))

BW6 Money Flow

If(Tema(MFI(21),21)-50 > 5,+1,If(Tema(MFI(21),21)-50 < -5,-1,0))

BW7 CMO

If(Tema(CMO(C,21),21) > 5,+1,If(Tema(CMO(C,21),21) < -5,-1,0))

BW8 VAR ma

If(Mov(C,21,VAR) > Mov(C,55,VAR) AND HHV(Mov(C,233,VAR),5) =
HHV(Mov(C,233,VAR),13),+1,If(Mov(C,21,VAR) < Mov(C,55,VAR) AND
LLV(Mov(C,233,VAR),5) = LLV(Mov(C,233,VAR),13),-1,0))

The next formula just adds up the binary wave.

BW Add

Fml("BW2") + Fml("BW3") + Fml("BW4") + Fml("BW5") + Fml("BW6") + Fml("BW7") + Fml("BW8")

Next, I decided to do something a little different. Since the whole purpose of this test is to catch a trending stock, I decided to add an amplifier that would get larger as the trend got stronger. Since I like Fibonacci numbers, I decided to use Rsquared as a measure of trend strength and base my amplifier on Fibonacci numbers. The formula I finally came up with after a lot of tinkering follows.

BW Amplifier

If(RSquared(C,21) > 0.8,5,If(RSquared(C,21) > 0.6,3,If(RSquared(C,21) > 0.4,2,
If(RSquared(C,21)>0.2,1,0.5))))

The last step in constructing the binary wave was to decide on the smoothing and put it all together. Of course, I used tema smoothing.

Tema Binary Wave Composite

Periods := Input("Enter Tema Smoothing Periods",8,233,21);
Tema(Fml("BW Add")*Fml("BW Amplifier"),Periods)

The final step is to come up with a system test for the Tema Binary Wave Composite. Remember, the binary wave is just made up of a bunch of technical indicators that I give a +1 value when bullish, 0 when neutral, and -1 when bearish. Then they are summed and smoothed. So in general a positive value is bullish and a negative value is bearish. Also a rising number is bullish and a falling number is bearish. Therefore you could use a zero crossover to the upside as a buy signal and a crossover to the downside as a sell signal. If you had a good algorithm, you could also use a rise from a negative peak (or trough) as a buy signal and a fall from a positive peak as a sell signal. I decided to use a 8 day moving average of the BW with a crossover of the BW for my algorithm in an attempt to get an early signal on a rise from a negative peak. It does have the disadvantage of finding way too many peaks so I only use it as an Alert. For confirmation I use the QStick function and a variable moving average function.

QStick was developed by Chande as a way to quantify candlesticks. Since the difference between the open and close prices lies at the heart of candlestick charting, QStick is simply a moving average of that difference. Negative values of QStick correlate to black candlesticks, positive values to white candlesticks. Since in general black candles are bearish and white candles are bullish, this indicator can also be plotted as a histogram and interpreted the same was as the Binary Wave. The formula is:

Binary Wave Histogram

Periods := Input("Enter Periods",1,233,34);
Tema(Qstick(Periods),Periods)

Now to get my open long signal I use the ALERT signal with an 8 day vma BW crossover of the BW. Then to actually get the signal, I have to have both the QStick rising and the 21 day vma greater then the 55 day vma.

Therefore my buy signal became:

 

 



Code:

Binary Wave System
Enter Long :

Alert(Cross(Fml("Tema Binary Wave Comp"),
Mov(Fml("Tema Binary Wave Comp"),8,S)),21) AND
HHV(Tema(Qstick(34),34),5) = HHV(Tema(Qstick(34),34),13) AND
Mov(H,21,VAR) > Mov(H,55,VAR)




Since the market has an upward bias, I wanted my sell signal to be more restrictive. Therefore instead of trying to catch a fall from a positive peak as my sell alert, I wanted a crossover of an optimized negative number.
I still used QStick and vma to confirm and also added that the close should be lower than yesterdays low.

Therefore, my sell signal became:

Enter Short :
Alert(Cross(-opt2,Fml("Tema Binary Wave Comp")),8) AND
Tema(Qstick(34),34) < -0.1 AND
C < Ref(L,-1) AND
Mov(L,21,VAR) < Mov(L,55,VAR)




Then I wanted exit conditions that were less then full signal reversals. I decided that the BW being less than a negative number would be my primary close long signal, but I also wanted confirmation from other indicators. After a lot of trial and error I used the following:

Close Long :
Fml("Tema Binary Wave Comp") < -opt1 AND Tema(Qstick(34),34) < 0 AND
LLV(Mov(L,21,VAR),5) = LLV(Mov(L,21,VAR),13)


Close Short :

Fml("Tema Binary Wave Comp") > 0 AND Tema(Qstick(34),34) > 0.08


Optimization:

Opt 1: Min 3, Max 13, Step 5
Opt 2: Min 3, Max 13, Step 5


 





Source: http://purebytes.com/archives/metastock/

 

View similar:

Half a line is fine Trendline System
Marking High / Low
AT3
ANTI Trigger Trading System
Tether Line Trading System
Automatic Support and Resistance Trading System
02_R2/Regress Slope/CMO - All Signal Formulas
Recursive Moving Trend Average
Maximum Profit System I
Wilder Volatility Index System
...
 
 
all systems for MetaStock
all systems

 

 

Email to friend

Top

 

     
However we try to maintain hiqhest possible level of service - most formulas, oscillators, indicators
and systems are submitted by anonymous users.
Therefore S4T™ does not take any responsibility for it's quality.
If you use any of this information, use it at your own risk. You are responsible for your own trading decisions.
Be sure to verify that any information you see on these pages is correct, and is applicable to your particular trade.
In no case will S4T™ be responsible for your trading gains or losses.
 
Privacy note | (c) copyrights systems4trading.com 2006-2012