trading_volume_v1.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.