Скачать MetaTrader 5

Как определить ближайшие к цене SUP И RES

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
WindSW
269
WindSW  

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

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

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

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

WindSW
269
WindSW  
Если проверить необходимое количество баров, все хаи и лоу занести в массив, а потом анализируя текущую цену с ближайшими параметрами в массиве определять ближайшие уровни. Так получится или что-то еще необходимо?
WindSW
269
WindSW  
Уважаемые модераторы и активные пользователи, пожалуйста, подскажите алгоритм опредления всех HIGH и LOW на 240 свечах. У меня ничего толкового в голову не приходит.
Avals
3181
Avals  
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
2149
Vladyslav Goshkov  
WindSW:

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

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

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

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

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


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


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

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


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

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

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


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

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


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