Скачать MetaTrader 5

Индикаторы: Ma_Parabolic_st2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Поделись программой в CodeBase. Получи доступ к миллионам трейдеров!
MetaQuotes Software Corp.
Модератор
181066
MetaQuotes Software Corp. 2009.01.27 06:59 

Ma_Parabolic_st2:

Параболик, нарисованный от минимумов и максимумов движущейся средней. Эффективно показывает тренды на малых таймфреймах, позволяя исключить в большей степени частые переключения, характерные для индикатора "Parabolic SAR".

Author: Victor Lukashuck

MQL4 Comments
16319
MQL4 Comments 2009.01.28 06:32  

А на каких вр. периодах лутше всего применять,и с каким балансом надо быть,чтоб этот пар.не загнал в долги?

MQL4 Comments
16319
MQL4 Comments 2009.01.30 02:11  

Вы могли бы сделать еще буфера для этого индикатора раздельные для сигналов вверх и вниз ?

Victor Lukashuck
265
Victor Lukashuck 2009.01.30 05:56  
OZ0:

Вы могли бы сделать еще буфера для этого индикатора раздельные для сигналов вверх и вниз ?

Нет не мог бы. При раздельных 2 буферах вверх и вниз индикатор будет рисовать точки на 1 бар позже. Разьве это не понятно? И для обычного "Параболика" такая же ситуация...

MQL4 Comments
16319
MQL4 Comments 2009.01.30 19:56  
OZ0:

Вы могли бы сделать еще буфера для этого индикатора раздельные для сигналов вверх и вниз ?

дальше мы знаем - пойдут цветочки, стрелочки звонки, алертики, емели

код обростет; если автор не хочет - то не хорошо приставать (красота кода нарушается, и некоторые авторы за это убить могут)

спросите на форумах- там нацепляют сверху всего, но - глаза не видят -сердце не болит : )

MQL4 Comments
16319
MQL4 Comments 2009.01.31 23:54  
lukas1:
OZ0:

Вы могли бы сделать еще буфера для этого индикатора раздельные для сигналов вверх и вниз ?

Нет не мог бы. При раздельных 2 буферах вверх и вниз индикатор будет рисовать точки на 1 бар позже. Разьве это не понятно? И для обычного "Параболика" такая же ситуация...

спасибо за объяснение

правда совершенно не понятно откуда это должно быть понятно

был 1 буфер станет 2 почему опоздание появится ???

кстати забываю благодарить за Ваши индикаторы очень помогают

MQL4 Comments
16319
MQL4 Comments 2009.01.31 23:56  
fxxx:
OZ0:

Вы могли бы сделать еще буфера для этого индикатора раздельные для сигналов вверх и вниз ?

дальше мы знаем - пойдут цветочки, стрелочки звонки, алертики, емели

код обростет; если автор не хочет - то не хорошо приставать (красота кода нарушается, и некоторые авторы за это убить могут)

спросите на форумах- там нацепляют сверху всего, но - глаза не видят -сердце не болит : )

для меня это новый код в остальных знаю как все цеплять а вот как разделять буфера в таких индикаторах не понимаю

MQL4 Comments
16319
MQL4 Comments 2009.02.01 01:59  
OZ0:
для меня это новый код в остальных знаю как все цеплять а вот как разделять буфера в таких индикаторах не понимаю

как Лукас сказал - разделять нельзя (разве что кто хочет писать новый) - набрасывайте сверху два дополнительных буфера с цветами, оригинал SarBuffer остается тот же, но не рисуйте (толька цветы)

if (SarBuffer[i]>MaBuffer[i]) SarBufferDn[i]=SarBuffer[i]; else SarBufferUp[i]=SarBuffer[i]

да, и Лукасу на глаза постарайтесь не попадать : )))

MQL4 Comments
16319
MQL4 Comments 2009.02.06 00:38  
fxxx:
OZ0:
для меня это новый код в остальных знаю как все цеплять а вот как разделять буфера в таких индикаторах не понимаю

как Лукас сказал - разделять нельзя (разве что кто хочет писать новый) - набрасывайте сверху два дополнительных буфера с цветами, оригинал SarBuffer остается тот же, но не рисуйте (толька цветы)

if (SarBuffer[i]>MaBuffer[i]) SarBufferDn[i]=SarBuffer[i]; else SarBufferUp[i]=SarBuffer[i]

да, и Лукасу на глаза постарайтесь не попадать : )))

я бы набросил, но не понимаю как (уже писал)

что значит не попадайтесь - я уже об этом мечтаю ...

Victor Lukashuck
265
Victor Lukashuck 2009.02.06 10:50  
Вот код для индикатора с дополнительными буферами № 2 и № 3.
 
