АвторСообщение





Сообщение: 14
Зарегистрирован: 30.05.13
Репутация: 0
ссылка на сообщение  Отправлено: 18.10.14 22:15. Заголовок: Некоторые вопросы, которые не вошли в отдельные ветки


Появились некоторые вопросы касательно индикаторов. В отдельные топики их судя по всему помещать не вариант. Потому создаю эту ветку. Здесь можно будет обсуждать вопросы, которые не принадлежать конкретным направлениям.
Прошерстив статью Новый ZigZag я качанул индикаторы прикрепленные к данной статье.
Касательно, прорисовки индикатора всё понятно. Но появились некоторые вопросы, сопутствующие этой теме. О них я и буду говорить.
Возьмём, например, индикатор NeoZigZag_Close.mq4. Вот скрин первого попавшегося инструмента на который я накинул индюк с описанной задачей NeoZigZag_Close.mq4:



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

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 105 , стр: 1 2 3 4 5 6 7 All [только новые]







Сообщение: 850
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 2
ссылка на сообщение  Отправлено: 19.10.14 13:02. Заголовок: hoz пишет: Я так по..


hoz пишет:

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


Индикаторы типа ZigZag отображаются при помощи одного индикаторного буфера. Но это справедливо только для тех случаев, когда на одной свече точно не будет двух противоположных экстремумов индикатора. Универсально же потребуется два буфера: отдельно для High и отдельно для Low. Причем в этом случае стиль рисования нужно выбирать DRAW_ZIGZAG, а буферы сделать соседними по индексу (пример в PercentageZigZag).

Формирование экстремумов ZigZag лучше производить в отдельном цикле, а поиск и обработку экстремумов производить после этого:

 цитата:
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
int total;
int limit = GetRecalcIndex(total, rates_total, prev_calculated); // С какого бара начинать обновление?

CalcIndicatorData(limit, total); // Отображение данных индикатора

return rates_total;
}

void CalcIndicatorData(int limit, int total)
{
// Определение экстремумов ZZ
for (int i = limit; i >= 0; i--)
{
g_highZZ[ i ] = ...;
g_lowZZ[ i ] = ...;
}

// Поиск последних экстремумов
for (int i = limit; i >= 0; i--)
{
if (g_highZZ[ i ] != EMPTY_VALUE)
{
// Найден максимум ZZ
}
if (g_lowZZ[ i ] != EMPTY_VALUE)
{
// Найден минимум ZZ
}
}
}



Если выделять нужные экстремумы хочется именно горизонтальными линиями, то лучше использовать для этого графический объект OBJ_TREND. С буферами индикатора в этом случае ничего не выйдет - нет таких стилей рисования. Ценовые координаты линии будут равны (что даст горизонталь), а координаты времени поставить отличающимися на один бар. Если оставить свойство "Луч", то линия будет продолжаться вправо по графику до бесконечности.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 16
Зарегистрирован: 30.05.13
Репутация: 0
ссылка на сообщение  Отправлено: 19.10.14 22:49. Заголовок: Scriptong пишет: Ес..


Scriptong пишет:

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


Ну а как же иначе? Не кружками же их выделять то Конечно, прямыми.
Scriptong пишет:

 цитата:
С буферами индикатора в этом случае ничего не выйдет - нет таких стилей рисования.


Хм. Про буферы я и не думал. Ведь тут значения не загонишь в буфер. Я не в курсе как бы их пришлось считать, чтоб прямые вышли. По-любому, нада рисовать объект от одной координаты к другой.
Игорь, мне вот интересно. Почему у стиля рисования DRAW_LINE 1 бфер, а у DRAW_ZIGZAG 2 буфера? Ведь и там и там по сути непустые значения соединяются линиями. Разве не так?

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 853
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 2
ссылка на сообщение  Отправлено: 20.10.14 18:30. Заголовок: hoz пишет: Почему ..


hoz пишет:

 цитата:
Почему у стиля рисования DRAW_LINE 1 бфер, а у DRAW_ZIGZAG 2 буфера? Ведь и там и там по сути непустые значения соединяются линиями. Разве не так?


Еще раз. Два буфера позволяют организовать наличие двух экстремумов на одной свече. С одним буфером такое не получится.

Кроме того, здесь приведено некорректное сравнение. При стиле DRAW_LINE не происходит соединение линиями между непустыми значениями. Там, где пусто, будет просто провал. Непустые значения соединяются стилем DRAW_SECTION. Но он подходит только для случаев наличия не более одного экстремума на свече.

Спасибо: 1 
ПрофильЦитата Ответить





Сообщение: 17
Зарегистрирован: 30.05.13
Репутация: 0
ссылка на сообщение  Отправлено: 21.10.14 18:51. Заголовок: Scriptong пишет: Ещ..


