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

trading_volume_v1.mq5

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

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

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

О программе

Индикатор Trading Volume отображает на графике MetaTrader 5 соотношение бычьих и медвежьих позиций, рассчитанное одним из трёх доступных методов. Он анализирует каждый свечной бар и создаёт графические объекты с текстовыми метками, показывающими процентное распределение между покупками и продажами. Результат представляется в виде цветных прямоугольников и подписей в заданном углу ценового окна.

Расчёт может выполняться по трём схемам: через соотношение цены закрытия к диапазону бара, через цену открытия или через отношение тела свечи к его диапазону (анализ настроения). Дополнительно доступно усреднение показателей за заданный период, что позволяет сгладить краткосрочные колебания и получить более стабильную картину.

Пользователь может выбрать расположение информационного блока в одном из четырёх углов графика и настроить горизонтальное и вертикальное смещение. При переключении параметров или обновлении данных индикатор автоматически пересчитывает значения и обновляет отображаемые объекты на графике.

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

НастройкаОписание
CalculationBy Метод расчёта соотношения бычьих и медвежьих позиций. Доступны варианты: BidRatio — расчёт по соотношению цены закрытия к диапазону бара, OpenRatio — по цене открытия, BodyRatio — по отношению тела свечи к её диапазону (анализ настроения).
InpPeriod Период усреднения рассчитанных значений. Если задано значение 0, используются данные текущего бара без усреднения. При значении больше 0 показатели усредняются за указанное количество баров.
Position Положение информационного блока на графике. Доступны варианты: UpperLeft — верхний левый угол, UpperRight — верхний правый угол, LowerLeft — нижний левый угол, LowerRight — нижний правый угол.
X_Offset Горизонтальное смещение информационного блока от выбранного угла графика в пикселях.
Y_Offset Вертикальное смещение информационного блока от выбранного угла графика в пикселях.
Получить полный код

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

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

enum Pos
  {
   UpperLeft,
   UpperRight,
   LowerLeft,
   LowerRight
  };

enum way
  {
   BidRatio,
   OpenRatio,
   BodyRatio,
  };

input way    CalculationBy =BodyRatio;
input int    InpPeriod     =1;

input Pos    Position      =UpperLeft;
input int    X_Offset      =5;
input int    Y_Offset      =20;

double BullO[],BearO[],BullC[],BearC[],BullS[],BearS[],Bulli[],Beari[];
double Bull,Bear;

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

int deinit()
  {

   ObjectDelete("VolBG1");
   ObjectDelete("Text1");
   ObjectDelete("Bulls1");
   ObjectDelete("Bullish1");
   ObjectDelete("UpPer1");
   ObjectDelete("Bears1");
   ObjectDelete("Bearish1");
   ObjectDelete("DnPer1");

   return(0);
  }

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 PowerOpen(int i)
  {
   double BidRatio=0;
   double Bulls=0,Bears=0;

   double PairH=iHigh(Symbol(),0,i);
   double PairL=iLow(Symbol(),0,i);

   double PairB=iOpen(Symbol(),0,i);
   double PRange=(PairH-PairL)*Point;
   if(PRange>0)
      BidRatio=(PairH-PairB)/(PairH-PairL);

   Bulls=BidRatio;
   Bears=1-Bulls;

   BullO[i] = MathRound(Bulls*100);
   BearO[i] = MathRound(Bears*100);
  }

void PowerClose(int i)
  {
   double BidRatio=0;
   double Bulls=0,Bears=0;

   double PairH=iHigh(Symbol(),0,i);
   double PairL=iLow(Symbol(),0,i);

   double PairB=iClose(Symbol(),0,i);
   double PRange=(PairH-PairL)*Point;
   

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

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

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

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

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

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

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