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

addcandles.mq5

Вы автор или правообладатель?

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

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

О программе

AddCandles — пользовательский индикатор для MetaTrader 4 (MQL4), отображаемый в окне графика. Он агрегирует почасовые бары в составные свечи заданной продолжительности и отрисовывает их графическими объектами прямоугольников и трендовых линий на ценовом графике. Цвет свечи определяется соотношением открытия и закрытия: бычья, медвежья или доджи. Группировка привязана к часовым поясам через смещение от GMT и работает только на таймфрейме H1.

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

НастройкаОписание
ValidTimeFrames Допустимые таймфреймы — Текстовая строка со списком допустимых периодов (в минутах), кратных текущему таймфрейму графика; используется для проверки корректности настройки TimeFrameInMinutes при инициализации.
TimeFrameInMinutes Период в минутах — Длительность составной свечи в минутах; определяет, сколько почасовых баров объединяются в одну составную свечу и должно быть кратным текущему периоду графика.
UpCandleColor Цвет бычьей свечи — Цвет графических объектов составной свечи, когда цена закрытия выше цены открытия.
DownCandleColor Цвет медвежьей свечи — Цвет графических объектов составной свечи, когда цена открытия выше цены закрытия.
DojiCandleColor Цвет доджи-свечи — Цвет графических объектов составной свечи, когда цена открытия равна цене закрытия.
BrokerHourDiffGMT Разница часов брокера и GMT — Смещение в часах между серверным временем брокера и GMT, используемое для выравнивания границ групп составных свечей.
NumCandlesToRedraw Количество свечей для перерисовки — Число составных свечей, которые перерисовываются при инициализации индикатора для отображения исторических данных.
Width Ширина линий — Толщина линий используемых графических объектов (прямоугольников и трендовых линий свечей).
Получить полный код

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

#property version   "1.00"
#property strict
#property indicator_chart_window

input string   ValidTimeFrames="H1(60),H2(120),H3(180),H4(240),H6(360),H8(480),H12(720)";
input int      TimeFrameInMinutes=480;
input color    UpCandleColor=clrGreen;
input color    DownCandleColor=clrRed;
input color    DojiCandleColor=clrBlue;
input int      BrokerHourDiffGMT=0;
input int      NumCandlesToRedraw=200;
input int      Width=3;

int obj_counter = 0;
int groups[];
int numGroups = 0;
int numHoursInGroup = 0;
int maxBarsToCheck = 0;
bool newCandle = false;

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

void OnDeinit(const int reason)
{

   for(int i=0; i<obj_counter; i++)
      ObjectDelete("obj"+IntegerToString(i));
   Comment("");

}  

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
      // код доступен только после оплаты
   }

void DrawClosedCandle(int i, int g)
{
   if(i-numHoursInGroup+1 < 0) return;
   double highest = -1e20;
   double lowest  = +1e20;
   double open    = Open[i];
   double close   = Close[i-numHoursInGroup+1];
   color clr = DojiCandleColor;
   double highStart = open;
   double lowStart = close;
   if(open > close){clr = DownCandleColor;}
   if(close > open){clr = UpCandleColor; highStart = close; lowStart = open;}

   for(int c=0; c<numHoursInGroup; c++)
   {
      if(High[i-c] > highest) highest = High[i-c];
      if(Low[i-c] < lowest) lowest = Low[i-c];      

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

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

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

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

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

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

Стоимость полного кода
482,50₽ ≈ $5.90