Обсуждение статьи "Горизонтальные диаграммы на графиках MеtaTrader 5" - страница 3

 
Andrei Novichkov:

Я не самый упорный человек, в этом моя слабость )

Я уже отвечал на вопрос, о чем статья. Но я готов еще раз пояснить.

Индикаторы, которые приведены в статье, приведены  в качестве примера. Выполняют они единственную задачу - показывают, как подключить включаемый файл и что после этого будет. Я получал такие же скриншоты, как у Вас, пока писал статью. Такая ситуация получается при  событиях CHART_EVENT и, конечно же, это не допустимо в рабочем индикаторе. Здесь же это ошибкой быть не может, как я вполне уверен. В учебных индикаторах обработчик события сделан, но без особых изысков, примитивно. А больше и не нужно и я не учитывал, что эти индикаторы будут вынуждены интенсивно перемещаться.

Как нужно работать с кодом в статье есть, вы не внимательно прочитали. На вход нужно подать два сформированных массива, я об этом пишу. И привожу часть кода, которая показывает, как такие массивы можно было бы корректно создать. Опять таки, в статье ясно написано, что конкретно этой части (созданию массивов) уделено меньше внимания. Почему? Потому что основная роль отводится включаемому файлу. Он как бы "постоянная" величина. А вот вторая часть, где и должны быть разрешены проблемы с CHART_EVENT и проч., она величина "переменная". Эту часть всякий раз надо изменять. Сегодня нужен стакан, завтра диаграмма, послезавтра что то еще. Поэтому этой части и отведена роль второстепенная, разработчик будет именно эту часть кода делать под себя. И обработчики событий у него будут свои, и методы создания массивов. А потом нужно просто добавить включаемый файл. Вот такая схема работы описана в статье.

И сам библиотечный файл, это же тоже не может быть что то неизменное. И его можно править, что то добавлять, наследовать от классов и т.д. Больше скажу, даже если разработчик вообще выкинет весь мой код, а возьмет только саму схему "подготовка массивов - менеджер - диаграмма", я уже буду вполне доволен. Хотя теперь, после Ваших комментариев, это вряд ли случится.

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

Сам алгоритм я проверял в боевых условиях и он работает. У меня имеются аналогичные индикаторы с других сайтов, других разработчиков, они показывают чрезвычайно близкие результаты с моим. Округление разное и масштаб разный, но это не суть. Стоило упоминать об этом в статье? Нет, скорее всего.

Корректный пример, о котором Вы говорите, это "боевой" индикатор на основе данного кода. Я занимаюсь таким индикатором и по описанной мной схеме. Будет это позже, но я обязательно напишу здесь, когда все будет готово.

О! Я же на самый первый вопрос не ответил. Статья о библиотечном файле, по сути, о куске кода.

Алексей, я вряд ли смогу еще более вдумчиво и внимательно отвечать на Ваши вопросы ) Очень рассчитываю, что получилось понятно, внятно и честно.

Если бы Вы с самого начала в статье четко обозначили для чего она, вероятно, моих вопросов по поводу индикаторов не было бы. Да и название, если честно, вводит в заблуждение (по крайней мере меня ввело). Спасибо за развернутый ответ.

 
Ну и хорошо. Рад, что все разрешилось. Наша дискуссия была для меня несомненно полезна, т.к. подсказала мне, как можно повысить качество моего материала в будущем. Спасибо.
 
А действительно, многое осталось не освященным. Все таки, как насчет канваса? Да не только.Хочется продолжения.
 
Посмотрим, почему бы и нет? Еще же должна администрация согласие дать.
 

Здравствуйте.

Мой муж употребил вашу работу для работы в Ninjatrader. Возможно это? Это нарушает ваших авторских прав?

Спасибо.

 
bankova.elizabet:

Здравствуйте.

Мой муж употребил вашу работу для работы в Ninjatrader. Возможно это? Это нарушает ваших авторских прав?

Спасибо.

Нет, не нарушает. Пусть использует, как считает нужным. Успехов ему )

 

вставлю и я свои пять копеек ))

около года назад написал класс сбора кластеров объема в реальном времени CBaseVolume, и несколько индикаторов на его основе, все считается в реальном времени, нагрузки нет ни какой, графика реализована через CCanvas стандартной библиотеки:

iDelta M1

Индикатор iDelta

iVolumeProfile H1


iVolumeProfile D1 + iDelta M1:


iVolumeProfile M1 фильтрация объемов по минимально заданному:




так же на основе данного класса написано уже несколько роботов, вот последний из них Hidden Profit (HiPr v1.04 ( FORTS )):


ps. это не реклама на продажу т.к. все реализовано только для внутреннего использования, при обоюдном интересе могу поделиться бесплатно, все вопросы в лс

 
Интересно ) Я правильно понимаю, что каждая диаграмма это отдельный Канвас?
 
Andrei Novichkov:
Интересно ) Я правильно понимаю, что каждая диаграмма это отдельный Канвас?

раньше так делал, но потом все реализовал на едином канвасе кроме кнопки и выезжающих чекбоксов для выбора что отображать на чарте

еще стакан сделал на отдельном канвасе, но он там уже просто как наследие от HFT, там есть уровни которые оттуда сигнал дублируют )) ну и с ним объемы удобнее подбирать для алгоритма

 

Да, вижу)

Большая работа и отлаживали, вероятно, не один день ))) И выглядит внушительно. Вне всяких сомнений, было бы интересно взглянуть на реализацию. Мне, вполне возможно, тоже предстоит делать нечто подобное на канвасе.

Причина обращения: