Помогите новичку.....

 

У меня такой вопрос:

Можно ли написать индикатор или советник чтобы он по определеной формуле вычеслял и наносил на график линии по результатам вычеслений.

заранее спасибо.

 
Sultanov >>:

У меня такой вопрос:

Можно ли написать индикатор или советник чтобы он по определеной формуле вычеслял и наносил на график линии по результатам вычеслений.

заранее спасибо.

можно

 
satop писал(а) >>

можно

сложно ли это?

 
Sultanov писал(а) >>

У меня такой вопрос:

Можно ли написать индикатор или советник чтобы он по определеной формуле вычеслял и наносил на график линии по результатам вычеслений.

заранее спасибо.

Это типичная функци индикатора, сложность зависит от алгоритма расчетов, вариантов вывода результата, ну и квалифиции исполнителя...

 
Sultanov >>:

сложно ли это?

Смотря кому.

 

Посмотрите в исходник - думаю, что он Вам поможет.

Файлы:
 

С чего мне лучше начать чтобы не запутатся

 
Sultanov >>:

С чего мне лучше начать чтобы не запутатся

//---- indicators
   SetIndexStyle(0,DRAW_SECTION);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexShift(0,4); 
Цифра 4 это на сколько баров впереди от цены рисуется результат
   if (CountBars>Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars-CountBars);
   
int    i,counted_bars=IndicatorCounted();
i=Bars-counted_bars-1;
if(iTime(Symbol(),TimeFrame,0)==old_bar) return(0);
   while(i>=0)
     {
Подготавливаем данные для расчета
   double CurBid = iOpen(Symbol(), TimeFrame,0);     
   double FLL  = CurBid-iCustom(Symbol(),TimeFrame,"FractalsLine",1,i); // Нижняя линия
    
   
   // Вычисляем отклонения скользящих средних
   double ma3=CurBid-iMA(Symbol(),TimeFrame,3,0,MODE_EMA,PRICE_CLOSE,i);
   double ma8=CurBid-iMA(Symbol(),TimeFrame,8,0,MODE_EMA,PRICE_CLOSE,i);
   double ma12=CurBid-iMA(Symbol(),TimeFrame,12,0,MODE_EMA,PRICE_CLOSE,i);
   double ma15=CurBid-iMA(Symbol(),TimeFrame,15,0,MODE_EMA,PRICE_CLOSE,i);
   double ma25=CurBid-iMA(Symbol(),TimeFrame,25,0,MODE_EMA,PRICE_CLOSE,i);
   double ma33=CurBid-iMA(Symbol(),TimeFrame,33,0,MODE_EMA,PRICE_CLOSE,i);
   double ma50=CurBid-iMA(Symbol(),TimeFrame,50,0,MODE_EMA,PRICE_CLOSE,i);
   double ma80=CurBid-iMA(Symbol(),TimeFrame,80,0,MODE_EMA,PRICE_CLOSE,i);
   double ma120=CurBid-iMA(Symbol(),TimeFrame,120,0,MODE_EMA,PRICE_CLOSE,i);
   double ma150=CurBid-iMA(Symbol(),TimeFrame,150,0,MODE_EMA,PRICE_CLOSE,i);
   double ma200=CurBid-iMA(Symbol(),TimeFrame,200,0,MODE_EMA,PRICE_CLOSE,i);
   
   
Проводим расчет:
   double prediction;
   int resultid;
   
   double RES=
      5.9958 * CurBid
     -0.2404 * FLL
    -68.9279 * ma8 +
    431.2975 * ma12
   -592.8711 * ma15 +
    604.5296 * ma25
   -417.2697 * ma33
   -315.8506 * ma50 +
   1619.9914 * ma80
  -4337.6955 * ma120 +
   4234.4119 * ma150
  -1163.6084 * ma200
     -5.8483;
 
Sultanov >>:

С чего мне лучше начать чтобы не запутатся

Вот с этого, например:

https://book.mql4.com/ru/