Miscellaneous
0
Views
0
Downloads
0
Favorites
JMA_DF
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
extern int Length = 102; // ãëóáèíà ñãëàæèâàíèÿ
extern int Phase = -100; // ïàðàìåòð, èçìåíÿþùèéñÿ â ïðåäåëàõ -100 ... +100, âëèÿåò íà êà÷åñòâî ïåðåõîäíîãî ïðîöåññà;
extern int Shift = 0; // cäâèã èíäèêàòîðà âäîëü îñè âðåìåíè
extern int Input_Price_Customs = 0;//Âûáîð öåí, ïî êîòîðûì ïðîèçâîäèòñÿ ðàñ÷¸ò èíäèêàòîðà
//(0-"Close", 1-"Open", 2-"(High+Low)/2", 3-"High", 4-"Low", 5-"Heiken Ashi Close", 6-"(Open+Close)/2")
//---- buffers
double FILTER,Series;
double @Rezalt[];
double Filter[1];
int nf,IPC;
int init()
{
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,@Rezalt);
//----
nf=13;int count=ArrayResize(Filter,nf+1);if(count==0){Alert("Íåâîçìîæíî âûäåëèòü ïàìÿòü ïîä ìàññèâ Filter");return(0);}
//+=== Èíèöèàëèçàöèÿ êîýôôèöèåíòîâ öèôðîâîãî ôèëüòðà =======================================================================+
Filter[00]=+2.257123744523;Filter[01]=-0.360708458885;Filter[02]=-0.325737268228;Filter[03]=-0.2729150866467;Filter[04]=-0.2092237191308;
Filter[05]=-0.1426901208968;Filter[06]=-0.0809016668650;Filter[07]=-0.02975330274774;Filter[08]=+0.00725649761316;Filter[09]=+0.02925670582975;
Filter[10]=+0.0377987481366;Filter[11]=+0.0361578613352;Filter[12]=+0.02830856176224;Filter[13]=+0.02602750420017;
//+=========================================================================================================================+
//+================================================================================================================================+
if(Phase<-100){Alert("Ïàðàìåòð Phase äîëæåí áûòü îò -100 äî +100" + " Âû ââåëè íåäîïóñòèìîå " +Phase+ " áóäåò èñïîëüçîâàíî -100");}
if(Phase> 100){Alert("Ïàðàìåòð Phase äîëæåí áûòü îò -100 äî +100" + " Âû ââåëè íåäîïóñòèìîå " +Phase+ " áóäåò èñïîëüçîâàíî 100");}
if(Length< 1){Alert("Ïàðàìåòð Length äîëæåí áûòü íå ìåíåå 1" + " Âû ââåëè íåäîïóñòèìîå " +Length+ " áóäåò èñïîëüçîâàíî 1" );}
//+================================================================================================================================+
SetIndexDrawBegin(0,nf+30);
IPC=Input_Price_Customs;
return(0);
}
int start()
{
int limit,counted_bars=IndicatorCounted();
//----
if((counted_bars==0)&&(Bars<=nf))return(0);
//----
limit=Bars-counted_bars-1;
//----+ Ââåäåíèå è èíèöèàëèçàöèÿ âíóòðåííèõ ïåðåìåííûõ ôóíêöèè JJMASeries, nJMAnumber=1(Îäíî îáðàùåíèå ê ôóíêöèè)
if (limit==Bars-1){int reset=-1;int set=JJMASeries(1,0,0,0,0,0,0,0,reset);if((reset!=0)||(set!=0))return(-1);}
//----+
for(int k=limit;k>=0;k--)
{
FILTER=0.0;
for(int x=0;x<=nf;x++)
{
if(k<Bars-1-nf)
switch(IPC)
{
case 0: Series=Close[k+x];break;
case 1: Series= Open[k+x];break;
case 2: Series=(High[k+x]+Low [k+x])/2;break;
case 3: Series= High[k+x];break;
case 4: Series= Low[k+x];break;
case 5: Series=(Open[k+x]+High [k+x]+Low[k+x]+Close[k+x])/4;break;
case 6: Series=(Open[k+x]+Close[k+x])/2;break;
default: Series=Close[k+x];break;
}
FILTER=FILTER+Filter[x]*Series;
}
reset=1;@Rezalt[k]=JJMASeries(0,0,Bars-1-nf,limit,Phase,Length,FILTER,k,reset);if(reset!=0)return(-1);
}
return(0);
}
#include <JJMASeries.mqh>
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
---