Topic: Filter indicator

Dear all i opened this topic for digital filters requests and sharing thoughts about them

i will start with requests of two indicators

SATL and FATL

Post's attachments

FATL.mq4 2.43 kb, 8 downloads since 2012-08-17 

You don't have the permssions to download the attachments of this post.

2 (edited by ahmedalhoseny 2012-08-17 19:11:33)

Re: Filter indicator

SATL indicator

Post's attachments

SATL.mq4 3.07 kb, 8 downloads since 2012-08-17 

You don't have the permssions to download the attachments of this post.

Re: Filter indicator

Here some sources shows the filters

http://www.forex-tsd.com/digital-filters/300-trading-strategies-based-digital-filters.html

http://www.forex-tsd.com/digital-filters/76-digital-filters-basic-explanation.html

Re: Filter indicator

Ahmed, find Fatl&Satl here: http://forexsb.com/forum/post/15959/#p15959.

Re: Filter indicator

thanks for fast response smile

Re: Filter indicator

ahmedalhoseny wrote:

thanks for fast response smile

They were pretty easy. I was thinking maybe I should combine them in a crossover indi, what do you think?

Re: Filter indicator

it will be fine

Re: Filter indicator

i donot understand the concept behind the filter indicators calculations they look like MAs but sure they arenot 

and you already coded them so footon could you teel me how you read these indicators and how the indicator links between the arrays " the down part of indicator" with the values in the upper part

Regards

Re: Filter indicator

Please explain more, I'm not understanding the question I'm afraid.

Re: Filter indicator

WAW
you completely changed the code
when iam looking to the 1st satl and compare to new satl you modified  some parts of code 
/*// The NumericUpDown parameters
            IndParam.NumParam[0].Caption   = "period";
            IndParam.NumParam[0].Value     = 80;
            IndParam.NumParam[0].Min       = 2;
            IndParam.NumParam[0].Max       = 200;
            //IndParam.NumParam[0].Point     = 1;
            IndParam.NumParam[0].Enabled   = true;
            IndParam.NumParam[0].ToolTip   = "The Moving Average period.";

            /*IndParam.NumParam[1].Caption   = "ShortPeriod";
            IndParam.NumParam[1].Value     = 8.0;
            IndParam.NumParam[1].Min       = 0.1;
            IndParam.NumParam[1].Max       = 200;
            IndParam.NumParam[1].Point     = 1;
            IndParam.NumParam[1].Enabled   = true;
            IndParam.NumParam[1].ToolTip   = "ShortPeriod";
           
            IndParam.NumParam[2].Caption   = "ExtraTimeForward";
            IndParam.NumParam[2].Value     = 1.0;
            IndParam.NumParam[2].Min       = 0;
            IndParam.NumParam[2].Max       = 200;
            IndParam.NumParam[2].Point     = 1;
            IndParam.NumParam[2].Enabled   = true;
            IndParam.NumParam[2].ToolTip   = "ExtraTimeForward";*/
           
            /*IndParam.NumParam[3].Caption   = "deviation";
            IndParam.NumParam[3].Value     = 0;
            IndParam.NumParam[3].Min       = 0;
            IndParam.NumParam[3].Max       = 200;
            IndParam.NumParam[3].Enabled   = true;
            IndParam.NumParam[3].ToolTip   = "How many bars to shift with.";*/

I get lost !!!!!!!

Re: Filter indicator

In SATL V2  what is the use of this part of code !!!!!!!

// The NumericUpDown parameters
            /*IndParam.NumParam[0].Caption = "Period";
            IndParam.NumParam[0].Value = 14;
            IndParam.NumParam[0].Min = 1;
            IndParam.NumParam[0].Max = 200;
            IndParam.NumParam[0].Enabled = true;
            IndParam.NumParam[0].ToolTip = "The Moving Average period.";

            IndParam.NumParam[1].Caption = "Shift";
            IndParam.NumParam[1].Value = 0;
            IndParam.NumParam[1].Min = 0;
            IndParam.NumParam[1].Max = 200;
            IndParam.NumParam[1].Enabled = true;
            IndParam.NumParam[1].ToolTip = "How many bars to shift with.";*/

