!!! hawkeye - volume indicator.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «!!! hawkeye - volume indicator.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор отображает тиковый объём с наложением скользящей средней в отдельном окне. Объём раскрашивается в зависимости от направления тренда: зелёный — восходящий, красный — нисходящий, белый — боковик. Скользящая средая рассчитывается по выбранному типу и периоду.
Индикатор использует четыре буфера: линия скользящей средней объёма и три гистограммы (зелёная, красная, белая), соответствующие направлению тренда. Тренд определяется на основе соотношения цены закрытия с границами верхней и нижней зон бара и соотношением с экстремумом предыдущего бара.
Параметры настройки включают период скользящей средней, тип среднего и количество отображаемых баров. Индикатор совместим с MetaTrader 5 и рассчитывается на каждом тике.
Настройки программы
| Настройка | Описание |
|---|---|
| Length | Период скользящей средней, применяемой к тиковому объёму. |
| MaMode | Тип скользящей средней для расчёта: SMA (простая), EMA (экспоненциальная), SMMA (сглаженная) или LWMA (линейно-взвешенная). |
| NumberOfBars | Количество баров, отображаемых на графике. При значении 0 или меньше отображаются все бары. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 clrDimGray
#property indicator_color2 clrLime
#property indicator_color3 clrRed
#property indicator_color4 clrWhite
#property indicator_width1 1
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property strict
input int Length = 50;
enum enMaTypes
{
ma_sma, // Simple moving average
ma_ema, // Exponential moving average
ma_smma, // Smoothed MA
ma_lwma, // Linear weighted MA
};
input enMaTypes MaMode = ma_ema;
input int NumberOfBars = 500;
double v4[],GREEN[],RED[],WHITE[],trend[];
int OnInit()
{
// код доступен только после оплаты
}
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[])
{
// код доступен только после оплаты
}
int i,r,limit = rates_total-(prev_calculated>0 ? prev_calculated : 1);
SetIndexDrawBegin(0,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
SetIndexDrawBegin(1,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
SetIndexDrawBegin(2,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
SetIndexDrawBegin(3,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
SetIndexDrawBegin(4,(NumberOfBars<=0?0:rates_total-NumberOfBars+1));
for(i=limit, r=rates_total-i-1; i>=0; i--,r++)
{
double MIBAR = (high[i]+low[i])/2; // EXACT MIDDLE
double UPBAR = (high[i]+low[i])/2 + (high[i]-low[i])/6; // UP CLOSE
double DNBAR = (high[i]+low[i])/2 - (high[i]-low[i])/6; // DOWN CLOSE
trend[i] = (r>0) ? (close[i]>UPBAR && open[i]<close[i] && close[i]>high[i+1]) ? 1 :
(close[i]<DNBAR && open[i]>close[i] && close[i]< low[i+1]) ? -1 : 0 : 0;
GREEN[i] = (trend[i] == 1) ? NormalizeDouble(tick_volume[i],0) : EMPTY_VALUE;
RED[i] = (trend[i] ==-1) ? NormalizeDouble(tick_volume[i],0) Показано первые 50% кода (символов: 4222)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.