← К каталогу
Исходный код · ID 3254

Snake Stochastic WPR

snake stochastic wpr.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Snake Stochastic WPR — это пользовательский индикатор для MetaTrader 5, работающий на основе стохастического осциллятора с дополнительной «змеиной» сглаживающей обработкой. Индикатор отображает данные в отдельном подокне графика в виде гистограмм или линий, разделяя положительные и отрицательные значения по четырём буферам.

Основная линия рассчитывается на основе значения стохастика, прошедшего весовую фильтрацию, а сигнальная линия строится как скользящая средняя основной линии. Визуальные уровни задаются параметром HotLevel и отрисовываются на уровне 0, HotLevel и -HotLevel.

Индикатор поддерживает работу на множественных таймфреймах, имеет опцию включения/отключения перерисовки и позволяет выбрать режим отображения (гистограмма или линии). Параметры периодов стохастика, сглаживания и сигнальной линии настраиваются пользователем.

Получить полный код

Поиск по коду файла

#property description "Stochastic oscillator compares the current close price" 
#property description "with the price range for the selected one time period." 
#property description "The indicator is represented by two lines. The main line is called *K."
#property description "The second line *D is the signal moving average of the *K-line."
#property description "Watch for divergences, for example when price form a series of new highs, "
#property description "and Stochastic can no longer rise above its previous highs."
#property description " "
#property description "Repaints if SnakeRepaint=true..."  //&&  in MTF mode!!"   //ARROWBAR && ALERTBAR corrected for MTF."   //"Не перерисовывается в режиме MTF если RePaintMTF=false!"  //"Индикатор НЕ перерисовывается! в режиме MTF."   //"ARROWBAR и ALERTBAR скорректированы для MTF."  
#property description " "  //"ALERTBAR без корректировки на MTF."   //ARROWBAR и ALERTBAR скорректированы для MTF.
#property description "E-mail:  t*******e*@mail.ru" 
#property version  "2.67"   

#property indicator_separate_window  //chart_window 
#property indicator_buffers 8

#property indicator_color1  clrAqua  //Lime  //White  //LightCyan  //Gold
#property indicator_color2  clrDarkOrchid  //Crimson  //SeaGreen  //LightSteelBlue  //DeepPink  //LightCyan  //Gold
#property indicator_color3  clrDeepSkyBlue  //SpringGreen  //Brown  //DeepPink  //LightSkyBlue  //Magenta    //SkyBlue
#property indicator_color4  clrOrchid  //Red  //HotPink  //Magenta    //SkyBlue
#property indicator_color5  clrNONE
#property indicator_color6  clrSkyBlue  //White  //
#property indicator_color7  clrOrange  //DarkOrange  //Gold  //Lime
#property indicator_color8  clrRed  //HotPink  //Orchid  //Gold

#property indicator_width1  3
#property indicator_width2  3
#property indicator_width3  3
#property indicator_width4  3
#property indicator_width5  3
#property indicator_width6  2
#property indicator_width7  1
#property indicator_width8  0

#property indicator_style1  STYLE_SOLID
#property indicator_style2  STYLE_SOLID
#property indicator_style3  STYLE_SOLID
#property indicator_style4  STYLE_SOLID
#property indicator_style5  STYLE_SOLID
#property indicator_style6  STYLE_SOLID
#property indicator_style7  STYLE_SOLID
#property indicator_style8  STYLE_DOT

#property indicator_levelcolor clrDimGray  //DarkSlateGray  //DarkSlateBlue   //C'0,66,0'  //SteelBlue  //Sienna   //C'60,61,62' //C'66,122,177'  // 
#property indicator_levelstyle STYLE_DOT

enum showCD { LINE,/*Lines*/ HISTO/*Histogram*/ };

