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

DPO on DPO AA8 MTF TT

dpo on dpo nd aa8 mtf tt@free_fx_pro_5400269987095022286.mq4

Похожие материалы по тегам

indicator previous session range + projected candles + boschoch protected for tradingview.pineTradingView · 1 общих тегов#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор «DPO on DPO AA8 MTF TT» — пользовательский технический индикатор для MetaTrader 4, реализующий безтрендовый осциллятор DPO (Detrended Price Oscillator) в многотаймфреймовом режиме. Основной расчёт строится как разница между ценой и скользящей средней, сдвинутой относительно цены, с последующей нормализацией и отображением в отдельном окне графика.

Индикатор поддерживает отображение сигнальной линии, рассчитанной как разница двух скользящих средних от нормализованной основной линии. Встроенная система стрелок позволяет визуально отмечать различные торговые ситуации — пересечения уровней, экстремумы, пересечения сигнальной линии. Доступны настройки отображения стрелок, их позиционирования и типов сигналов.

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

Настройки программы

НастройкаОписание
288=D1/M5 //576=D2/M5; //864=D3/M5; //1152=D4/M5; //1440=D5/M5; (History) Глубина истории — Количество исторических баров для расчёта (288=D1/M5, 576=D2/M5, 864=D3/M5, 1152=D4/M5, 1440=D5/M5)
true; (RePaintMTF) Перерисовка в MTF — Переключатель перерисовки в MTF-режиме: true — разрешить перерисовку, false — фиксировать сигналы
TimeFrame Таймфрейм — Таймфрейм для расчёта индикатора (PERIOD_CURRENT и другие)
intQuad; //true; (Interpolate) Интерполяция — Тип интерполяции между таймфреймами: intNO, intLinear, intQuad
PAIR Символ пары — Символ торговой пары для расчёта индикатора (пустая строка — текущий символ)
12; //12; //288 (Fast1) Быстрый период 1 — Быстрый период первой скользящей средней
Slow1 Медленный период 1 — Медленный период первой скользящей средней
Shift11 Сдвиг 11 — Сдвиг первой скользящей средней
Shift12 Сдвиг 12 — Второй сдвиг первой скользящей средней
MODE_SMMA; // (Mode1) Метод усреднения 1 — Метод усреднения первой скользящей: MODE_SMA, MODE_SMMA и другие
PRICE_TYPICAL; //PRICE_WEIGHTED; (Price1) Ценовой тип 1 — Ценовой тип для первой скользящей: PRICE_TYPICAL, PRICE_WEIGHTED и другие
NormPeriod Период нормализации — Период нормализации основной линии через стандартное отклонение
MODE_SMMA; // (NormMode) Метод нормализации — Метод усреднения для расчёта нормализации: MODE_SMA, MODE_SMMA и другие
9; //Signal (Fast2) Быстрый период 2 — Быстрый период сигнальной скользящей средней
Slow2 Медленный период 2 — Медленный период сигнальной скользящей средней
Shift21 Сдвиг 21 — Сдвиг сигнальной скользящей средней
Shift22 Сдвиг 22 — Второй сдвиг сигнальной скользящей средней
MODE_SMMA; // (Mode2) Метод усреднения 2 — Метод усреднения сигнальной скользящей: MODE_SMA, MODE_SMMA и другие
CrossLevel Уровень пересечения — Уровень пересечения для определения зон и сигналов
TrendLevel Уровень тренда — Уровень тренда для определения трендовых сигналов
enum arrows { ArrowsOFF, arSignal50, arMoreLess, arMoreLessLV, arCrossSignal, arExtremeLV, arCross50 (WhichArrows) Тип стрелок — Тип отображаемых стрелок: ArrowsOFF, arSignal50, arMoreLess, arMoreLessLV, arCrossSignal, arExtremeLV, arCross50 и другие
IN (ShowArrows) Отображение стрелок — Позиция отображения стрелок: HideArrows, INSIDE, CENTER, OUTSIDE
На каком баре рисовать Стрелку: =0 - рисовать на текущем (до закрытия - может исчезнуть) (ARROWBAR) На каком баре рисовать Стрелку: =0 - рисовать на текущем (до закрытия - может исчезнуть) — На каком баре рисовать стрелку: 0 — рисовать на текущем баре (до закрытия может исчезнуть)
Дистанция от High/Low свечи (ArrowGap) Дистанция от High/Low свечи — Дистанция от High/Low свечи для позиционирования стрелки
allAlerts; // (WhichAlerts) Тип алертов — Тип алертов для уведомлений: allAlerts и другие варианты
SIGNALBAR Бар сигнала — Бар сигнала для определения момента срабатывания алертов
"expert.wav"; //"stops.wav" //"alert2.wav" //"news.wav"; // (SoundFile) Звуковой файл — Путь к звуковому файлу для оповещений
HISTO; //DOTS; // (ShowDPO) Отображение DPO — Тип отображения основной линии: HideThis, DOTS, LINE, HISTO
crossSignal; // (Color) Цветовая схема — Цветовая схема отображения: ColorOFF, moreLess, crossSignal, crossZero, crossLev
Size Размер — Размер отображаемых элементов индикатора
159; (DotCode) Код точки — Код точки (стрелки) для отрисовки индикатора
Получить полный код

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

#property description "Detrended Price Oscillator [DPO] — безтрендовый осциллятор, ввиде разницы между" 
#property description "текущей ценой и простой скользящей средней;" 
#property description "где МА сдвинута относительно Цены на половину периода и ещё смещена на один бар." 
#property description "Дивергенция образуется, когда Цена достигает нового максимума/минимума,"
#property description "а DPO не удается создать новый пик/впадину."
#property description " "
#property description "Индикатор НЕ перерисовывается в режиме MTF если RePaintMTF=false!!!"  //"НЕ перерисовывается! в режиме MTF." 
#property description "ARROWBAR и SIGNALBAR скорректированы для MTF."  
#property description " "  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * "
#property description "Почта:  t*******e*@mail.ru" 
#property version  "5.22"  //из "5.11"  

#property indicator_separate_window  //chart_window
#property indicator_buffers 4

#property indicator_color1  clrRoyalBlue  //MediumPurple  //MediumOrchid  //LightSkyBlue  //DodgerBlue  //
#property indicator_color2  clrLightSteelBlue  //LimeGreen  //SeaGreen  //LightSkyBlue  //SpringGreen  //LightSkyBlue  //MediumSeaGreen  //PaleVioletRed
#property indicator_color3  clrCrimson  //Magenta  //MediumVioletRed  //LightPink  //Coral  //HotPink  //LightCoral  //LightPink  //Red  //DimGray
#property indicator_color4  clrYellow  //White  //Lime  //Magenta  //LightCyan  //GreenYellow //Lime  //Gold

#property indicator_style1  STYLE_DASH
#property indicator_style2  STYLE_DASH
#property indicator_style3  STYLE_DASH
#property indicator_style4  STYLE_DOT

#property indicator_levelcolor clrDarkSlateGray   //DimGray  //C'85,86,88' //DarkSlateBlue   //SteelBlue  //DarkGreen  //SlateGray  //  //
#property indicator_levelstyle STYLE_DOT

enum Iterpolation { intNO,/*No interpolation*/  intLinear,/*Linear Interpolation*/  intQuad/*Quadratic Interpolation*/ };
enum arrows { ArrowsOFF,/*OFF*/ arSignal50,/*Signal cross Center*/ arMoreLess,/*Index more/less Previous*/ arMoreLessLV,/*Index more/less Previous on Level*/ arCrossSignal,/*Index cross Signal*/ arExtremeLV,/*Index Extremum on Level */ arCross50,/*Index cross Center*/ arCrossLev,/*Index cross Level*/ arMoreLessVLD,/*trend VLADISLAVIAN*/ allArrows/*All setups*/ };
enum showAR { HideArrows, INSIDE, CENTER, OUTSIDE };  //enum showAR { aDoNotCALC, HideArrows, aOnCHART, aOnINDIK }; 
enum showCD { HideThis, DOTS, LINE, HISTO };
enum cciCLR { ColorOFF, moreLess, crossSignal, crossZero, crossLev };

extern int                History  =  3456;  //288=D1/M5 //576=D2/M5; //864=D3/M5; //1152=D4/M5;  //1440=D5/M5;
extern bool            RePaintMTF  =  true;  //true;
extern ENUM_TIMEFRAMES  TimeFrame  =  PERIOD_CURRENT;
extern Iterpolation   Interpolate  =  intNO;  //intQuad;  //true;             
       bool             SignalMTF  =  true;

extern string                PAIR  =  "";
extern int                  Fast1  =  1;   //12;  //12;  //288
extern int                  Slow1  =  33;   
extern int                Shift11  =  0;   
extern int                Shift12  =  17;   
extern ENUM_MA_METHOD       Mode1  =  MODE_SMA;  //MODE_SMMA;  //
extern ENUM_APPLIED_PRICE  Price1  =  PRICE_CLOSE;  //PRICE_TYPICAL;  //PRICE_WEIGHTED;
extern int             NormPeriod  =  17;   
extern ENUM_MA_METHOD    NormMode  =  MODE_SMA;  //MODE_SMMA;  //
extern int                  Fast2  =  1;   //9;  //Signal
extern int                  Slow2  =  33;   
extern int                Shift21  =  0;   
extern int                Shift22  =  17;   
extern ENUM_MA_METHOD       Mode2  =  MODE_SMA;  //MODE_SMMA;  //
       bool            ShowSignal  =  true;     

extern int             CrossLevel  =  100;  
extern int             TrendLevel  =  200;                    
extern arrows         WhichArrows  =  arCrossSignal;  //enum arrows { ArrowsOFF, arSignal50, arMoreLess, arMoreLessLV, arCrossSignal, arExtremeLV, arCross50, arCrossLev, arMoreLessVLD, allArrows };   
extern showAR          ShowArrows  =  OUTSIDE;   //IN      
extern int               ARROWBAR  =  0;   //На каком баре рисовать Стрелку: =0 - рисовать на текущем (до закрытия - может исчезнуть)
extern int               ArrowGap  =  3;   //Дистанция от High/Low свечи  
extern color             ColorBUY  =  clrWhite,  //SpringGreen,  //LightBlue,  //LimeGreen,  //LightCyan,   //Aqua,  // //DarkTurquoise,  //FireBrick,   //Magenta,   //Aqua,  //
                        ColorSELL  =  clrRed;    //HotPink;  //HotPink;  //LightSalmon;  //Gold;  // //HotPink;  //Orange;   //SlateBlue;   //DodgerBlue;   //Lavender;  //Gold;  //
extern int                CodeBUY  =  233,
                         CodeSELL  =  234,  
                        ArrowSize  =  0;        

extern arrows         WhichAlerts  =  arCrossSignal;  //allAlerts;  //                          
extern int              SIGNALBAR  =  1;
extern bool         AlertsMessage  =  true,   //false,    
                      AlertsSound  =  true,   //false,
                      AlertsEmail  =  false,
                     AlertsMobile  =  false;
extern string           SoundFile  =  "alert2.wav";  //"expert.wav";   //"stops.wav"   //"alert2.wav"   //"news.wav";   //

extern showCD             ShowDPO  =  LINE;   //HISTO;  //DOTS;  //
extern cciCLR               Color  =  crossZero;   //crossSignal;  //
extern int                   Size  =  2;
extern int                DotCode  =  167;  //159;                           

double CCUP[], CCDN[], MAIN[], SIGMA[], FLAG[], TEMP[];       bool Once=false;
double levZR, levLO, levHI, tevLO, tevHI;   
int fast1, slow1, normPer, fast2, slow2, MTF, TFK, MTK, MAX, ARB, SGB;    
int shift11, shift12, shift21, shift22;
string TWIN, PREF;   bool PlotLN=false;   datetime TimeArr=0, TimeBar=0;  

int init()
{
      // код доступен только после оплаты
   }

int deinit()  { ALL_OBJ_DELETE();  Comment("");  return(0); }

void ALL_OBJ_DELETE()
{
   string name;
   for (int s=ObjectsTotal()-1; s>=0; s--) {
        name=ObjectName(s);
        if (StringSubstr(name,0,StringLen(PREF))==PREF) ObjectDelete(name); }
}  

datetime LastBarOpenTime=0; 

bool NewBarTF(int period) 
{
   datetime BarOpenTime=iTime(NULL,period,0);
   if (BarOpenTime!=LastBarOpenTime) {
       LastBarOpenTime=BarOpenTime;
       return (true); } 
   else 
       return (false);
}

datetime dtmPrevTime;

bool blnNewBar(ENUM_TIMEFRAMES TF)
{
   if (dtmPrevTime==iTime(NULL,TF,0))  return(false);
       dtmPrevTime=iTime(NULL,TF,0);   return(true);
}

int start()
{
      // код доступен только после оплаты
   }   //limit+=MAX;   Comment(limit);

