Miscellaneous
Implements a curve of type %1It issuies visual alerts to the screen
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 supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---