Miscellaneous
0
Views
0
Downloads
0
Favorites
Lagranges_Interpolation_PolynomialM_test01
//+------------------------------------------------------------------+
//| Interpolation.mq4 |
//| Copyright © 2008, Gryb Alexander |
//| ICQ: 478-923-832 E-mail: alexandergrib@rambler.ru |
//+------------------------------------------------------------------+
//Lagranges_Interpolation_PolynomialM
//Fduch (2008.11.18 10:24) http://codebase.mql4.com/4861 http://codebase.mql4.com/ru/4860
#property copyright "Copyright © 2008, Gryb Alexander"
#property link "ICQ: 478-923-832 E-mail: alexandergrib@rambler.ru"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Orange
extern double numPrognoz = 2;
extern int begin=1;
extern int end=5;
extern int Shift=5;
extern int Inst=1;//ind. instance on the chart 4 object name
double index_buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0,index_buffer);
SetIndexStyle(0,DRAW_LINE);
SetIndexShift(0,Shift);
ObjectCreate("begin"+Inst,OBJ_VLINE,0,0,0);
ObjectSet("begin"+Inst,OBJPROP_COLOR,Red);
ObjectCreate("end"+Inst,OBJ_VLINE,0,0,0);
ObjectSet("end"+Inst,OBJPROP_COLOR,Blue);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("begin"+Inst);
ObjectDelete("end"+Inst);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
int k; int z; int bar_num; int x;
double a = 0; double b1 = 1; double d = 1;
double b[5000];
double c[5000];
//Îïðåäåëÿåì êîýôèöèåíòû
for(k=end;k>=begin;k--)
{
b[k]=k;
c[k]=Close[k];
}
for(x=begin-numPrognoz;x<end+numPrognoz+1;x++)
{
a = 0;
for(k=begin;k<=end;k++)
{
b1=1;d=1;
//Ïðîèçâåäåíèå îò 0 äî i-1 ýëåìåíòà
for(z=begin;z<k;z++)
{
b1=b1*(x-b[z]);
d=d*(b[k]-b[z]);
}
//Ïðîèçâåäåíèå îò i+1 äî numBars ýëåìåíòà
for(z=k+1;z<=end;z++)
{
b1=b1*(x-b[z]);
d=d*(b[k]-b[z]);
}
a=a+c[k]*((b1)/(d));
}
bar_num = x;
index_buffer[bar_num]=a;
}
ObjectSet("begin"+Inst,OBJPROP_TIME1,Time[begin]);
ObjectSet("end"+Inst,OBJPROP_TIME1,Time[end]);
//----
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
---