   for (i=0; i<6; i++) { 
        SetIndexEmptyValue(i,0.0);                         //--- значение 0 отображаться не будет 
        if (History>MAX)  SetIndexDrawBegin(i,Bars-History); //--- пропуск отрисовки первых баров
        if (History<=MAX) SetIndexDrawBegin(i,MAX*3); }        //--- пропуск отрисовки первых баров  

   for (i=limit; i>=0; i--)   //(Close[i]-Low[iLowest(NULL,0,MODE_LOW,fast1,i)]) / (High[iHighest(NULL,0,MODE_HIGH,fast1,i)]-Low[iLowest(NULL,0,MODE_LOW,fast1,i)]) * 100; 
    {
     y = (RePaintMTF) ? iBarShift(TWIN,MTF,Time[i],false) : i;   

     TEMP[i]=0;   TEMP[i] = ( iMA(TWIN,MTF,fast1,shift11,Mode1,Price1,y) - iMA(TWIN,MTF,slow1,shift12,Mode1,Price1,y) ) / MarketInfo(TWIN,MODE_POINT);   //iCCI(TWIN,MTF,fast1,CCIPrice,y);    // /sqrt(iVolume(TWIN,MTF,y)) /pow(MarketInfo(TWIN,MODE_POINT),1.0) *100;   //( iMA(NULL,tf1,f1,0,MAMode,MAPrice,y1) - iMA(NULL,tf1,s1,0,MAMode,MAPrice,y1) ) /_Point;

     if (Interpolate==0 || (i>0 && y==iBarShift(NULL,MTF,Time[i-1]))) continue;
         interpolate(TEMP,MTF,Interpolate,i);
    }

   for (i=limit; i>=0; i--)  
    {    
     double stDev = iStdDevOnArray(TEMP,Bars,normPer,0,NormMode,i);
     MAIN[i]=0;   MAIN[i] = (NormPeriod>1 && stDev!=0) ? TEMP[i] / stDev *15 : TEMP[i];
    }

   for (i=limit; i>=0; i--)
    {
     SIGMA[i]=0;  if (Fast2>0 && Slow2>0) SI

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

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

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

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

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

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

Стоимость полного кода
1 757,60₽ ≈ $21.48