extern int                    History  =  4567;    //288=D1/M5 //576=D2/M5; //864=D3/M5; //1152=D4/M5;  //1440=D5/M5;
extern ENUM_TIMEFRAMES      TimeFrame  =  PERIOD_CURRENT;
extern int                SnakePeriod  =  13;                 //0.1454, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0, 1.272, 1.414, 1.618, 2.058, 2.618, 3.32, 4.236, 5.35, 6.853....
extern bool              SnakeRepaint  =  true;
extern int                  StoPeriod  =  13;                 //1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181....
extern int                  StoSmooth  =  1;                
extern int                  SigPeriod  =  5;  
extern ENUM_MA_METHOD         SigMode  =  MODE_SMA;      
extern ENUM_STO_PRICE        StoPrice  =  STO_LOWHIGH;

extern int                   HotLevel  =  100;  
extern showCD               ShowIndex  =  HISTO;  //LINE;
extern int                    DotCode  =  159;

double POSS1[], POSS2[], NEGG1[], NEGG2[], FAKE[];
double TEMP[], MAIN[], DOTZ[], SIGMA[];   
int stoPer, smoPer, snkPer, sigPer, MAX, TFK;  string sTFR, cTFR;  datetime NewTime=0;

string sName = " ["+(string)SnakePeriod+">"+(string)StoPeriod+">"+(string)StoSmooth+">"+(string)SigPeriod+"] ";

int init()
{
      // код доступен только после оплаты
   }  
   TimeFrame = fmax(TimeFrame,_Period);  TFK = TimeFrame/_Period;  sTFR = StringSubstr(EnumToString(TimeFrame),7);  cTFR = StringSubstr(EnumToString(ENUM_TIMEFRAMES(_Period)),7);  //IndikName = WindowExpertName();                                                          

   snkPer = fmax(SnakePeriod,0)*1;  
   stoPer = fmax(StoPeriod,1)*1;   //Percent = fmax(1,fmin(Percent,999));    //sCoeff = fmax(sCoeff,0.1);
   smoPer = fmax(StoSmooth,1)*1;  
   sigPer = fmax(SigPeriod,0)*TFK;  
   MAX    = snkPer+stoPer+smoPer+sigPer;  //fmax(PricePeriod,PipFilter);

   IndicatorBuffers(9);   IndicatorDigits(0);   //(Digits-Digits%2);

   SetIndexBuffer(0,POSS1);    SetIndexStyle(0,sigPer>0&&ShowIndex>0?DRAW_HISTOGRAM:DRAW_NONE);     
   SetIndexBuffer(1,POSS2);    SetIndexStyle(1,sigPer>0&&ShowIndex>0?DRAW_HISTOGRAM:DRAW_NONE);     
   SetIndexBuffer(2,NEGG1);    SetIndexStyle(2,sigPer>0&&ShowIndex>0?DRAW_HISTOGRAM:DRAW_NONE);     
   SetIndexBuffer(3,NEGG2);    SetIndexStyle(3,sigPer>0&&ShowIndex>0?DRAW_HISTOGRAM:DRAW_NONE);     color fake = ChartGetInteger(0,CHART_COLOR_BACKGROUND);
   SetIndexBuffer(4,FAKE);     SetIndexStyle(4,sigPer>0&&ShowIndex>0?DRAW_HISTOGRAM:DRAW_NONE,EMPTY,EMPTY,fake);   

   SetIndexBuffer(5,MAIN);     SetIndexStyle(5,sigPer<1||ShowIndex<1?DRAW_LINE:DRAW_NONE);   
   SetIndexBuffer(6,DOTZ);     SetIndexStyle(6,DRAW_ARROW);   SetIndexArrow(6,DotCode);
   SetIndexBuffer(7,SIGMA);    SetIndexStyle(7,sigPer<1||ShowIndex<1?DRAW_LINE:DRAW_NONE);   
   SetIndexBuffer(8,TEMP);     SetIndexStyle(8,DRAW_NONE);   

   SetLevelValue(0,0);   
  

Показано первые 50% кода (символов: 8421)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
842,10₽ ≈ $10.29