Scriptong пишет:

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


Ну это понятно, разумеется. Но я пока что с одним буфером пробую. Я взял Ваш индикатор NeoZigZag_Close и написал дописал в него функцию отрисовки линий. Но при компиляции ошибка:
Скрытый текст

Какова может быть причина? Индюк с дописанной функцией прилагаю.
Индикатор

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 861
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 2
ссылка на сообщение  Отправлено: 22.10.14 10:43. Заголовок: hoz пишет: 'Obj..


hoz пишет:

 цитата:
'ObjectCreate' - ambiguous call to overloaded function NeoZigZag_Close.mq4 200 9


У функции ObjectCreate есть два варианта реализации.
Первый:

 цитата:
bool ObjectCreate(
long chart_id, // идентификатор графика
string object_name, // имя объекта
ENUM_OBJECT object_type, // тип объекта
int sub_window, // индекс окна
datetime time1, // время первой точки привязки
double price1, // цена первой точки привязки
...
datetime timeN=0, // время N-точки привязки
double priceN=0 // цена N-точки привязки
);



Второй:

 цитата:
bool ObjectCreate(
string object_name, // имя объекта
ENUM_OBJECT object_type, // тип объекта
int sub_window, // индекс окна
datetime time1, // время первой точки привязки
double price1, // цена первой точки привязки
datetime time2=0, // время второй точки привязки
double price2=0, // цена второй точки привязки
datetime time3=0, // время третьей точки привязки
double price3=0 // цена третьей точки привязки
);



Ваш вариант вызова не подходит ни под одно из описаний. Правда, больше он смахивает на второй вариант, но в таком случае нужно в четвертом параметре указать время (у Вас указана цена), в пятом - цену (у Вас указано время), в шестом - время (у Вас - цена), в седьмом - цену (у Вас - время).

Спасибо: 1 
ПрофильЦитата Ответить





Сообщение: 18
Зарегистрирован: 30.05.13
Репутация: 0
ссылка на сообщение  Отправлено: 22.10.14 18:05. Заголовок: Ну это да. Я затупи..


Ну это да. Я затупил. Недочёт исправил. Объект рисуется только один в начале графика и всё. Какова причина?
Блок рисования вот (новый вариант):
Скрытый текст

Рисуется луч в начале истории:



Дальше никаких объектов не рисуется. Хотя я по циклу перебираю "непустые значения" буфера ZZBuf[]
Вот индикатор

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 866
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 2
ссылка на сообщение  Отправлено: 23.10.14 08:56. Заголовок: hoz пишет: Дальше н..


hoz пишет:

 цитата:
Дальше никаких объектов не рисуется. Хотя я по циклу перебираю "непустые значения" буфера ZZBuf[]


Вы постоянно создаете один и тот же объект (имя то у него не меняется). В итоге после нахождения первого экстремума ZZ остальные экстремумы ничем не отмечаются - ObjectCreate вернет ошибку "объект с таким именем уже существует".

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

Для примера посмотрите, как реализовано различие объектов в индикаторе ClusterBox (Вертикальное сечение рынка). Функция ShowBarHistogramms, в которой вызывается функция ShowText.

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 17
Зарегистрирован: 12.03.13
Репутация: 0
ссылка на сообщение  Отправлено: 26.04.15 22:22. Заголовок: Добрый вечер! Давно ..


Добрый вечер! Давно не заходил. Возникли некоторые вопросы к Скриптонгу по поводу его старых работ. Есть у вас советник фрактальная сетка с фрактальным индикатором. Я иногда его применяю для входов. Так вопрос---почему вы выбрали в советнике стоповые а не лимитные отложеные ордера? У меня по индикатору гораздо успешнее срабатывают лимитники. дА И В ЛИМИТНИКОВ СТОПЫ КОРОЧЕ. Если можно переделате под лимитники самого эксперта. На индикаторе показал как вхожу. http://file.qip.ru/file/7hBZZcF1/RFractals_EditS.html cова http://file.qip.ru/file/cK_tgg3X/FractalGrid_Expert.html

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1504
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 27.04.15 22:00. Заголовок: zvzik пишет: почему..


zvzik пишет:

 цитата:
почему вы выбрали в советнике стоповые а не лимитные отложеные ордера?


Наверняка не смогу обосновать, т. к. дело было три года назад, но, скорее всего, потому, что мала вероятность повторения именно этой цены с тем, чтобы рынок отскочил от нее. Ведь заметьте, что после формирования фрактала для его подтверждения должно образоваться определенное количество баров (для Вашего примера при периоде фрактала 13 должно образоваться 6 баров, чтобы можно было зарегистрировать фрактал - см. рис.).

