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

#trading_vol_signal.mq5

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

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

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

О программе

Индикатор Trading Vol отображает на графике MetaTrader 5 панель аналитики с оценкой бычьего и медвежьего давления. Он рассчитывает соотношение покупательской и продавательской активности тремя способами: по цене открытия, по цене закрытия или по размеру свечи (сентимент), и усредняет результат заданным числом баров.

Результаты отображаются в виде двух полос в правом верхнем углу графика с процентными значениями бычьей и медвежьей силы. При преодолении верхнего или нижнего пороговых уровней индикатор показывает текстовые сигналы «Buy», «Sell» или «Caution».

Настройки позволяют выбрать метод расчёта, количество баров для усреднения, положение панели и границы для отображения сигналов. Индикатор работает на графике любого инструмента и таймфрейма.

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

НастройкаОписание
CalculationBy Выбор метода расчёта соотношения: по цене закрытия (BidRatio), по цене открытия (OpenRatio) или по сентименту свечи (BodyRatio).
InpPeriod Количество баров для усреднения расчётных значений. Значение 0 означает расчёт по текущему бару без усреднения.
VolDash_Up Вертикальное смещение панели индикатора от правого верхнего угла графика в пикселях.
VolDash_Sd Горизонтальное смещение панели индикатора от правого верхнего угла графика в пикселях.
PerUp Верхний пороговый уровень в процентах. При преодолении бычьей силой этого уровня отображается сигнал покупки.
PerDn Нижний пороговый уровень в процентах. При преодолении медвежьей силой этого уровня отображается сигнал продажи.
Получить полный код

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

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

enum way
  {
   BidRatio,
   OpenRatio,
   BodyRatio,
  };

input way    CalculationBy = BodyRatio; // Ratio Calculation Type
input int    InpPeriod     = 1; // How many Bars Back
extern int   VolDash_Up    = 0; // Reposition Dashboard Up / Down
extern int   VolDash_Sd    = 0; // Reposition Dashboard Left / Right
extern int   PerUp         = 70; // Upper Limit
extern int   PerDn         = 20; // Lower Limit

long result=-1;

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

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

void OnDeinit(const int reason)
  {
   ObjectDelete("Bullish1");  
   ObjectDelete("Bearish1");
   ObjectDelete("TickBG1");
   ObjectDelete("DnPer1");
   ObjectDelete("UpPer1");
   ObjectDelete("PowerDN");
   ObjectDelete("PowerUP");
   ObjectDelete("PowerNIL");
   ObjectDelete("");
   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 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;
   if(PRange>0)
      BidRatio=(PairB-PairL)/(PairH-PairL)

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

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

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

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

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

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

Стоимость полного кода
702,30₽ ≈ $8.75