Игорь , появилось время для расписания ТЗ№2 - прилагаю внизу.
ТЗ №2
1. Индикатором задаем следующие настроечные параметры:
• Стандартный размер Области Флэта ( в пп ) «StandartFlat».
На практике для цели «Захвата Флэта» при заданном «StandartFlat»=80пп. это будет равнозначно заданию 40пп. канала плюс по 20пп. - Допуски к каждой стороне канала.
Понятие стандартного размера флэта вводится для задания ориентира. На самом деле индикатор сам будет рассчитывать размер предстоящего флэта , как больший , так и меньший. Принцип – ниже.
2. Пояснение по 0-ОФ:
а.__________Каждый новый переворот КМА ( ПКМА ) инициирует выстраивание уровней нулевой области флэта ( 0-ОФ ).
б.__________Однако ПКМА не инициирует поиск нулевого 0-ОФ , если текущий флэт не завершен ( п.6 ). Это ключевые моменты системы. Нулевая Область флэта ( 0-ОФ ) – горизонтальные ( ценовЫе ) уровни , которые выстраиваются первыми , сразу же после переворота КМА , начинаясь от вертикальной штрих-пунктирной линии ПКМА.
Эта линия теперь называется 0-ПКМА , поскольку этот переворот КМА инициировал построение нулевой области флэта.
Переворот КМА , предшествующий 0-ПКМА называется сигнальным переворотом КМА.
Точка пересечения 0-ПКМА и линии с0 ( средняя текущая ) называется точкой 0-ПКМА.
Свеча , на которой зафиксировалась линия 0-ПКМА называется 0-свеча. Обозначается в тексте "0-свеча".
Свеча , предшествующая 0-свече , называется сигнальной свечей. Обозначается в тексте "С-свеча".
Свеча , следующая за 0-свечей , называется корректирующей свечей. Обозначается в тексте "К-свеча".
Инициализация флэта 0-ОФ происходит с момента 0-ПКМА ( нулевого переворота КМА ( контрольных МАшек - старшей быстрой б1 и текущей средней с0 )).
Фиксация нулевого флэта 0-ОФ - установление уровней и размерности , в том числе смещение инициированного 0-ОФ ( если это необходимо ).
Как только определено , что 0-ОФ инициировался , то линия 0-ПКМА , которая ранее была белого цвета , окрашивается в голубой ( если ПКМА_UP ) или в розовый ( если ПКМА_DN ) цвета. Но только та , которая инициирует построение нулевого ОФ ( 0-ОФ ) , то есть линия 0-ПКМА. Другие вертикали других ( не-нулевых ) ПКМА остаются белыми.
Если внутри еще незавершенного текущего флэта , происходят новые перевороты КМА , то они игнорируются. Это важно.
Новая инициализация 0-ОФ происходит только после ЗАВЕРШЕНИЯ текущего Флэта по правилу пробоя ОФ , которое будет сформулировано ниже , в п.6.
0-ОФ задает будущие параметры флэта: высоту и уровни.
При этом расчет параметров 0-ОФ производится на основании прошлых достижений цены по Правилам п. 3,4,5 ( ниже ) : «Построение 0-ОФ» , «Корректировка размера 0-ОФ» , «Смещения 0-ОФ»
Главное , что в момент переворота КМА моментально рассчитываются параметры будущей области флэта и от вертикальной штрих-пунктирной линии переворота КМА ( 0-ПКМА ) тотчас же выстраиваются уровни 0-ОФ.
Уровни ОФ выстраиваются ВПЕРЕД , с запасом. По принципу «ВПЕРЕД на дистанцию количества текущих свечей в старшем ТФ» ( то есть , если наш период М15 , то линии области флэта выстраиваются вперед на 4 текущих свечи ).
( ВременнЫе уровни области флэта ( длина линий , откладываемых вперед ) отстраиваются и рассчитываются не в часах , а в барах. То есть не время 15 мин , а 1 текущая свеча. В этом случае рисование линий ОФ вперед при переходах через выходные или праздники не будет давать 48-ми часовые выпады ).
После завершения текущего ОФ ( п.6 ) уровни в достигнутых правых точках соединяются , образуя прямоугольник , где верхняя и нижняя стороны – это уровни завершенного флэта , левая сторона совпадает с 0-ПКМА , а правая соединяет эти уровни в момент завершения текущего флэта.
Первая 0-ОФ имеет маркировку «0-ОФ» в левом верхнем углу , образованном верхним ценовым уровнем 0-ОФ и 0-ПКМА.
Завершение текущего 0-ОФ инициирует новый поиск 0-ОФ.
Минимальная высота области флэта = «StandartFlat». Максимальная высота корректируется по правилу п.4 ниже. То есть 0-ОФ может быть стандартной высоты , больше ( Правила п. 3,4 , ТЗ№3 ) или меньше ( ТЗ №3 ).
Другие ОФ , ненулевые ( ТЗ №3 ) , могут выстраиваться только после нулевой ОФ, инициированной 0-переворотом КМА. Эти , другие , – производные от 0-ОФ , являются корректирующими и их изначальная высота = высоте нулевого 0-ОФ , рассчитанного в момент 0-переворота КМА ( ТЗ №3 ). И далее , по определенным правилам может скорректироваться в большую или меньшую сторону или остаться прежней.
3. Правило «Построение 0-ОФ».
Определение уровней и размера 0-ОФ:
При фиксации ( с подтверждением ) ПКМА , индикатор ищет экстремумы линии б1 ( быстрой старшего периода ) внутри только что завершенного ПКМА и ему предшествующим ( то есть между текущим 0-ПКМА и сигнальным ПКМА ).
Если текущий ПКМА__UP , то нам нужен нижний экстремум_б1_лоу.
Если текущий ПКМА_DN , то оперируем верхним экстремумом_б1_хай.
Внутри интервала «от экстремума б1 до текущего 0-переворота КМА» находим ценовые экстремумы: Хай и Лоу.
Это предварительно и есть верхний и нижний уровни нашей 0-ОФ ( далее возможна корректировка – ниже ).
Если наш переворот ПКМА__UP , то нижняя сторона ( уровень ) является со-направленной относительно направления ПКМА. А верхняя – обратно-направленной.
И , наоборот , для переворота ПКМА_DN , нижняя сторона ( уровень ) является обратно-направленной относительно направления ПКМА , а верхняя – со-направленная.
Со-направленная сторона ( уровень ОФ ) при отрисовке по принципу ВПЕРЕД на графике рисуется жирной линией ( толщина «3» ) соответствующего цвета на всем протяжении текущего ОФ до его завершения. Например: 0-ПКМА__UP , со-направленная сторона - это нижний уровень 0-ОФ , тогда он отрисовывается ВПЕРЕД на 4 текущие свечи ( ст. ТФ=1Н ) в виде голубой жирной линии. С началом нового часа ( старший ТФ ) продолжается отрисовка ВПЕРЕД на 4 свечи ( к-во текущих свечей в старшем ) того же , голубого , цвета.
Соответственно , для 0-ПКМА_DN со-направленной стороной будет верхний уровень , который должен отрисовываться розовой жирной линией ВПЕРЕД на 4 текущие свечи.
Обратно-направленный уровень ( сторона ) отрисовывается также жирной ( но чуть менее , толщина «2» ) и тоже по принципу ВПЕРЕД на 4 свечи. Цвет при этом также зависит от направления ПКМА. Розовый для ПКМА_DN и голубой для ПКМА__UP.
Разница для отрисовки между со-направленной и обратно-направленной сторонами заключается в том , что цвет со-направленной стороны ( уровня ) привязан к направлению 0-ПКМА , а цвет обратно-направленной стороны зависит от направления текущего ПКМА. То есть , при смене направления ПКМА внутри текущего ОФ также меняется цвет отрисовки обратно-направленной линии.
К примеру , 0-ПКМА при первом строительстве дает одинаковый цвет для уровней , поскольку обе линии инициированы текущим ПКМА , который является 0-ПКМА.
С новым переворотом КМА ( не-нулевым - внутри текущего ОФ ) цвет обратно-направленного уровня меняется на обратный согласно нового направления ПКМА. Однако цвет со-направленной линии сохраняется , поскольку текущий ОФ , инициированный нулевым 0-ПКМА , продолжается.
4. Правило «Корректировка размера 0-ПФ»:
o Если размер предварительного 0-ОФ менее «StandartFlat» , то обратно-направленная сторона 0-ОФ расширяется до «StandartFlat».
Например , Если наш переворот 0-ПКМА__UP , то 0-ОФ расширяется вверх , сохраняя нижний ( со-направленный ) уровень. Если же наш переворот 0-ПКМА_DN , то расширение происходит вниз.
o Если размер предварительного 0-ОФ равен или больше стандартного размера 0-ОФ «StandartFlat» , заданного настройками , то расширения не требуется и мы имеем окончательный размер 0-ОФ.
5.
Правило «Смещения 0-ОФ»: Если в момент строительства 0-ОФ , внутри отрезка «от экстремума б1 до 0-переворота КМА» есть дивер одного направления с направлением 0-ПКМА , то 0-ОФ смещается к точке этого дивера без изменения своего размера.
При этом , если таких диверов несколько , то смещение происходит к последнему из диверов – самому близко-расположенному по времени к 0-перевороту КМА.
Н-р , наш переворот 0-ПКМА__UP. Мы рассчитали окончательно размер 0-ОФ ( Правила п.п. 3 и 4 ). Между «экстремум_б1_лоу и линией 0-ПКМА__UP» обнаружено 2 дивера _UP , со-направленных с направлением переворота. Тогда наш 0-ОФ смещается вверх , сохраняя откорректированный ранее размер , но нижняя ценовая сторона этого 0-ОФ выставляется на уровне хвоста свечи , на которой образовался последний дивер , а временнАя по обычной схеме – на линии 0-ПКМА.
• Для 0-ОФ должно действовать ПРАВИЛО расположения уровней по разные стороны от точки 0-ПКМА.
Если последний со-направленный дивер внутри отрезка «от экстремума до 0-переворота КМА» расположен так , что оба уровня 0-ОФ могут оказаться по одну сторону от точки 0-ПКМа , то со-направленный уровень 0-ОФ , устанавливается в точке 0-ПКМА ( рис. с пояснением Правила - ниже ).
6.
Правило «Завершение текущего ОФ».
а.
Свеча выходит за один из ценовЫх уровней на расстояние ½ рассчитанного для текущего ОФ размера. Но не более одного размера , заданного параметром «StandartFlat». ( Если текущий ОФ рассчитан 100пп , то выход цены за 50пп. завершает текущий ОФ.
Если текущий ОФ рассчитан 200 пп. , то выход из ОФ – при преодолении 100пп.
Если текущий ОФ рассчитан 300 , то выход из ОФ – при преодолении 100пп. ).
б.
Свеча завершилась ( клоуз ) за одним из ценовых уровней текущего ОФ больше , чем на ¼ от рассчитанного размера текущего ОФ. Но не менее 1/3 размера заданного параметром «StandartFlat» и не более 2/3 от «StandartFlat». ( Если текущий ОФ рассчитан = 100пп , то завершение свечи за 33 пп. завершает текущий ОФ.
Если текущий ОФ рассчитан 200пп , то выход из ОФ – завершение свечи дальше 50 пп.
Если текущий ОФ рассчитан 300пп , то выход из ОФ – завершение свечи дальше 66 пп. ).
ОСОБЕННОСТЬ:
Пункт б. применяется при условии , когда пробой области флэта обратно-направлен направлению 0-ПКМА.
Если же пробивается сторона области флэта , со-направленная с направлением 0-ПКМА , то параметры пункта б.( в части завершения свечи ) раздвигаются в 1.5 раза.
Работа индикатора «Захват Флэта» для текущей реализации индикатора «0-ОФ».
1. Параметр StandartFlat задает размер флэта , например 80пп.
По формуле в коде рассчитываются:
a. Размер канала = 1/2х StandartFlat. ( 1/2х80=40пп. )
b. Размер Допусков к линиям канала = 1/4х StandartFlat. ( 1/4х80=20пп. ) ( но с учетом правила №6 ( "завершение текущего ОФ" )
c. Размер выставления стоп-лимитного ордера от края Допусков = 1/2хразмер_Допуска. ( 1/2х20=10пп. )
d. Размер трала стоп-лимитного ордера = 1/2хотступ_стоп-лимитного. ( 1/2х10=5пп. )
e. Размер 1-го трала открытых ордеров = 1/4х StandartFlat. ( 1/4х80=20пп. )
f. Размер 2-го трала открытого ордера = 1/2х_размера_1-го_трала. ( 1/2х20=10пп. )
2. Если индикатор рассчитывает другой размер 0-ОФ , то абсолютное значение параметров , указанных в п.1 пересчитывается автоматом.
То есть вместо StandartFlat в формулу ставим именно рассчитанный размер текущего флэта. StandartFlat я поставил в формулы , чтобы не вводит новое наименование – это должно быть автоматом в коде.
3. Первые стоп-лимитные ордера выставляются при фиксации индикатором 0-ОФ и отрисовки его уровней.
4. При заходе цены за этот уровень , инициализируется соответствующий стоп-лимитный ордер ( 1с. ), который начинает тралиться , если цена идет далее. Трал стоп-лимитника (1d.) выставляется сразу же после выставления стоп-лимитника.
5. При открытии ордера к нему сразу же выставляется трал №1 ( 1е. ).
6. При приближении цены к обратной стороне ) флэта , в момент достижения обратного стоп-лимитного ордера , размер трала сжимается до трала №2 ( 1f. ).
7. Если индикатор определяет , что 0-ОФ ЗАВЕРШЕН , тообратно-направленные ордера закрываются. А со-направленные продолжают тралиться до закрытия по стопу трала или получения обратного сигнала от дивера.
8. Далее индикатор ищет новый момент для фиксации 0-ОФ и инициирования принципа «Захват флэта».
9. Кроме этого предусмотреть одновременное открытие ордера при фиксации 0-ОФ , если выполняются условия:
Если точка 0-ПКМА и цена закрытия сигнальной свечи при фиксации 0-ОФ находятся в первой половине текущего 0-ОФ и в направлении 0-ПКМА и при этом цена закрытия сигнальной свечи со-направлена с 0-ПКМА ( проще – бычья при ПКМА_вверх и медвежья при ПКМА_вниз ) , то открывается ордер в направление 0-ПКМА.
Все тралы , стопы и пр. к нему также применяются , как к ордерам , открытым по ранее описанной схеме ( захвата флэта ).
10. Поскольку имеем флэт , то одновременно можно работать в 2-х направлениях.
11. Количество одновременно открытых ордеров любых направлений ограничено.
Если открыт ордер по п.9 и возникает условие для открытия ордера того же направления по принципу захвата , то советник может открыть один ордер этого же направления , относимый к одному ПКМА.
Например , при 0-ПКМА можно иметь открытыми 2 однонаправленных ордера: по п.9 и по принципу захвата.
Если происходит новый переворот КМА ( не нулевой , внутри текущего 0-ОФ ) , то советник может открыть еще 1 ордер этого же направления , но относимый к новому ПКМА того же направления.
Для обратных ордеров также действует это правило.
12. Предусмотреть в советнике возможность выбора: участвуют ли дивера в открытии ордеров или нет.
Если разрешаем участие , то советник может дополнительно открывать ордера по сигналу дивера ( без механизма подтверждения захода цены за среднюю ).
Данное правило применимо для флэта , поскольку предполагается , что цена ходит по коридору , а выход из коридора застрахован стопом – завершением флэта.
Кроме того это правило , отдельным выбором , даст возможность посмотреть работу по диверам внутри флэта.
Соответственно , сопровождение и закрытие этих ордеров «по диверам» определяется общим правилом захвата флэта ( кроме момента открытия – по диверам ).
Также разрешить один дивер одного направления для одного ПКМА. Если внутри текущего переворота КМА ( не обязательно нулевого ) открыт уже ордер по диверу от этого КПМА и возник новый дивер этого же направления , то он игнорируется.
Кроме этого дивера игнорируются , если находятся в области канала флэта. То есть , если дивера сигналят из области Допусков или за ними , то дивер принимается , если сигналят внутри канала , то игнорируются.
13. Таким образом , открытие ордеров при идентификации флэта , производится по 3-м основаниям: п.9 , п.11 , п.12. Сопровождение же и закрытие всех ордеров подчиняется логике «Захвата флэта».
П.С.
Вначале надо сделать ТЗ№1 ( пост от 19 дек 17-25.
Затем ТЗ№2 - этот пост.
Затем ТЗ№3 - это после. Там будет возможность смещения ОФ в процессе текущего флэта.