//+------------------------------------------------------------------+ //| DeMarkerTrend_x10.mq5 | //| Copyright © 2015, Nikolay Kositsin | //| Khabarovsk, farria@mail.redcom.ru | //+------------------------------------------------------------------+ #property copyright "2015, Nikolay Kositsin" #property link "farria@mail.redcom.ru" #property description "Индикатор отображает положение осциллятора DeMarker с разных таймфреймов" //---- номер версии индикатора #property version "1.00" //---- отрисовка индикатора в главном окне #property indicator_chart_window //---- количество индикаторных буферов 0 #property indicator_buffers 0 //---- не использовано ни одного графического построения #property indicator_plots 0 //+-----------------------------------+ //| объявление констант | //+-----------------------------------+ #define RESET 0 // Константа для возврата терминалу команды на пересчёт индикатора #define INDTOTAL 10 // Константа для количества отображаемых индикаторов //+----------------------------------------------+ // Описание перечисления type_font | // Описание класса CFontName | //+----------------------------------------------+ #include //+----------------------------------------------+ //| Входные параметры индикатора | //+----------------------------------------------+ input ENUM_TIMEFRAMES TimeFrame0=PERIOD_H1; //период графика 1 input ENUM_TIMEFRAMES TimeFrame1=PERIOD_H2; //период графика 2 input ENUM_TIMEFRAMES TimeFrame2=PERIOD_H3; //период графика 3 input ENUM_TIMEFRAMES TimeFrame3=PERIOD_H4; //период графика 4 input ENUM_TIMEFRAMES TimeFrame4=PERIOD_H6; //период графика 5 input ENUM_TIMEFRAMES TimeFrame5=PERIOD_H8; //период графика 6 input ENUM_TIMEFRAMES TimeFrame6=PERIOD_H12; //период графика 7 input ENUM_TIMEFRAMES TimeFrame7=PERIOD_D1; //период графика 8 input ENUM_TIMEFRAMES TimeFrame8=PERIOD_W1; //период графика 9 input ENUM_TIMEFRAMES TimeFrame9=PERIOD_MN1; //период графика 10 //---- Параметры DeMarker input int DeMarkerPeriod=14; input double UpLevel=0.7; //уровень перезакупа input double DnLevel=0.3; //уровень перепроданности //---- input color CpColor=clrDarkOrchid; //цвет названия индикатора input color UpColor=clrDodgerBlue; //цвет перекупленности индикатора input color DnColor=clrRed; //цвет перепроданности индикатора input color ZrColor=clrGray; //цвет без изменения input int FontSize=11; //размер шрифта input type_font FontType=Font14; //тип шрифта input ENUM_BASE_CORNER WhatCorner=CORNER_LEFT_LOWER; //угол расположения input uint Y_=20; //расположение по вертикали input uint X_=5; //расположение по горизонтали //+----------------------------------------------+ string sFontType; int min_rates_total; uint xshift,shift[11]; string sPer[10],sPerA[10],sPerB[10],Cap; ENUM_TIMEFRAMES ePer[10]; //+------------------------------------------------------------------+ //| Получение таймфрейма в виде строки | //+------------------------------------------------------------------+ string GetStringTimeframe(ENUM_TIMEFRAMES timeframe) {return(StringSubstr(EnumToString(timeframe),7,-1));} //+------------------------------------------------------------------+ //| Класс массивов | //+------------------------------------------------------------------+ class CIndArrow { //---- public: double m_Ind[1]; int m_Handle; ENUM_TIMEFRAMES m_TimeFrame; //---- }; //---- объявление массивов, которые будут в // дальнейшем использованы для получения индикаторных значений CIndArrow Ind[INDTOTAL]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //---- ePer[0]=TimeFrame0; ePer[1]=TimeFrame1; ePer[2]=TimeFrame2; ePer[3]=TimeFrame3; ePer[4]=TimeFrame4; ePer[5]=TimeFrame5; ePer[6]=TimeFrame6; ePer[7]=TimeFrame7; ePer[8]=TimeFrame8; ePer[9]=TimeFrame9; for(int poz=0; pozUpLevel) ColorGain[poz]=UpColor; if(Ind[poz].m_Ind[0]