precision trend.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «precision trend.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий два буфера в виде гистограмм в окне графика. Один буфер рисуется зелёным цветом, другой — красным; их внешний вид задаётся свойствами indicator_color1 и indicator_color2. Индикатор использует два пользовательских числовых параметра для управления расчётом и отображением аналитических линий на ценовом графике. Логика определяет направление тренда и строит верхнюю и нижнюю границы, меняя цвет гистограммы при смене направления.
Настройки программы
| Настройка | Описание |
|---|---|
| Average period (avgPeriod) | Период усреднения — Целочисленный параметр, задающий количество баров для расчёта усреднённого диапазона цены (High-Low). |
| Sensitivity (sensitivity) | Чувствительность — Числовой множитель, масштабирующий рассчитанный усреднённый диапазон и влияющий на ширину границ индикатора. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_width1 1
#property indicator_width2 1
#property strict
extern int avgPeriod = 30; // Average period
extern double sensitivity = 3; // Sensitivity
double upBuffer[],dnBuffer[];
int init()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
double wrkBuffer[][7];
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
if (ArrayRange(wrkBuffer,0) != Bars) ArrayResize(wrkBuffer,Bars);
for(int i=limit, r=Bars-i-1; i>=0; i--,r++)
{
upBuffer[i] = EMPTY_VALUE;
dnBuffer[i] = EMPTY_VALUE;
wrkBuffer[r][0] = High[i]-Low[i];
wrkBuffer[r][2] = wrkBuffer[r][0];
int k=1; for (; k<avgPeriod && (r-k)>=0; k++) wrkBuffer[r][2] += wrkBuffer[r-k][0];
wrkBuffer[r][2] /= k;
wrkBuffer[r][2] *= sensitivity;
if (i==(Bars-1))
{
wrkBuffer[r][1] = 0;
wrkBuffer[r][3] = Close[i]-wrkBuffer[r][2];
wrkBuffer[r][4] = Close[i]+wrkBuffer[r][2];
wrkBuffer[r][5] = Close[i];
wrkBuffer[r][6] = Close[i];
continue;
}
else
{
wrkBuffer[r][1] = wrkBuffer[r-1][1];
wrkBuffer[r][3] = wrkBuffer[r-1][3];
wrkBuffer[r][4] = wrkBuffer[r-1][4];
Показано первые 50% кода (символов: 2198)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.