Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 781

 
Mikhail Sobolev:

Здравствуйте. Пишу функцию - не могу передать массив в качестве параметра вместе с какими-либо ещё параметрами. Примеры:

Дальше фантазия иссякает.
Функция так-то должна копаться в массиве - и для этого, я полагаю, ей этот массив надо передать. Или это не так?
Заранее спасибо.

Виталий выше уже написал порядок передачи аргументов в функцию.

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

 
Artyom Trishkin:

Виталий выше уже написал порядок передачи аргументов в функцию.

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

Точно, как всегда что-то очевидное не заметил. И ведь не раз читал об этом.

Спасибо, Виталий.

 

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

Они не являются вымыслом брокера, но ломают все рассчеты, как лучше всего их исключить из вычислений?


И второй вопрос: посоветуйте на каком периоде оптимально считать ATR для дневки и часовика, есть ли такие значения?

 
psyman:

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

Они не являются вымыслом брокера, но ломают все рассчеты, как лучше всего их исключить из вычислений?


И второй вопрос: посоветуйте на каком периоде оптимально считать ATR для дневки и часовика, есть ли такие значения?

Сначала надо ответить на вопрос "Что такое ATR, что показывает этот индикатор?". Потом может и придёт понимание оптимальности и надо-ли что-то исключать из расчётов.

 

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

template<typename T>
void MoveArray(T &array1[][])в скобках указано что массив 2ух мерный.
{
тело
}

Как сделать так чтобы не нужно было указывать какой массив?

 
Alexey Viktorov:

Сначала надо ответить на вопрос "Что такое ATR, что показывает этот индикатор?". 


Индикатор должен сравнивать High-Low текущей свечи с некоторым средним значением за период, вроде бы задача проще некуда.

 
psyman:

И второй вопрос: посоветуйте на каком периоде оптимально считать ATR для дневки и часовика, есть ли такие значения?

период 3, сдвиг 1 - работаем по сложившемуся ATR на начало периода.

 
Aleksey Vyazmikin:

период 3, сдвиг 1 - работаем по сложившемуся ATR на начало периода.

Не понял, для чего делать сдвиг?

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

 
psyman:


Индикатор должен сравнивать High-Low текущей свечи с некоторым средним значением за период, вроде бы задача проще некуда.

Это ответ на совсем другой вопрос. Как я понял это ваши хотелки, а понимания что показывает индикатор ATR так и не заметно.

Технический индикатор Средний Истинный Диапазон (Average True Range, ATR) — это показатель волатильности рынка.


Расчет

Истинный диапазон (True Range) есть наибольшая из следующих трех величин:

  • разность между текущими максимумом и минимумом;
  • разность между предыдущей ценой закрытия и текущим максимумом;
  • разность между предыдущей ценой закрытия и текущим минимумом.

Индикатор Среднего Истинного Диапазона (Average True Range, ATR) представляет собой скользящее среднее значений истинного диапазона.

Следовательно если из расчёта исключить какой либо показатель, то это будет уже не ATR, а что-то с чем-то...

И второй ответ: Всё зависит от цели. Если работать внутри дня на Н1, то на мой взгляд разумней взять среднее значение за несколько дней. То-есть можно считать, что ожидаемое изменение цены в течении текущего дня составляет xxx пунктов. Соответственно если стратегия предусматривает держать открытую позицию +/-1 час, то и ATR смотреть за несколько баров периода Н1.

 
psyman:

Не понял, для чего делать сдвиг?

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

Сдвиг делать, что бы от каждого нового экстремума на расчетном ТФ не менялся ATR.

Движения затухают постепенно, поэтому ATR(3) вполне подойдет.

Я не использую правда лишние приращения только дельту от открытия до экстремума.

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