Работа завершена
Техническое задание
Название BrakeoutHunter 1.0
работает по закрытию свечей
Замеряем в течении х количества последних свечей средние значения максимумов и минимумов цены по точкам закрытия свечей
получаем значение дистанции между усредненными хаями и лоями этих свечей равное Например 20. Это главная дистанция коридора. Эдакий коридор флета в 20 пунктов.
этот коридор прорисовываем на графике в реальном времени двумя линиями по границе, эти линии будут смещаться при каждом закрытии свечи - обновляются при расчетах и посередине серая пунктирная линия. Все это визуальное - чтоб видеть канал.
Далее разместить ордера по обе стороны от этих средних значений цены на расстоянии равному этой полученной главной дистанции, в нашем примере на дистанции 20 от усредненного верхнего значения цены коридора ордер на покупку и на дистанции 20 от усредненного нижнего значения цены коридора на продажу
если ордера уже были размещены, а условие для размещения снова выполняется, то просто переместить выставленные ордера в соответствующее новым условиям положение(слегка подкорректируются)
То есть ордера размещаются от среднего значения хаёв последних, к примеру, 3 свечей, выше на 20 пунктов и ниже на 20 пунктов от среднего значения лоёв, если за время этих трех свечей цена от среднего центра цены в среднем ходила вниз на 10 и в среднем вверх тоже на 10 пунктов
Ордера размещаются с тейком в х пунктов, а если указан ноль, то без тейка, со стопами на усредненных значениях хаев и лоев полученного коридора(хай для бая и лоу для селла) плюс сразу к этим дистанциям стопов добавить х пунктов, и если в этом значении х пунктов указан ноль - то ничего не добавлять а просто так и разместит стопы на усредненных экстремумах. Если в стопах тоже ноль - то без стопов.
Если сработало одно из направлений и произошел вход в рынок, то удалить все ордера противоположного направления
Если в рынке уже есть ордер, то другие не открывать(это правило включаемое SingleOrder: true/false)
но если это правило отключено, то размещенные ордера не будут корректироваться, а будут добавляться новые ордера к уже имеющимся
так же иметь правило максимального количества ордеров: MaxOrderCount (если указан ноль - количество ордеров не ограничено)
Если прибыль по ордеру составила дистанцию равную той дистанции, на которую от экстремума был выставлен отложенный ордер, то стоп перенести на точку безубытка(включая свопы и комиссии) плюс х пунктов(назовем его 0+points)
И переносить стоп при каждом преодолении этой базовой дистанции снова(в нашем примере на 20 Пунктов) и не прибавлять значения свопов при переносе и дополнительных пунктов(0+points) безубытка при каждом шаге на эти 20 пунктов
настройки
количество последних свечей для анализа: CandleCount = 3
количество пунктов удаления цены от средних значений: MainDistancePips= 20.0(в Пунктах - 10 поинтов=1 пункт)
Размер ордера в проценте от баланса
Если что-то еще потребуется указать - названия переменных и настроем скажу по ходу работы