Скрипты: График "Крестики-Нолики" v1.1

 

График "Крестики-Нолики" v1.1:

Скрипт строит график "Крестики-Нолики" в виде японских свечей (исправленная версия)

Author: GoldenFox

 

Давно ношусь с идеей синтетических графиков к коим можно отнести ренко, каги и ХО. Хотел бы предложить Вам реализовать следующую идею. Принцип тот же, что и в ренко. Описание - задаем высоту бара в параметре. На открытии часа он начинает формироваться. Как только расстояние между Хай и Лоу превысило заданную высоту закрываем бар и начинаем рисовать новый. Бары рисуются стандартно OНLС. Смысл идеи убрать с графика "сопли" - сильно вытянутые бары, которые порой ломают всю техническую картину и осложняют жизнь обычным индикаторам. Если удасться разбивать сопли на несколько коротких баров, то вероятно будет возможным получение более ранних сигналов.

 
BigeR:

Давно ношусь с идеей синтетических графиков к коим можно отнести ренко, каги и ХО. Хотел бы предложить Вам реализовать следующую идею. Принцип тот же, что и в ренко. Описание - задаем высоту бара в параметре. На открытии часа он начинает формироваться. Как только расстояние между Хай и Лоу превысило заданную высоту закрываем бар и начинаем рисовать новый. Бары рисуются стандартно OНLС. Смысл идеи убрать с графика "сопли" - сильно вытянутые бары, которые порой ломают всю техническую картину и осложняют жизнь обычным индикаторам. Если удасться разбивать сопли на несколько коротких баров, то вероятно будет возможным получение более ранних сигналов.

Если я правильно понимаю, то "Ренко" не устраивает тем, что на него невозможно наложить стандартный индикатор?

Реализовать аналогично описанному скрипту можно, но есть вероятность, что очень длинная, как Вы выразились, "сопля", разбитая на несколько участков не уложится в таймфреме текущего графка.

То есть, предположим, работаем на M1, высота мелких баров скажем 10 пунктов. Если на последних 3 секундах цена пройдет более 30 пунктов, например 50, то время открытия последних 2-х баров будет больше текущего времени сервера (бары окажутся в будущем). Задать время открытия у нескольких баров одинковым не получится, поскольку терминал их запросто перепутает местами, если вообще отобразит. Задавать кратность времени меньше 1 секунды (с милисекундами) тоже не получится, поскольку в формате записи бара хранится именно кол-во секунд.

Если таковая проблема со временем не напрягает, то можно сделать, правда быстро не обещаю, времени в последнее время очень мало.

 
GoldenFox:
BigeR:

Давно ношусь с идеей синтетических графиков к коим можно отнести ренко, каги и ХО. Хотел бы предложить Вам реализовать следующую идею. Принцип тот же, что и в ренко. Описание - задаем высоту бара в параметре. На открытии часа он начинает формироваться. Как только расстояние между Хай и Лоу превысило заданную высоту закрываем бар и начинаем рисовать новый. Бары рисуются стандартно OНLС. Смысл идеи убрать с графика "сопли" - сильно вытянутые бары, которые порой ломают всю техническую картину и осложняют жизнь обычным индикаторам. Если удасться разбивать сопли на несколько коротких баров, то вероятно будет возможным получение более ранних сигналов.

Если я правильно понимаю, то "Ренко" не устраивает тем, что на него невозможно наложить стандартный индикатор?

Реализовать аналогично описанному скрипту можно, но есть вероятность, что очень длинная, как Вы выразились, "сопля", разбитая на несколько участков не уложится в таймфреме текущего графка.

То есть, предположим, работаем на M1, высота мелких баров скажем 10 пунктов. Если на последних 3 секундах цена пройдет более 30 пунктов, например 50, то время открытия последних 2-х баров будет больше текущего времени сервера (бары окажутся в будущем). Задать время открытия у нескольких баров одинковым не получится, поскольку терминал их запросто перепутает местами, если вообще отобразит. Задавать кратность времени меньше 1 секунды (с милисекундами) тоже не получится, поскольку в формате записи бара хранится именно кол-во секунд.

Если таковая проблема со временем не напрягает, то можно сделать, правда быстро не обещаю, времени в последнее время очень мало.

Вы правильно поняли, идея состоит в том, чтобы использовать стандартные индикаторы на синтетическом графике.

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

Идеальный вариант формировать синтетические бары на тиках, тогда эта проблема может не так сильно напрягать, хотя теоретически возможно возникновение подобной ситуации.

 

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

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

 

Проблема естественно в скрипте. Там глюк с временем формирования нового бара. Если у более позднего бара время будет меньше чем у предыдущего, то в этом случае картинка такой и получается.

Чтобы автономный график обновлялся синхронно с текущими котировками скрипт нужно запускать на он-лайн графике. При этом, как написано в описании, обязательно в окне параметров скрипта на вкладке "Общие" установить галочку "Разрешить импорт функций из DLL", и снять галочку "Ручное подтверждение вызова". Без этого автономный график автоматически обновляться не будет.

Новая версия пока не совсем готова. Выложу когда доделаю.

К стати у Вас интерес практический или, так сказать, для расширения кругозора?

 

Для расширения кругозора.. это интересно! Многие вещи непонятны например: если открыть скрипт на дневном графике рисуется одна картина, если открыть скрипт на четырехчасовике, то рисуется другая картина - как так получается если мы запускаем скрипт с одними и теме же настройками?

 
Fosfalugel:

... если открыть скрипт на дневном графике рисуется одна картина, если открыть скрипт на четырехчасовике, то рисуется другая картина - как так получается если мы запускаем скрипт с одними и теме же настройками?


Все дело в том, что бары на четырехчасовике отражают больше колебаний цены чем на дневном графике. Если бы MT4 хранил тиковые данные и пересчитывал по ним все таймфреймы, то можно было бы реализовать отображение одинакового графика на любом периоде. Но к сожалению MT4 хранит для каждого таймфрейма собственную историю в виде: Открытие, Максимум, Минимум, Закрытие для каждого бара и как цена изменялась каждые чертыре часа на дневном графике увидеть невозможно, поскольку есть только 4 цифры за сутки. Скрипт в свою очередь оперирует только Минимумом и Максимумом цены каждого бара графика, на котором он запущен. Отсюда и разные картинки на разных таймфреймах.

А вообще почитать по "Крестикам-Ноликам" можно сдесь: http://forex.kbpauk.ru/showflat.php/Cat/0/Number/1506/an/0/page/2#Post1506

 
Скрипт неправильно работает. Неправильно округляет Лоу. 1,9998 это не 1,9990, как получается здесь. В остальном, спасибо-работа большая проведена
Причина обращения: