Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Авторизуйся на MQL5.community с помощью OpenID. Это удобно!
WindSW
269
WindSW 2012.01.12 08:24 

Всем добрый день!

Задача: найти ближайшие к текущей цене уровни сопротивления и поддержки (начиная с 4 бара). При этом определяются значимые уровни.

Например (рисунок): текущая цена 97,70; ближайшие уровни (зеленые) - 97,83 и 97,43. А вслучае пробоя верхней зеленой линии, данная линия становилась поддержкой, а верхняя фиолетовая сопротивлением и так далее. И соответственно при снижении цены под 97,43 - нижняя зеленая линия опрелялась как сопротивление, а нижняя фиолетовая линия как поддержка.

Пожалуйста, подскажите, как реализовать данную идею. Если есть готовые статьи по этой теме, то пожалуйста, подскажите ссылки на них.

WindSW
269
WindSW 2012.01.12 09:21  
Если проверить необходимое количество баров, все хаи и лоу занести в массив, а потом анализируя текущую цену с ближайшими параметрами в массиве определять ближайшие уровни. Так получится или что-то еще необходимо?
WindSW
269
WindSW 2012.01.24 06:19  
Уважаемые модераторы и активные пользователи, пожалуйста, подскажите алгоритм опредления всех HIGH и LOW на 240 свечах. У меня ничего толкового в голову не приходит.
Avals
3156
Avals 2012.01.24 06:32  
WindSW:
Если проверить необходимое количество баров, все хаи и лоу занести в массив, а потом анализируя текущую цену с ближайшими параметрами в массиве определять ближайшие уровни. Так получится или что-то еще необходимо?


1. надо формализовать понятие "экстремум". Это ведь не просто максимум за сколько-то баров. Это хай, который больше всех хаёв за N баров до него и M баров после. Для Простоты можно M=N=параметр индикатора. Аналогично определяются фракталы (M=3,N=2)

2. надо формализовать понятие "пробой экстремума". Самое простое - это например хай любого бара пробил верхний экстремум более чем на X пунктов. Такой уровень сопротивления считается пробитым. Можно X сделать параметром индикатора. Аналогично пробой уровней поддержки

Далее всё просто - пробегаем по всем барам истории (или ограничив параметром число баров) и последовательно заносим в массивы SUP и RES сформированные экстремумы. А так же на каждом баре проверяем какие из них пробиты и выкидываем из массива. Для тестироввания на истории можно сделать чтобы считало не до нулевого бара, а задаваемого в качестве параметра (можно по времени). Какие уровни останутся на текущий момент и которые ближе к текущей цене - те и отображаем

P.S. для отображения того, что пробитый уровень сопротивления становится поддержкой нужно формализовать еще один пункт - когда становится (например на следующем баре после пробоя, или через K баров) и при каких условиях перестаёт быть поддержкой. Например после того же пробития на Х пунктов как в п.2 и тогда можно такие уровни хранить в тех же массивах SUP/RES. Если правила пробоя будут иные, то нужны будут ещё 2 массива SUP1/RES1 или массивы сделать двумерные и в одном измерении хранить тип sup/res -первичный экстремум или пробитый ставший противоположным.

Vladyslav Goshkov
1958
Vladyslav Goshkov 2012.01.24 06:34  
WindSW:

Всем добрый день!

Задача: найти ближайшие к текущей цене уровни сопротивления и поддержки (начиная с 4 бара). При этом определяются значимые уровни.

Например (рисунок): текущая цена 97,70; ближайшие уровни (зеленые) - 97,83 и 97,43. А вслучае пробоя верхней зеленой линии, данная линия становилась поддержкой, а верхняя фиолетовая сопротивлением и так далее. И соответственно при снижении цены под 97,43 - нижняя зеленая линия опрелялась как сопротивление, а нижняя фиолетовая линия как поддержка.

Пожалуйста, подскажите, как реализовать данную идею. Если есть готовые статьи по этой теме, то пожалуйста, подскажите ссылки на них.

возьмите разность между текущей ценой и уровнем. Минимальные значения по модулю дадут ближайшие значения. Если разность >0 - это поддержка, <0 - сопротивление. По поводу нахождения самих уровней: критериев для их нахождения очень много - это от Вас зависит какие хотите использовать
WindSW
269
WindSW 2012.01.24 07:03  
Avals:


1. надо формализовать понятие "экстремум". Это ведь не просто максимум за сколько-то баров. Это хай, который больше всех хаёв за N баров до него и M баров после. Для Простоты можно M=N=параметр индикатора. Аналогично определяются фракталы (M=3,N=2)


Если я правильно понимаю, то надо проверять хай, например, за 5 баров до и 5 баров после того как был найден хотя бы один хай?
Avals
3156
Avals 2012.01.24 07:48  
WindSW:

Если я правильно понимаю, то надо проверять хай, например, за 5 баров до и 5 баров после того как был найден хотя бы один хай?


в приложении код набросал. Он не оптимален по ресурсам и отображает только экстремумы не пробитые (без того что пробитый sup становится res)

Параметры - MN как писал в предыдущем посте (масштаб экстремума фактически), ProboiPoint - насколько пунктов нужно пробить экстремум чтобы его отбросить

Файлы:
supres.mq4 2 kb
WindSW
269
WindSW 2012.01.24 08:02  
Avals:


в приложении код набросал. Он не оптимален по ресурсам и отображает только экстремумы не пробитые (без того что пробитый sup становится res)

Параметры - MN как писал в предыдущем посте (масштаб экстремума фактически), ProboiPoint - насколько пунктов нужно пробить экстремум чтобы его отбросить


Спасибо! Посижу поразбираюсь
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий