Miscellaneous
0
Views
0
Downloads
0
Favorites
MIR_osc3sl
//+------------------------------------------------------------------+
//| This filter created by Digital filter Method |
//| Software(Copyright (c) Sergey Iljukhin, Novosibirsk. |
//| email sergey[at]tibet.ru http://fx.qrz.ru/). |
//| Designing and special parameters are designed and |
//| tested to remove more noise and follow the price |
//| instantly and reliably. This source code is free. |
//| Designer: Saeid Mohammadi Jazi, saeid169@yahoo.com|
//+------------------------------------------------------------------+
#property copyright "Copyright (c) 2005, Sergey Iljukhin, Novosibirsk"
#property link "http://fx.qrz.ru/"
// --- Parameters: P1=20, D1=12, A1=40
// --- P2=36, D2=12, A2=40, Ripple=0.08, Delay=0
// --- Order [Auto]=30, Calculate method=2
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
#property indicator_color3 Gray
#define FilterOrder 30
//---- buffers
double FilterBuffer[];
double FilterBuffer2[];
double FilterBuffer3[];
double FilterBuffer4[];
double FilterBuffer5[];
//+------------------------------------------------------------------+
//| Digital filter indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator line
IndicatorBuffers(5);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,FilterBuffer3);
SetIndexDrawBegin(0,61);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,FilterBuffer4);
SetIndexDrawBegin(1,61);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,FilterBuffer5);
SetIndexDrawBegin(2,61);
SetIndexBuffer(3,FilterBuffer);
SetIndexBuffer(4,FilterBuffer2);
SetIndexLabel(0,"mirCD");
SetIndexLabel(1,"CDslope");
SetIndexLabel(2,"mir2slope");
SetIndexLabel(3,"mir");
SetIndexLabel(4,"mir2");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Digital filter main function |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
double response;
//----
if(Bars<=30) return(0);
//----
i=Bars-30-1;
if(counted_bars>=30) i=Bars-counted_bars-1;
while(i>=0)
{
response=
0.2674159617898*Close[i]
+0.2513802565774*Close[i+1]
+0.2211333753570*Close[i+2]
+0.1800616410930*Close[i+3]
+0.1326480423408*Close[i+4]
+0.0838587718677*Close[i+5]
+0.0384533194950*Close[i+6]
+0.000361380408010*Close[i+7]
-0.02763961135328*Close[i+8]
-0.0443785558740*Close[i+9]
-0.0501417866008*Close[i+10]
-0.0465638452107*Close[i+11]
-0.0362043470551*Close[i+12]
-0.02209069455035*Close[i+13]
-0.00720956629679*Close[i+14]
+0.00589037910713*Close[i+15]
+0.01544079199829*Close[i+16]
+0.02055957526714*Close[i+17]
+0.02126036163880*Close[i+18]
+0.01828930006698*Close[i+19]
+0.01286478623414*Close[i+20]
+0.00638761812864*Close[i+21]
+0.0001646100607892*Close[i+22]
-0.00480278407473*Close[i+23]
-0.00796418634567*Close[i+24]
-0.00925425730208*Close[i+25]
-0.00909425465110*Close[i+26]
-0.00839501788430*Close[i+27]
-0.00872393363958*Close[i+28]
+0.00629266940806*Close[i+29];
FilterBuffer[i]=response;
i--;
}
i=Bars-30-1;
if(counted_bars>=30) i=Bars-counted_bars-1;
while(i>=0)
{
double response2=
0.2674159617898*FilterBuffer[i]
+0.2513802565774*FilterBuffer[i+1]
+0.2211333753570*FilterBuffer[i+2]
+0.1800616410930*FilterBuffer[i+3]
+0.1326480423408*FilterBuffer[i+4]
+0.0838587718677*FilterBuffer[i+5]
+0.0384533194950*FilterBuffer[i+6]
+0.000361380408010*FilterBuffer[i+7]
-0.02763961135328*FilterBuffer[i+8]
-0.0443785558740*FilterBuffer[i+9]
-0.0501417866008*FilterBuffer[i+10]
-0.0465638452107*FilterBuffer[i+11]
-0.0362043470551*FilterBuffer[i+12]
-0.02209069455035*FilterBuffer[i+13]
-0.00720956629679*FilterBuffer[i+14]
+0.00589037910713*FilterBuffer[i+15]
+0.01544079199829*FilterBuffer[i+16]
+0.02055957526714*FilterBuffer[i+17]
+0.02126036163880*FilterBuffer[i+18]
+0.01828930006698*FilterBuffer[i+19]
+0.01286478623414*FilterBuffer[i+20]
+0.00638761812864*FilterBuffer[i+21]
+0.0001646100607892*FilterBuffer[i+22]
-0.00480278407473*FilterBuffer[i+23]
-0.00796418634567*FilterBuffer[i+24]
-0.00925425730208*FilterBuffer[i+25]
-0.00909425465110*FilterBuffer[i+26]
-0.00839501788430*FilterBuffer[i+27]
-0.00872393363958*FilterBuffer[i+28]
+0.00629266940806*FilterBuffer[i+29];
FilterBuffer2[i]=response2;
FilterBuffer3[i]=FilterBuffer[i]-FilterBuffer2[i];
FilterBuffer4[i]=FilterBuffer3[i]-FilterBuffer3[i+1];
FilterBuffer5[i]=FilterBuffer2[i]-FilterBuffer2[i+1];
i--;
}
return(0);
}
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---