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

Golden MA MTF TT [x5]

golden ma mtf tt [x5].mq5
Вы автор или правообладатель?

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

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

О программе

Golden MA MTF TT [x5] — это пользовательский индикатор для MetaTrader 5, который строит на графике систему ценовых зон на основе расчётной средней цены и пипсовых смещений. Индикатор работает на выбранном таймфрейме (MTF) и отрисовывает уровни верхней и нижней зон, центральную линию, а также текстовые метки с описанием каждой зоны.

Индикатор поддерживает пять методов расчёта средней цены: по закрытию, по OHLC-среднему, медиане, типичной цене и взвешенной цене. Внутренние пипсовые уровни между основными зонами могут отображаться дополнительными линиями. Также индикатор может показывать предыдущий дневной максимум и минимум, а также линии начала и конца торгового периода.

Все графические объекты создаются автоматически при появлении нового бара на выбранном таймфрейме и удаляются перед перерисовкой. Индикатор не использует буферы для отрисовки — вся визуализация реализована через объекты графика (трендовые линии и текстовые метки).

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

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

#property description "Оригинальная идея:  GaoShan  @   k**c*@yeah.net"
#property description " "
#property description "расширил настройки  :-))" 
#property description " "
#property description "Почта:  t*******e*@mail.ru" 

#property indicator_chart_window
#property indicator_buffers 0

enum calcPR { CO, OCLH, MEDIAN, TYPICAL, WEIGHTED };

extern ENUM_TIMEFRAMES ПериодГрафика  =  PERIOD_D1;
extern calcPR                   ЦЕНА  =  TYPICAL;
extern int                СтартПипсы  =  20;
extern int                ВнутрПипсы  =  1;
extern bool              ЗаГраницами  =  false;
extern int        СколькоЧасовВправо  =  4;  //12;
extern color               ЦветЦентр  =  clrDarkSlateBlue,  //LightSteelBlue,
                              ЦветHI  =  clrMediumBlue,
                              ЦветLO  =  clrMediumVioletRed;   //Brown;
extern int               РазмерЦентр  =  5,
                          РазмерHiLo  =  4;

extern bool            ВчерашнийHiLo  =  true;
extern color                вчерЦвет  =  clrOrange;
extern int                вчерРазмер  =  1;
extern ENUM_LINE_STYLE     вчерСтиль  =  STYLE_DOT;

extern int               ТекстРазмер  =  8;
extern bool              МеткиСправа  =  true;
extern color               ТекстЦвет  =  clrWhite;
string                         ШРИФТ  =  "Verdana";   //"Arial";

extern bool       НачалоКонецПериода  =  true;

double HIGH, LOW, OPEN, CLOSE, MID;
double HI1, HI2, HI3, HI4, HI5;
double LO1, LO2, LO3, LO4, LO5;    int stPIP, inPIP;
double POINT;   datetime LastBarOpenTime;  string PREF;

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

int deinit()  { ALL_OBJ_DELETE();  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); }  
}

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

int start() 
{
      // код доступен только после оплаты
   }
   if (NewBarTF(ПериодГрафика)) ALL_OBJ_DELETE();  //PERIOD_D1

   HIGH  = iHigh(NULL, ПериодГрафика, 1);   //PERIOD_D1
   LOW   = iLow(NULL, ПериодГрафика, 1);
   OPEN  = iOpen(NULL, ПериодГрафика, 1);
   CLOSE = iClose(NULL, ПериодГрафика, 1);

   if (ЦЕНА==0) MID = NormalizeDouble((CLOSE + OPEN) / 2, Digits);
   if (ЦЕНА==1) MID = NormalizeDouble((OPEN + CLOSE + LOW + HIGH) / 4, Digits);
   if (ЦЕНА==2) MID = NormalizeDouble((HIGH + LOW) / 2, Digits);
   if (ЦЕНА==3) MID = NormalizeDouble((HIGH + LOW + CLOSE) / 3, Digits);
   if (ЦЕНА==4) MID = NormalizeDouble((HIGH + LOW + 2 * CLOSE) / 4, Digits);

   HI1 = NormalizeDouble(MID + stPIP * POINT, Digits);
   HI2 = NormalizeDouble(MID + 2 * stPIP * POINT, Digits);
   HI3 = NormalizeDouble(HI1 + MID - LOW - 5 * POINT, Digits);
   HI4 = NormalizeDouble(MID + (HIGH - LOW) + 5 * POINT, Digits);
   HI5 = NormalizeDouble(2 * MID + (HIGH - 2 * LOW) + 5 * POINT, Digits);

   LO1 = NormalizeDouble(MID - stPIP * POINT, Digits);
   LO2 = NormalizeDouble(MID - 2 * stPIP * POINT, Digits);
   LO3 = NormalizeDouble(LO1 + MID - HIGH + 5 * POINT, Digits);
   LO4 = NormalizeDouble(MID - (HIGH - LOW) - 5 * POINT, Digits);
   LO5 = NormalizeDouble(2 * MID - (2 * HIGH - LOW) - 5 * POINT, Digits);

   datetime timeD0 = iTime(NULL, ПериодГрафика, 0);
   datetime timeD1 = iTime(NULL, ПериодГрафика, 1);
   datetime timeCUR = iTime(NULL, 0, 0) + 3600*СколькоЧасовВправо;

   if (ВчерашнийHiLo) {
       creatTrendLineObj2("_YHI", timeD1, HIGH, timeCUR, HIGH, вчерЦвет, вчерРазмер, вчерСтиль);
       creatTrendLineObj2("_YLO", timeD1, LOW, timeCUR, LOW, вчерЦвет, вчерРазмер, вчерСтиль);

       if (ТекстРазмер>4) {
           datetime precur = timeD1;   if (МеткиСправа) precur = timeD0;
           createTextObj("_YHI_tx", precur, HIGH, StringConcatenate("[Previous High]: ", HIGH));  //Yesterday
           createTextObj("_YLO_tx", precur, LOW, StringConcatenate("[Previous Low]: ", LOW)); } }  //Yesterday

   if (НачалоКонецПериода) {
       creatTrendLineObj2("_YStrt", timeD1, WindowPriceMin()-10*POINT, timeD1, WindowPriceMax()+10*POINT, DarkGray, 1, STYLE_DOT);
       creatTrendLineObj2("_YEnd", timeD0, WindowPriceMin()-10*POINT, timeD0, WindowPriceMax()+10*POINT, DarkGray, 1, STYLE_DOT);
       creat

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

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

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

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

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

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

Стоимость полного кода
742,70₽ ≈ $9.08