Topic-icon Индикатор ChartBuilder - MT4

Больше
#108

Форекс индикатор ChartBuilder позволяет очень легко строить любые синтетические графики с использованием любого количества торговых инструментов. Всё что для этого требуется - задать нужную математическую формулу. Например так:
EURUSD / MA(EURUSD,D1,10) - USDCHF / MA(USDCHF,D1,10)
(пробелы между знаками ставить необязательно)
В результате строится график:


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

Кроме того автор предусмотрел использование некоторых стандартных индикаторных функций: 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, то берётся текущий таймфрейм. Если таймфрейм вообще не указывается, то по умолчанию используется D1.
Если в качестве символа указывается 0, то берётся текущий символ. Если символ вообще не указывается, то по умолчанию берётся предыдущий символ, использовавшийся ранее в этой же формуле.

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

Пожалуйста Войти , чтобы присоединиться к беседе.

Время создания страницы: 0.236 секунд