//+------------------------------------------------------------------+
//|                                          Ma-Parabolic_st2_02.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                      Copyright © 2008, Лукашук В.Г. aka lukas1.  |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes + lukas1"
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Crimson
#property indicator_color2 DeepSkyBlue
#property indicator_width1 1
#property indicator_width2 2
//---- input parameters
extern int    Ma=30;
extern int    method=3;
extern int    app_price=0;
extern double Step=0.12;
extern double Maximum=0.032;
//---- buffers
double SarBuffer[];
double MaBuffer[];
double UpBuf[],DnBuf[];
//----
static bool first=false;
bool   dirlong;
double start,last_high,last_low;
double ep,sar,price_low,price_high;
int    i,j;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorDigits(Digits);
   string SS=DoubleToStr(Step,4);
   string MM=DoubleToStr(Maximum,4);
   SetIndexLabel(0,"Step= "+SS+", Max= "+MM); 
   SetIndexStyle(0,DRAW_ARROW,0,1);
   SetIndexArrow(0,159);
   SetIndexBuffer(0,SarBuffer);
   SetIndexDrawBegin(0, 4/Step); 
//----
   SetIndexLabel(1,"period= "+Ma); 
   SetIndexStyle(1,DRAW_LINE,0,2);
   SetIndexBuffer(1,MaBuffer);
   SetIndexDrawBegin(0, 4/Step+Ma); 
//----
   SetIndexBuffer(2,UpBuf);
   ArrayInitialize(UpBuf,10000000);//изначально фуфер будет равен значению 10000000
   SetIndexStyle(2,DRAW_NONE); // на графике ничего не рисуем
//----
   SetIndexBuffer(3,DnBuf);
   ArrayInitialize(UpBuf,-10000000);//изначально фуфер будет равен значению -10000000
   SetIndexStyle(3,DRAW_NONE); // на графике ничего не рисуем
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Parabolic Sell And Reverse system                                |
//+------------------------------------------------------------------+
int start()
  {
   if(Bars<5) return(0);
   dirlong=true;
   start=Step;
//--------------------------------------------+
   for(j=Bars-4;j>=0;j--)
      MaBuffer[j] = iMA(Symbol(),0,Ma,0,method,app_price,j);
   int i=Bars-4;
   while(i>=0)
     {
      price_low=MaBuffer[i]-Point;
      price_high=MaBuffer[i]+Point;
      //sar равен цена предыдущего бара плюс шаг умножить на 
      //(старая цена минус значение SarBuffer предыдущего бара)
      sar=SarBuffer[i+1]+start*(ep-SarBuffer[i+1]);
//----
      if(dirlong)//цепочка вверх
        {
         if(ep<price_high && (start+Step)<=Maximum) start+=Step;
         if(sar>=price_low)//если условия для переключения наступили
           {
            start=Step; 
            dirlong=false; 
            ep=price_low;//устанавливаем последнюю цену = минимум
            last_low=price_low;
            if(MaBuffer[i]+Point<last_high) SarBuffer[i]=last_high;
            else SarBuffer[i]=MaBuffer[i]+Point;
            i--;
            continue;
           }
         else
           {
            if(ep<price_low && (start+Step)<=Maximum) start+=Step;
            //и пересчитываем last_high и ep для расчета следующей точки максимума
            if(ep<price_high) { last_high=price_high; ep=price_high; }
           }
        }
//----
      else//цепочка вниз
        {
         if(ep>price_low && (start+Step)<=Maximum) start+=Step;
         if(sar<=price_high)//если наступили условия переключения
           {
            start=Step; 
            dirlong=true; 
            ep=price_high;//устанавливаем последнюю цену = максимум
            last_high=price_high;
            if(MaBuffer[i]-Point>last_low) SarBuffer[i]=last_low;
            else SarBuffer[i]=MaBuffer[i]-Point;
            i--;
            continue;
           }
         else
           {
            if(ep>price_high && (start+Step)<=Maximum) start+=Step;
            //если условия для переключения не наступили
            //то пересчитываем last_low и ep для расчета следующей точки минимума
            if(ep>price_low){last_low=price_low;ep=price_low;}
           }
        }
      SarBuffer[i]=sar;
      if(SarBuffer[i]>MaBuffer[i]) DnBuf[i]=sar;
      if(SarBuffer[i]<MaBuffer[i]) UpBuf[i]=sar;
      i--;
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Это картинка значений по нулевому буферу индикатора
Это картинка значений по первому буферу индикатора
Это картинка значений по второму буферу индикатора
Это картинка значений по третьему буферу индикатора
Видим отставание отображения второго и третьего буферов на один бар.
MQL4 Comments
16319
MQL4 Comments 2009.02.07 01:16  
Mihalyh:

А на каких вр. периодах лутше всего применять,и с каким балансом надо быть,чтоб этот пар.не загнал в долги?

Да люди которые пытаются что то к этим индюкам добавить не могут уяснить элементарного - принцыпиальных основ данных разработок нарушать нельзя чушь получается. Что то ресуют малюют а в этоге от элементарного незнания основ мы еще дальше уходим от прогресса . Большая часть работ на этой базе 99% просто чушь малеванная .

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий