как я понял вам нужна прямая между b5 и b3.
Если это так, то в чем проблема? У вас есть доступ к вершинам зиг-зага?
Если да, то разве так трудно посчитать уравнение прямой(луча) по 2 точкам.
главное понять что это за точки(что нужно брать) и в а каком они буфере(откуда брать), все - дальше школьная геометрия.
Не совсем так. Мне нужно чтобы в истории хранились не только участки от b5 до b3 или от b4 до b2 , а и от апекса до b2 или до b3,и чтобы советник мог получить значения этого участка на том или ином баре .Для чего - это собственно написано в том числе и на скриншоте. Чтобы в тестере можно было проверить работу советника, открывающего ордера при пробое ценой сторон такой важной разворотной фигуры , как "сходящийся треугольник".Сейчас это невозможно,так как участки луча от последней верхней или нижней вершины ZigZaga до точки пересечения верхнего и нижнего лучей (апекса), с появлением новой вершины ZigZaga исчезают с графика и не чертится на истории,а вместо него строится новый луч по новым вершинам и так далее. Нет этих участков в истории. И на запрос советника:
double L_SupTr_1=ObjectGetValueByShift("ZZCR2",1); //Получение значения цены нижней трендовой линии поддержки на баре 1
тестер в журнале пишет:
Alert: EURUSD L_SupTr_1=0
На любом баре истории,хоть был там этот участок луча,хоть его не было вообще.. Понятно почему -значения этого участка луча нигде не хранятся, как хранятся обычно в буферах значения индикаторов,чертящих на графике какие-либо кривые.
То что вам надо - точка пересечения двух прямых?
Если да то имеем следующее:
Так как прямые строятся по двум точкам и все точки у вас есть, но нет ни какой проблемы найти точку пересечения этих прямых.
Найдите коэффициенты уравнений двух прямых, затем решите систему уравнений с двумя неизвестными. И точка пересечения у вас есть.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Будучи , так сказать, программистом-любителем,написал себе трендовый советник на основе стандартных индикаторов ZigZag и RSI, торгующий по дивергенции и подъемам/спадам по вершинам ZigZaga.Советник показывает неплохие результаты , но пропускает хорошие тренды, возникающие после пробоя ценой сторон симметричного(или его еще называют сходящимся) треугольника или клина.Решил дополнить советник и этими сигналами .Нашел в Интернете вроде бы подходящий индикатор ZigZag_ws_Chanel_R, строящий по соседним вершинам канал,а по последним двум - лучики-линии тренда, образующие тот самый симметричный треугольник.Дополнил советник сигналами на пробой линий тренда. но вот беда - лучи в индикаторе в истории не сохраняются,а с образованием новой вершины b2 ZigZaga "обрезаются" по вершине b2 и b3 , и в виде таких отрезков между соседними вершинами ZigZaga хранятся в истории.Тем самым невозможно прогнать советник в тестере ,чтобы устранить возможные недоработки и "подводные камни"(всех ситуаций сразу предусмотреть невозможно),так как как раз пробиваемый участок лучика от вершины треугольника до вершины b2 или b3 ZigZaga в истории отсутствует и на графике в истории не чертится. Поэтому советник не может получить значение участка луча от вершины треугольника (апекса) до вершины ZigZaga в точке пробоя на истории.
Из-за этого невозможно проверить работу советника на пробой сторон важной фигуры разворота тренда "треугольника" в тестере МТ4. Видимо нет буфера, где бы хранились данные луча от вершины ZigZaga до апекса. Но если индикатор рисует на истории линии цвета "пинк" от вершины до вершины ZigZaga , то интуитивно понимаешь, что в принципе можно сделать так, чтобы линии "пинк" индикатор чертил на истории от второй вершины через первую аж до апекса. Благодаря чему в истории будет сохраняться значения линии на баре пробоя. И можно будет проверить работу советника в тестере. Сохранять лучи полностью на истории не имеет смысла. Как-то помню мне в руки попал индикатор, строивший лучи по двум фракталам и сохранявшим их в истории,естественно график был забит этими лучами,так что ничего невозможно было разобрать. А вот сохранить в истории треугольник по вершину(апекс) для проверки в тестере советников,работающих на пробой линий тренда треугольников имело бы смысл.
Ну и разумеется это имеет смысл делать в этом индикаторе, тогда, когда точка пересечения лучей находится по оси времени на удалении в разумных пределах , 24-48 часов от момента образования нового луча для графика Н1. Для лучей с точкой пересечения на удалении более 48 часов хранить и чертить на истории участок луча от последней вершины ZigZaga до вершины треугольника никчему. Не говоря уже о лучах близких к параллельным или расходящихся ,где о такой точке говорить не приходится. Так, что тут не так все просто, как кажется на первый взгляд.
Отсюда вопрос к знающим людям - как доработать код индикатора ZigZag_ws_Chanel_R, чтобы он обрезал лучи не по вершинам b2 и b3, а по вершине треугольника,т.е. по точке пересечения лучей(апексу)? Подскажите пожалуйста,господа опытные программисты.Картинку и код индикатора прилагаю.