Красной линией отмечен бар, на открытии которого становится виден верхний фрактал, а синей линией - нижний фрактал. Цена верхнего фрактала в пределах рисунка не достигнута, а цена нижнего достигнута, но рынок пошел ниже этого уровня. Выходит, что Sell Stop здесь логичнее, чем Buy Limit.


Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 18
Зарегистрирован: 12.03.13
Откуда: Украина, Львов
Репутация: 0
ссылка на сообщение  Отправлено: 06.05.15 09:00. Заголовок: Scriptong пишет: З..


Scriptong пишет:
[quote]` Здрасте. Сидел ковырял и экспериментировал с этой совой.....пока не порадовала. НО!!!! я раньше работал с похожим фрактальным индикатором на 5-15мин. Называется он Казахский удав. В нем я сделал свои настройки....выкладываю...и ставил на 15мин. При появлении всез трех линий ZZ входил на отбой с коротким стопом. Закривал позицию по стопу 30-35 пипсов или при профите и появлении линии(значка)среднего зигзага. Система давала отличные результаты, но требует все время сидеть у монитора. Думаю условия для совы примитивные. Если можно напишите. И просьба-вопрос....как обозначить в коде (None) чтоб не отображался элемент. Я не знаю и поэтому на черном фоне окрашиваю его в черный цвет. http://file.qip.ru/arch/frt6bnpT/F%20%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B5.htmhttp://file.qip.ru/photo/mqF4_8Qa/NZDUSDM1.html

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1534
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 08.05.15 13:14. Заголовок: zvzik пишет: Здраст..


zvzik пишет:

 цитата:
Здрасте. Сидел ковырял и экспериментировал с этой совой.....пока не порадовала. НО!!!! я раньше работал с похожим фрактальным индикатором на 5-15мин. Называется он Казахский удав. В нем я сделал свои настройки....выкладываю...и ставил на 15мин. При появлении всез трех линий ZZ входил на отбой с коротким стопом. Закривал позицию по стопу 30-35 пипсов или при профите и появлении линии(значка)среднего зигзага. Система давала отличные результаты, но требует все время сидеть у монитора. Думаю условия для совы примитивные. Если можно напишите.


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

zvzik пишет:

 цитата:
И просьба-вопрос....как обозначить в коде (None) чтоб не отображался элемент.


Если речь о цвете, то clrNONE.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 579
Настроение: нормальное
Зарегистрирован: 20.10.14
Откуда: Россия
Репутация: 0
ссылка на сообщение  Отправлено: 03.06.15 19:43. Заголовок: Здравствуйте, Игорь...


Здравствуйте, Игорь.
Скажите пожалуйста, как правильно рассчитывать СЛ по ATR ?

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1577
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 04.06.15 09:17. Заголовок: На рынке нет понятий..


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

Один из подходов к расчету стопов по ATR смотрите в статье "Летучая мышь".

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 607
Настроение: нормальное
Зарегистрирован: 20.10.14
Откуда: Россия
Репутация: 0
ссылка на сообщение  Отправлено: 29.06.15 12:11. Заголовок: Индикатор Divergence..


Индикатор DivergenceViewer_AD может так определять диверы?



Можно сделать, чтобы индикатор, не рисовал двойные, тройные дивергенции?
Если появляется второй сигнал на том же промежутке, то один удаляется - остаётся самый сильный.
Если сильный уже есть - слабые не появляются.
Можно сделать настраиваемый угол схождения/расхождения, между индикатором и ценой?
Чтобы отсечь слишком маленькую разницу.

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 1620
Зарегистрирован: 03.03.13
Откуда: Украина, Днепродзержинск
Репутация: 3
ссылка на сообщение  Отправлено: 29.06.15 22:44. Заголовок: Эдуард пишет: Индик..


Эдуард пишет:

 цитата:
Индикатор DivergenceViewer_AD может так определять диверы?


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

Эдуард пишет:

 цитата:
Можно сделать, чтобы индикатор, не рисовал двойные, тройные дивергенции?
Если появляется второй сигнал на том же промежутке, то один удаляется - остаётся самый сильный.
Если сильный уже есть - слабые не появляются.


Можно. Только нужен алгоритм определения силы той или иной дивергенции.

Эдуард пишет:

 цитата:
Можно сделать настраиваемый угол схождения/расхождения, между индикатором и ценой?


С углами на графиках МТ4 и МТ5 проблема - они зависят от масштаба. То есть в одной и той же ситуации один и тот же угол визуально будет иметь разную величину. Хотя при математических расчетах угла (по тангенсу, он же коэффициент К при расчете уравнения прямой) эта величина будет однозначно определенной, не зависящей от масштаба графика. К примеру, расчетный угол составит 30 градусов, а визуально он может быть виден и как 15 градусов, и как 70.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 105 , стр: 1 2 3 4 5 6 7 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  2 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет