Lagranges_Interpolation_PolynomialM_test01

Author: Copyright � 2008, Gryb Alexander
Lagranges_Interpolation_PolynomialM_test01
Miscellaneous
Implements a curve of type %1
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 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 ---