Re: Filter indicator

big_smile
Calculation did not change, and top tip: /* */   means it is commented out of the code, it is not used.

This is the calculation block:

SATLBuffer[iBar]= 
                    -0.02232324*adBasePrice[iBar-0] 
                    +0.02268676*adBasePrice[iBar-1] 
                    +0.08389067*adBasePrice[iBar-2] 
                    +0.14630380*adBasePrice[iBar-3] 
                    +0.19282649*adBasePrice[iBar-4] 
                    +0.21002638*adBasePrice[iBar-5] 
                    +0.19282649*adBasePrice[iBar-6] 
                    +0.14630380*adBasePrice[iBar-7] 
                    +0.08389067*adBasePrice[iBar-8] 
                    +0.02268676*adBasePrice[iBar-9] 
                    -0.02232324*adBasePrice[iBar-10] 
                    -0.04296564*adBasePrice[iBar-11] 
                    -0.03980614*adBasePrice[iBar-12] 
                    -0.02082171*adBasePrice[iBar-13] 
                    +0.00243636*adBasePrice[iBar-14] 
                    +0.01950580*adBasePrice[iBar-15] 
                    +0.02460929*adBasePrice[iBar-16] 
                    +0.01799295*adBasePrice[iBar-17] 
                    +0.00470540*adBasePrice[iBar-18] 
                    -0.00831985*adBasePrice[iBar-19] 
                    -0.01544722*adBasePrice[iBar-20] 
                    -0.01456262*adBasePrice[iBar-21] 
                    -0.00733980*adBasePrice[iBar-22] 
                    +0.00201852*adBasePrice[iBar-23] 
                    +0.00902504*adBasePrice[iBar-24] 
                    +0.01093067*adBasePrice[iBar-25] 
                    +0.00766099*adBasePrice[iBar-26] 
                    +0.00145478*adBasePrice[iBar-27] 
                    -0.00447175*adBasePrice[iBar-28] 
                    -0.00750446*adBasePrice[iBar-29] 
                    -0.00671646*adBasePrice[iBar-30] 
                    -0.00304016*adBasePrice[iBar-31] 
                    +0.00143433*adBasePrice[iBar-32] 
                    +0.00457475*adBasePrice[iBar-33] 
                    +0.00517589*adBasePrice[iBar-34] 
                    +0.00336708*adBasePrice[iBar-35] 
                    +0.00034406*adBasePrice[iBar-36] 
                    -0.00233637*adBasePrice[iBar-37] 
                    -0.00352280*adBasePrice[iBar-38] 
                    -0.00293522*adBasePrice[iBar-39] 
                    -0.00114249*adBasePrice[iBar-40] 
                    +0.00083536*adBasePrice[iBar-41] 
                    +0.00215524*adBasePrice[iBar-42] 
                    +0.00604133*adBasePrice[iBar-43] 
                    -0.00013046*adBasePrice[iBar-44];

What is between /* */ is NOT important. I changed the base code for getting rid of the bug fast.

Re: Filter indicator

AHA
I  get it Now

Fotton i have an idea as soon as fatl and satl using the same way of calculation is that better to make the calculation block " buffer" universal by breaking the code to its parts and make the indicator dynamic in selecting which combinations of buffers !!!!

Lets take an example
-0.02232324*adBasePrice[iBar-0]
+0.02268676*adBasePrice[iBar-1]

Part 1- "- Nums---- +Nums "
Part 2- Adprice
Part 3- iBar-0.........iBar200
Part4- how many Lines it will select to build the satl

It may
-0.02232324*adBasePrice[iBar-0]
+0.02268676*adBasePrice[iBar-1]
+0.08389067*adBasePrice[iBar-2]
.
.
.

+0.14630380*adBasePrice[iBar-90]

it may
+0.02268676*adBasePrice[iBar-1]
+0.08389067*adBasePrice[iBar-2]
.
.
.
+0.14630380*adBasePrice[iBar-66]    and so on

Is that applicable

Re: Filter indicator

It should be possible, but I have to think about it a lot to figure the solution out.