Форум трейдеров » Торговые роботы, советники, индикаторы » ChartBuilder
+ Подписаться
Страница 1 из 4 123 ... ПоследняяПоследняя
  1. 1,676
    Комментарии
    9
    Темы
    1703
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей

    ChartBuilder

    Решил поделиться своей давней разработкой - индикатором ChartBuilder. Он достаточно универсален, и может быть полезен как любителям арбитража или торговли спредами, так и просто всяким исследователям :)
    Индикатор позволяет очень легко строить любые синтетические графики с использованием любого количества торговых инструментов. Всё что для этого требуется - задать нужную математическую формулу. Например так:
    ZSH2 - (3.5 * ZMH2 + 24 * ZLH2) / 2
    (пробелы между знаками ставить необязательно)
    В результате строится график:



    Для построения берутся цены закрытия соответствующих баров по каждому инструменту.
    Поддерживаются стандартные арифметические действия: + - * / ^ (где ^ - это операция возведения в степень).

    Кроме того, я предусмотрел использование некоторых стандартных индикаторных функций: MA, ATR, StdDev, Open, Close, High, Low
    Их синтаксис тот же самый что и в языке MQL4 (MA соответствует iMA, ATR соответствует iATR и т.д.).
    Т.е. например функция MA имеет такой вид: MA(symbol, timeframe, period, ma_shift, ma_method, applied_price, shift)
    Единственное их отличие от MQL - это то что timeframe задаётся в привычном текстовом виде: M1, M5 ..., H1, D1 и т.д.
    При этом можно указывать не все параметры. Например MA(symbol, timeframe, period). Все остальные опущенные параметры заполняются нулями. Можно также пропускать параметры и в начале, но тогда обязательно нужно ставить запятые, чтобы отделять их от последующих.
    Если в качестве таймфрейма указывается 0, то берётся текущий таймфрейм.
    Если в качестве символа указывается 0, то берётся текущий символ. Если символ вообще не указывается, то по умолчанию берётся предыдущий символ, использовавшийся ранее в этой же формуле.

    Допустим, можно построить график, заданный такой формулой:
    EURUSD / MA(EURUSD,D1,10) - GBPUSD / MA(GBPUSD,D1,10)
    либо, с учётом допустимых сокращений, его можно задать и так:
    EURUSD / MA(,D1,10) - GBPUSD / MA(,D1,10)



    Теперь расскажу про настройки индикатора.

    • Formula1 - в этих четырёх полях собственно и задаются формулы. Для каждой будет построен свой график.
    • Formula2
    • Formula3
    • Formula4
    • PrecisionDigits - это точность получаемых значений индикатора (количество знаков после запятой). Если задано -1, то точность назначается автоматически.
    • ShowBidAsk - если стоит TRUE, то отображаются уровни bid/ask для каждого синтетического графика
    • TimeShiftFromMainChart_minutes - здесь задаётся сдвижка по времени (в минутах) относительно текущего графика
    • BarTimeSyncSize - синхронизация баров по времени между разными чартами. Здесь задаётся предельное расхождение во времени между барами с разных чартов (либо в виде количества баров, либо в виде количества минут, в зависимости от параметра BarTimeSyncMode_ByMinutes). Если задано -1, то синхронизация не используется
    • BarTimeSyncMode_ByMinutes - если TRUE, то синхронизация по количеству минут, иначе по количеству баров
    • OnlyClosePrice - если TRUE (по умолчанию) , то графики строятся только по ценам закрытия. Если FALSE, то строятся в виде баров с ценами open/close/high/low. Но во втором случае можно будет построить не более двух графиков, ибо количество индикаторных буферов к сожалению ограничено. И кроме того, данный вид отображения графиков будет правдоподобным лишь в том случае, если в формуле присутствует только один торговый символ. Ибо в противном случае для каждого символа необходима внитрибаровая синхронизация с использованием младших таймфреймов, а у меня она не используется. Так что этот режим годится лишь для показа графика "чужого" символа.
    • DrawMode - режим отображения графика: 0-LINE (по умолчанию), 1-SECTION, 2-HISTOGRAM, 3-POINTS
    • Color1 - здесь задаются цвета каждого графика
    • Color2
    • Color3
    • Color4
    • LabelsOnTheRight - если TRUE, то формулы отображатся в правой части графика, иначе в левой (по умолчанию)
    • SignalValueHigh - здесь можно задать верхний ценовой уровень, при достижении которого ценой бид начнут подаваться звукове сигналы, а в лог будет печататься сообщение
    • SignalValueLow - аналогично для нижнего сигнального уровня, при достижении ценой аск
    • SignaLineHigh - здесь можно указать название верхней сигнальной линии, т.е. любой построенной на графике линии (горизонтальной или трендовой), которая будет являться верхней границей, при пересечении которой будет так же выдаваться сигнал и сообщение.
    • SignalLineLow - аналогично для нижней сигнальной линии
    • SignalChartNumber - номер графика, для которого используются сигнальные значения и сигнальные линии


    Ну вот вроде и всё. Надеюсь индикатор будет кому-то полезен.

    Если что-то неясно, то спрашивайте. А также если у кого встретятся какие-то баги, то непременно сообщайте. Ну и предложения/пожелания и крики радости конечно тоже принимаются :)

    ---------------------------------------------------------------------
    В этом посте будет выкладываться свежая версия индикатора.
    Вложения Вложения
    Недоступно! Pro 1
    Поделиться
    Просмотров: 19,922
  2. 773
    Комментарии
    16
    Темы
    1269
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    Хочу издать легкий крик радостной благодарности...:clap2:

    за сигналы - отдельное спасибо, и за бид-аск :)
  3. 1,676
    Комментарии
    9
    Темы
    1703
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Приятно слышать :) Да вот кстати что касается сигналов, то они срабатывают именно по бид/аск. Т.е. например верхний сигнал срабатывает тогда, когда соответствующий уровень преодолевается ценой бид. А нижний - соответственно ценой аск.
    Была ещё идея реализовать это по цене ласт (как опцию), но мне лично надобности в этом пока не было. Если кому нужно, могу добавить.
  4. 2
    Комментарии
    0
    Темы
    2
    Репутация Pro
     
    Новичок

    2 Медалей
    Здравствуйте.Очень понравился ваш индикатор.Есть такое предложение-добавить функцию ввода в формулы других кустомных индикаторов по их названию. По аналогий как МА ,АТR.И получится отличный инструмент для творчества.Спасибо.
  5. 1,676
    Комментарии
    9
    Темы
    1703
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от T-90 Посмотреть сообщение
    Здравствуйте.Очень понравился ваш индикатор.Есть такое предложение-добавить функцию ввода в формулы других кустомных индикаторов по их названию. По аналогий как МА ,АТR.И получится отличный инструмент для творчества.Спасибо.
    Какие-то конкретно индикаторы интересуют? Я просто пока добавил лишь те, которые сам использую в расчётах. Если вам нужны ещё какие-то, то напишите, я их добавлю.
    А полный набор кастомных индикаторов добавлять лень.
  6. 2
    Комментарии
    0
    Темы
    2
    Репутация Pro
     
    Новичок

    2 Медалей
    Индикаторы - A_D (накопление/распределение) , CCI , ADX ,MACD , DeMarker и Стохастик . Спасибо.
  7. 1,676
    Комментарии
    9
    Темы
    1703
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Готово. Добавлены функции: AD, ADX, CCI, DeMarker, MACD, Stochastic
    Проверяйте.
    В принципе уже 1/3 всех кастомных индюков готова. Так что по сути не так уж и много осталось :)

    Также добавил несколько своих собственных функций: LineOpen, LineClose, LineHigh, LineLow. Они позволяют взять соответствующую цену (open/close/high/low) в выбранный момент времени, отмеченный на графике. Для этого на графике появляется вертикальная красная линия, двигая которую можно выбрать требуемый момент времени, откуда и будет считываться цена. Соответственно при изменении положения линии график будет динамически пересчитываться (в момент прихода нового тика или ручного обновления графика). Эти функции могут содержать три стандартных параметра: symbol, timeframe, barshift. Например, LineClose(EURUSD,M15,0)

    -----
    P.S. Перезалил файл повторно, т.к. там небольшой косячок был.
    Вложения Вложения
  8. 1,120
    Комментарии
    118
    Темы
    1346
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    Meat, спасибо за полезную разработку.:bow:

    Написали про нее в блоге )))
  9. 44
    Комментарии
    1
    Темы
    50
    Репутация Pro
     
    В начале пути

    2 Медалей
    Из блога сюда перешел! Сейчас буду разбираться)))
  10. 1,676
    Комментарии
    9
    Темы
    1703
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от Наталья Фефилова Посмотреть сообщение
    Meat, спасибо за полезную разработку.:bow:

    Написали про нее в блоге )))
    Рад стараться :)

Вверх
РегистрацияX

чтобы писать, читать, комментировать