Перейти к содержанию

Доработка индикаторов: общая тема


Рекомендуемые сообщения

Доработка индикаторов: общая тема Опубликовано

Здравствуйте!
На МТ5 есть такой индикатор, можно ли его доработать таким образом, чтобы свечи из старшего ТФ выглядели как на МТ4?
Т.е. вместо серых прямоугольников были линии как подобает японской свечке))

Screenshot_1.png
backgroundcandle_htf.mq5

Ссылка на сообщение
Поделиться на другие сайты

  • Ответов 1,8k
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

прикрутилround_LevelsWhite_alert_1.mq4

Перейти

StepMA_Stoch alert.mq4

Перейти

1. Push-уведомления добавлены. Включается/выключаются в настройках NotificationAlerts 2. Текущий TF добавлен как в алерты, так и в PUSH-уведомления. 3. Ошибки исправлены.   Проверя

Перейти
Доработка индикаторов: общая тема Опубликовано

Здравствуйте друзья!
Пытаюсь написать индикатор, но пока не получается. Трендовая линия рисует на графике прямую линию по открытию бара и по времени заданным мною. Например открылась в [1] минуту а закрылась в [39] минут, если цена "1" открытия больше цены "2" то рисуется красная линия, а если наоборот меньше то лайм.
Нужен ли для каждой линии буфер, не более ~15? или можно ограничить по барам 1440 на минутке.
Может быть из-за стиля и толщины линии ничего нету
Продолжим линию (свойство луч):
ObjectSet(name,OBJPROP_RAY,false);


#property strict
#property indicator_chart_window
#property indicator_buffers 2
double Buffer1[];
double Buffer2[];
extern int Time1 = 1; // Время открытия первой точки
extern int Time2 = 39; // Время открытия второй точки
extern color indicator_color1 = Red; // цвет линий красный
extern color indicator_color2 = Lime; // цвет линий лайм
double price1 = PRICE_OPEN; //первая точка по цене открытия бара
double price2 = PRICE_OPEN; //вторая точка по цене открытия бара
bool ObjectCreate( string name="L1",ENUM_OBJECT= OBJ_TREND, int sub_window =0, datetime Time1=1, double price1=0, datetime Time2=39, double price2=0);

int OnInit()
{
SetIndexBuffer(0,Buffer1);
return(INIT_SUCCEEDED);
}
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[])
{
for (int i=0; iif ( (TimeCurrent()==Time1)&& price1 { // был и такой вариант. if (price1 &&(TimeMinute (TimeCurrent(Time1)) ObjectSet("L1",OBJPROP_COLOR,Lime);
}
else
{( (TimeCurrent()==Time1)&& price1 > (TimeCurrent()==Time2)&& price2); // хотя тут ругается что не имеет эффекта
{
ObjectSet("L1",OBJPROP_COLOR,Red);
}
}
return(rates_total);
}

Изменено пользователем xeon5923
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

(TimeCurrent()==Time1)&& price1 > (TimeCurrent()==Time2)&& price2); // хотя тут ругается что не имеет эффекта

тут я согласен с компилятором :) цену надо сравнивать с ценой, время с временем , а просто &&price2 - писать нельзя ибо за && должна быть булева величина.
Даже не знаю что посоветовать, ибо не понял нечего. Попробуйте найти похожий индюк и его модифицировать.
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Товарищи, подкорректируйте индикатор.
При инициализации на графике рисуются 3 вертикальных линии. Одна из них красная (горизонт данных), которая ограничивает историю для анализа. Необходимо удалить это ограничение. (Непонятно для чего ограничение, когда история для анализа итак задается двумя другими вертикальными линиями.)

Ссылка на индикатор VP-Range-v6.

Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

При инициализации на графике рисуются 3 вертикальных линии.


Лично у меня там 2 линии - синяя и красная, это диапазон данных. Красная линия двигается куда нужно вручную. https://www.mql5.com/ru/code/15445
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано


При инициализации на графике рисуются 3 вертикальных линии.


Лично у меня там 2 линии - синяя и красная, это диапазон данных. Красная линия двигается куда нужно вручную. https://www.mql5.com/ru/code/15445


Качал именно с mql5, так же пробовал более раннюю версию (не v6).
При попытке переместить красную линию DrawVLine (Red, STYLE_DOT) (на рис.ср.линия) на след.тике она возвращается на "своё" место.
Спойлер





Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Это ограничение периода DataSource. Чем выше ставишь, тем больше ограничение задано.

Установил равным текущему ТФ, скрыл настройку. Теперь для анализа берется столько баров, сколько загружено на график.

VP-Range-v6.1.mq4

  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

тут я согласен с компилятором цену надо сравнивать с ценой, время с временем , а просто &&price2 - писать нельзя ибо за && должна быть булева величина.
Даже не знаю что посоветовать, ибо не понял нечего. Попробуйте найти похожий индюк и его модифицироват


Спасибо за ответ) и помощь. Так и получилось что не с нуля, а брал пять индикаторов разных похожих по свойствам и изучал, менял в них данные +F1. Хотя уже понимаю что не обязательно OBJ_TREND, а любой визуально удобный индикатор с двумя цветами и заданным временем. Это взято из просторов, возможно это вы имеете в виду. Пока работаю над тем чтобы получилось хоть что-то) http://tradelikeapro.ru/mql4-vremya-na-poisk-oshibok/ тоже полезно
//Проверим что трендовая линия нарисована правильно (по движению цены):
datetime t1=ObjectGet(name,OBJPROP_TIME1);
datetime t2=ObjectGet(name,OBJPROP_TIME2);
if(t1>t2)
//Определим тренд (вверх или вниз):
bool trend=false;
double p1=ObjectGet(name,OBJPROP_PRICE1);
double p2=ObjectGet(name,OBJPROP_PRICE2);
if(p1
За готовый индикатор готов пополнить телефон(с) Romantik)) Изменено пользователем xeon5923
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано
xeon5923 Попробуйте объяснить что Вам нужно, нарисуйте в паинте как должно выглядеть. Я только понял, что по барам нужно линию рисовать, только откуда и куда неясно.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано


xeon5923 Попробуйте объяснить что Вам нужно, нарисуйте в паинте как должно выглядеть. Я только понял, что по барам нужно линию рисовать, только откуда и куда неясно.


Думаю по хорошему начать надо с одной линии по заданному времени, потом цвет или ограничения по количеству добавить.
http://fxpics.ru/image/rJ8MW

Пример.jpg

Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано
xeon5923 становится понятней, т.е. надо провести линию от цены открытия бара со временем хх:01 до цены закрытия бара со временем хх:35, где хх - это каждый час. Раскрасить в зависимости от наклона и ограничить рисование в прошлом не далее суток. Так?
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано


Допускаю что может работать при функции SetIndexBuffer() (но тут не более 8 линий) или при void OnTimer() пока тоже изучаю. Даже при назначении времени от хх:01 и возможности задавать поминутно +34 мин. по барам весь день( или +15) Вариантов получается много, а вот какой оптимальнее.

Вашу задачу можно выполнить через 2 буфера (пример рисования отрезков через цикл), или с помощью графических объектов, чтоб не захламить график линиями - можно удалять линии нарисованные более суток назад. Изменено пользователем 0ll
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Уважаемые форумчане, понадобилось мне рассчитать (не в MT) индикатор CCI и: то ли глаз замылился, или я чего-то не так делаю, в общем не получается у меня...

Сделал я в LibreOffice Calc тестовый стенд с данными по EURUSD с 01.05.2018 по текущее время и провел расчет CCI по инструкции
metatrader5.com/ru/terminal/help/indicators/oscillators/cci
, результат - какая то ерунда.

Посмотрите, кто может: где я накосячил
Спасибо за помощь!

Расчет_CCI.zip

Изменено пользователем roman01
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Привет!

Есть редкий индикатор. Чем-то он похож на каналы ТМА. Проблема в том, что его код явно не оптимизирован, т.к. терминал подгружается.
Может его кто оптимизировать? Пытался задать ограниченное число баров, чтобы не рисовал по всей истории. Не работает.

Hurst_Bands_BIG.mq4

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Может его кто оптимизировать?

Нужен-ли расчёт индикатора на 0-баре, т.е. на каждом тике? если нет, то по закрытию бара должен работать шустрее - там просто вложенные циклы. ну и адаптировать код под последние версии mql не мешало-бы.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

  • 2 weeks later...
Доработка индикаторов: общая тема Опубликовано

Здравствуйте, не могу найти решение...
Как получить предпоследнее значение индикатора?
к примеру фрактала. Вот так получил последний..

double FR_UP = 0;
double FR_DW =0;
double Element[10];
int q = 0;

FR_UP = iFractals(NULL, 0, MODE_UPPER, i);
FR_DW = iFractals(NULL, 0, MODE_LOWER, i);

if(FR_UP != 0)
{
Element[q]=FR_UP;
q++;
}

Twh9TJGuvRI.jpg

Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Здравствуйте, не могу найти решение...
Как получить предпоследнее значение индикатора?

Попробуйте не искать, а не затирать старое (предыдущее)
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Нужна помощь . Не получается прикрепить 2 индикатора к советнику. Через журнал в тестере вывел через PRINT значения индюка по каждой свече. Выводятся значения за несколько тиков , секунд , дальше провал в несколько часов, потом опять несколько значений выводятся. За это время индикаторы несколько раз направление меняют. Вот смену направления никак и не выявить.
Разработчики индюков наверно какую нибудь подлянку в код вставили.
Заранее благодарен за помощь.

HA.mq4
SOM.mq4

Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Не получается прикрепить 2 индикатора к советнику

Покажите код советника (ту часть, связанную с вызовом индикаторов).
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Покажите код советника (ту часть, связанную с вызовом индикаторов).



Buy=iCustom(NULL,0,"SOM",period,method,price,0,0);
Sell=iCustom(NULL,0,"SOM",period,method,price,1,0);
Print("Buy" , + Buy);
Print("Sell" , + Sell);
StopBuy();
StopSell();

В журнале тестера непонятно как выводятся значения индикатора-через несколько свечей. Смену направления индюка не показывает. Постоянно одно значение EMPTY_VALUE (2147483647.0) , другое - цена по паре. Тестирую на М5 , период индикатора - 15.

С индикатором НА разобрался сам. Изменено пользователем batmanuyga
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано
batmanuyga посмотрел код SOM - очень стрёмно написан. На каждом баре пересчитывается заново. Попробуйте его считывать не на 0-м, а на 1 баре.
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

batmanuyga посмотрел код SOM - очень стрёмно написан. На каждом баре пересчитывается заново. Попробуйте его считывать не на 0-м, а на 1 баре.



Это первым делом и сделал, когда не получалось. Такая же хрень выходит со значениями индикатора... Там еще и третий(2) буфер есть. Его тоже в журнал выводил. Он всегда цену по паре показывает. Когда его выводишь , почему то (0) и (1) буфер меняют местами свои значения.
Точно разработчики намудрили, запутали, чтоб никто не смог пользоваться... Этот индикатор из советника MARTIN LOCKER KING. А он платный.
А ты не мог бы что то там в коде изменить ? Очень уж нужен этот индикатор, реально хороший. И многим ребятам , наверно, пригодился бы в их советниках...
Я то в следствии тупости и труднодоходимости сам не врублюсь. В советниках чуть шарю в кодах. А вот индикаторы - китайские иероглифы. Изменено пользователем batmanuyga
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано


Здравствуйте, не могу найти решение...
Как получить предпоследнее значение индикатора?

Попробуйте не искать, а не затирать старое (предыдущее)


Идея отличная..(но если ничего не делать, то ничего и не будет)хочу сделать стрелочный индикатор на основе АВС паттерна, за теорией доу.
На сколько я понял нужно данные индикатора отправить в массив, потом массив очистить от 0 значений, и далее перебрать массив с помощью цикла for.
Кто то может помочь с этим вопросом(с кодом). Моих знаний к сожалению не достаточно.
Скин ниже:

EURUSDM150412.png

Изменено пользователем Alex Fato
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

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

Нет. Вы анализируете например 3 последних значения индюка, эти данные поступают последовательно и не регулярно. Объявляем массив в 3 ячейки, при приходе нового значения старые переписываем из 1 -> 2, из 0 -> 1 и новое пишем в свободную 0-ую ячейку. Таким образом у нас под рукой всегда 3 последних значения и никаких циклов. Изменено пользователем 0ll
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Доработка индикаторов: общая тема Опубликовано

Уважаемые эксперты, без Вашей помощи не получается вставить индикатор в советник. Советник не видит индикатор - что-то я неправильно делаю.
Во вложении индикатор CCI_nrp_advanced(mtf+alerts+arrows).mq4
Вот так он выглядит на графике - см. картинку
http://fxpics.ru/image/r1HVc
По некоторому скромному опыту ручной торговли - довольно правдивый индюк если использовать смену цвета индикатора при пересечении диапазона +- 10, ну и конечно фильтровать сигналы по тренду.
Хотел проверить его работу в советнике но не смог подключить...
Заранее спасибо за помочь! Всем удачи!

CCI_-_nrp__advancedmtf_+_alerts_+_arrows.mq4

Изменено пользователем dub150
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...