Overview: Wavelet Filter Crossover system
Example 9.. A signal opens a long position if the "fast" low-frequency filter constructed in example 3, rises above the "slow" filter, and opens a short position if the "fast" filter falls below "slow" filter.

Notice, that wavelet based low-frequency filters use data points. Compare the results of the given system to the crossover of moving averages of the same lengths. The top report is the wavelet filters crossover, parameters by default, without optimization.
Results of application of the same strategy - moving average crossover by length and , instead of wavelet filters on the same data are resulted below:

Comments are unnecessary in this case.
Do not pay attention to the identical name of strategy: we have replaced last two lines in initial code EasyLenguage with that are bracketed for the simplicity.
| EasyLanguage: | {******************************************************** Non-decimated Haar Wavelet Filter Crossover system Copyright (c) Trade Smart Research Group 2002 Notes: The math is based on Multiresolution Analysis of Time Series www.multiresolutions.com ********************************************************} Inputs: MinScale(2), {the minimal wavelet scale } MaxScale(4), {the maximal wavelet scale } NSigma(3); {threshold value signal / noise} vars: Lookback(0), Count(0); Array: Filter[9](close); Array: ArrayPrice[511](0); defineDLLFunc: "tswvl.DLL", FLOAT, "RUNWVL",LPFLOAT,int,float; defineDLLFunc: "tswvl.DLL", FLOAT, "GETALLVALUES",int,int; Lookback = Power(2, MaxScale); for count = 0 to lookback-1 begin ArrayPrice[count] = Close[count]; end; Filter[0] = RUNWVL(&ArrayPrice[0], MaxScale, NSigma); for count = 1 to MaxScale begin Filter[count] = Filter[count - 1] - GetAllValues(3,count); end; if Filter[MinScale] cross above Filter[MaxScale] Then Buy("Cross.LE") at close; if Filter[MinScale] cross below Filter[MaxScale] Then Sell("Cross.SE") at close; { value21 = power(2, MinScale); value22 = power(2, MaxScale); value11 = Average(close, value21); value12 = Average(close, value22); if value11 cross above value12 Then Buy("Cross.LE") at close; if value11 cross below value12 Then Sell("Cross.SE") at close; }
|
These elementary examples evidently show that modern computer methods can improve an arsenal of technical analytics.
|