Алгоритм I

Тема в разделе "Tactica Adversa vs. Dilative Methods", создана пользователем Joker, 31 май 2021.

Статус темы:
Закрыта.
  1. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    Ну что же, начнём обещанную публикацию алгоритмов, используемых в сервисе prsms.org. Для построения моделей используется 2 алгоритма. В этой ветке будет опубликован базовый Алгоритм I, который отвечает за модели, аналогичные моделям TA, а также за построение WEDGE.
     
    Mr.Prowler нравится это.
  2. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    От слов к делу. Публиковать будем по небольшим частям, предлагается задавать вопросы, если что-то не ясно)

    1. ПОИСК 1-ОЙ ТОЧКИ МОДЕЛИ. ПОИСК ПОДТВЕРЖДАЮЩЕГО ЭКСТРЕМУМА.
    1.1. В качестве потенциальной 1-ой точки (далее - т.1) модели рассматривается любой экстремум, удовлетворяющий определению "правилу одного бара".

    Ниже приведены варианты "правила одного бара" для low и high экстремумов.

    Правило одного бара (далее – правило N1) для экстремума low
    Слева от бара, которому принадлежит экстремум, хотя бы 1 ближайший low должен быть выше уровня экстремума. Справа от экстремума хотя бы 1 ближайший low должен быть выше или равен экстремуму. Если ближайший low равен уровню экстремума, то следующий за ним low снова должен быть выше или равен уровню экстремума, и так до тех пор, пока не найдётся хотя бы один бар строго выше уровня экстремума.

    Правило одного бара (N1) для экстремума high
    Слева от бара, которому принадлежит экстремум, хотя бы 1 ближайший high должен быть ниже уровня экстремума. Справа от экстремума хотя бы 1 ближайший high должен быть ниже или равен экстремуму. Если ближайший high равен уровню экстремума, то следующий за ним high снова должен быть ниже или равен уровню экстремума, и так до тех пор, пока не найдётся хотя бы один бар строго ниже уровня экстремума.

    Алгоритм последовательно осуществляет перебор баров, пока не будет найден бар, подходящий под данное правило.

    1.2. Когда найден подходящий по п.1.1. экстремум, запускается ветка построения новой модели.
    Осуществляем поиск справа налево (т.е. в прошлое) бара, пересекшего уровень экстремума-кандидата в т.1.
    Если такой бар не будет найден при проверке участка длинной в 50 баров, либо в процессе поиска будет достигнут первый бар на графике, то приравниваем 50ый бар, либо первый бар на графике искомому.
    1.2.1. Программа ищет абсолютный экстремум на участке от пересечения ценой уровня кандидата в т.1 (включительно) до бара т.1(не включая).
    1.2.1.1. Если такой экстремум не найден, данный кандидат в т.1 отбрасывается (программа продолжает обработку других кандидатов в т.1).
    1.2.1.2. Если такой экстремум найден, он является экстремумом, подтверждающим т.1. Программа переходит к обработке следующего после т.1 бара по п.2 алгоритма.
     
    Последнее редактирование: 5 июн 2021
    Mr.Prowler нравится это.
  3. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    2. ПОИСК ТОЧЕК 3 И 2.

    Если программа вернулась к этому пункту в процессе построения альтернативной модели, то данное ответвление алгоритма прекращается.

    Бар, следующий за т.1 проверяются на непреодоление уровня т.1.
    2.1. Если уровень т.1 преодолен, то программа отбрасывает данную т.1.
    2.2. Если уровень т.1 не преодолен, анализируемый бар проверяется
    -по правилу N1 в качестве экстремума, сонаправленного с экстремумом т.1;
    -на преодоление уровня предшествующего кандидата в точку 3 (т.е. каждая последующий кандидат в точку .3 (т.3) должна быть ближе по уровню к т.1). Данное требование применяется, если был предыдущий кандидат в т.3 или отмененная т.3;
    Если оба требования выполняются, то анализируемый бар содержит экстремум - кандидат в т. 3 . Переходим к п. 2.2.2.

    2.2.2. Поиск точки 2.
    Осуществляется поиск экстремума (по правилу N1) противонаправленного экстремуму т.1 на участке от т.1 (не включая) до бара-кандидата в т.3 (не включая). Искомый экстремум будет кандидатом в точку 2 (т.2) и к нему применяются следующие требования:

    - для случая , когда экстремум-кандидат в т.2 является high, то все предыдущие бары начиная с т.1 (не включая) должны быть ниже уровня экстремума-кандидата в т.2.
    -для случая, когда экстремум-кандидат в т.2 является low, то все предыдущие бары начиная с т.1 (не включая) должны быть выше уровня экстремума-кандидата в т.2

    - если бар т.1 содержит экстремум (по правилу №1), противонаправленный экстремум т.1, то экстремум -кандидат в т.2 должен перебивать уровень этого экстремума (т.е. уровень кандидата в т.2 должен быть дальше от уровня т.1, чем сонаправленный ему экстремум на баре т.1).

    ---
    Если программа обработала 50 баров подряд в соответствии с данным пунктом (п.2), а ни один кандидат в т.3 не найден (т.е. программа так и не перешла к другому пункту алгоритма), то данная потенциальная т.1 отбрасывается.

    Если между потенциальной т.1 и анализируемым баром 150 и более баров , а программа так и не перешла к пункту 3 алгоритма, данная потенциальная т.1 отбрасывается. Данное ограничение касается случаев, когда программа возвращается к поиску т.3 из последующих пунктов (т.е. когда т.3 отбрасывается в более поздних пунктах алгоритма).
    ---

    2.2.2. А. Если в результате проверки всех баров от т.1 (не включая) до бара-кандидата в т.3 (не включая) найден удовлетворяющий требованиям экстремум т.2, то кандидат в т.3 становится подтвержденной потенциальной т.3, переходим к п.3 алгоритма.
    2.2.2.Б. Если подходящий кандидат в т.2 не найден на указанном участке, переходим к проверке следующего бара с начала данного пункта (п.2) в качестве кандидата в т.3.
     
    Последнее редактирование: 5 июн 2021
    Mr.Prowler нравится это.
  4. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    3.1. ПРОВЕРКА НА ФРАГМЕНТИРОВАННОСТЬ БАЗЫ.

    База участок от т.1 до т.3 (или т.3' при наличии такой).
    База не должна быть фрагментированной. Это значит, что должны отсутствовать экстремумы, сонаправленные с т.1, между уровнями т.1 и т.3. Такие экстремумы дальше будут именоваться экстремумы, фрагментирующие Базу, далее – ЭФБ.

    Проводится поиск сонаправленных с т.1 экстремумов (по правилу N1) на участке от бара т.1 (не включая) до бара т.2 (не включая) , уровень которых расположен ближе к уровню т.1, чем уровень т.3.

    3.1.1. Если такие экстремумы (потенциальные ЭФБ) присутствуют, программа проверяет каждый из них на наличие подтверждающего противонаправленного экстремума на участке от последнего (на момент формирования ЭФБ) пересечения ценой уровня ЭФБ до бара ЭФБ (по аналогии с поиском подтверждающего экстремума потенциальной т.1 в п.1.2.1.).
    Если ЭФБ не имеет подтверждающего экстремума, то такой ЭФБ дальше не учитывается (т.е. если нет ЭФБ с подтверждающими экстремумами, то проверка пройдена и База НЕ фрагментирована).
    Если есть хотя бы 1 ЭФБ с подтверждающим экстремумом, то
    -База фрагментирована;
    -
    подтвержденная т.3 становится отмененной т.3;
    -программа ищет новую т.3, для чего обрабатывает следующий за баром отмененной т.3 бар по п.2. алгоритма.

    3.1.2. Если проверка пройдена успешно и ЭФБ не найдены (в т.ч. если нет подтвержденных ЭФБ), то программа переходит к подпункту 3.2.
     
    Последнее редактирование: 5 июн 2021
    Mr.Prowler нравится это.
  5. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    3.2. ПОСТРОЕНИЕ И ПРОВЕРКА ЛТ НА УЧАСТКЕ 1-3.
    ОПРЕДЕЛЕНИЕ УЧАСТКА, НА КОТОРОМ МОЖЕТ БЫТЬ НАЙДЕНА Т.3’.
    ПОИСК Т.3’.

    ПОСТРОЕНИЕ И ПРОВЕРКА ЛТ НА УЧАСТКЕ 1-3.
    Вычисляется Линия тренда - линия проходящая по точкам т.1 и т.3 (далее - ЛТ). Проводится проверка ЛТ на наличие пробоев на участке т.1 - т.3. Проверка осуществляется от т.1 к т.3 до обнаружения 1-го по времени пробоя.

    3.2.1. Найден пробой ЛТ на участке т.1-т.3. В этом случае возможны 2 варианта:
    3.2.1.1. Если уровень подтвержденной т.3 дальше от т.1 чем уровень т.2 (т.е. т.3 перебивает уровень т.2), то
    - подтвержденная т.3 становится отменённой т.3.
    -программа осуществляет поиск нового кандидата в т.3. Для этого, бар, следующий за баром, пробившим уровень т.2 обрабатывается по п.2. и далее по алгоритму.
    3.2.1.2. Если уровень т.2 не пробит баром подтвержденной т.3, то следующий бар обрабатывается по пп.3.2.3.

    3.2.2. ЛТ не пробита на участке т.1. - т.3 — в этом случае бар, следующий за баром подтвержденной т.3 обрабатывается по пп.3.3.

     
  6. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    3.2.3. ОПРЕДЕЛЕНИЕ УЧАСТКА, НА КОТОРОМ МОЖЕТ БЫТЬ НАЙДЕНА Т.3’.

    Анализируемый бар проверяется на пробой уровня подтвержденной т.3.
    3.2.3.1. Если уровень подтвержденной т.3 пробит,
    -подтвержденная т.3 становится отмененной т.3;
    -программа ищет новую т.3, для чего бар, пробивший уровень подтвержденной т.3, обрабатывается по п.2. и далее по алгоритму.​

    3.2.3.2. Если уровень т.3 не пробит, программа проверяет анализируемый бар на пробой уровня т.2. Возможны варианты:
    3.2.3.2.1. Если уровень т.2 не пробит, программа анализирует следующий бар в соответствии с пп.3.2.3.
    3.2.3.2.2. ПОИСК Т.3’. Если пробивает уровень т.2, то программа ищет на участке от т.3 до бара, пробившего уровень т.2 (включительно), такую точку 3’ (далее т.3’) через которую можно построить линию т.1-т.3’, которая не будет содержать лишних касаний ценой на участке от бара т.1 до бара, следующего за баром т.3’ (включительно), а также эта линия не должна содержать лишних пробоев (не касаний) ценой на участке до бара, пробившего уровень т.2 (не включая).
    3.2.3.2.2.А. Если т.3’ найдена, то:
    -ЛТ перестраивается через т.3’ (т.е. ЛТ теперь это линия от т.1 к т.3’)
    -алгоритм ищет потенциальную т.4, для чего обрабатывает бар, пробивший уровень т.2 (!!! но если бар пробивший уровень т.2 совпадает с баром т.3’, то программа сразу переходит к обработке уже следующего бара) по пп.3.4.
    3.2.3.2.2.Б. Если точка т.3’ не найдена, то
    -подтвержденная т.3 становится отмененной т.3;
    -программа ищет новую т.3, для чего обрабатывает следующий за отменной т.3 бар в соответствии с п.2 и далее по алгоритму.​
    Если между т.1 и анализируемым баром 150 и более баров, а программа так и не перешла к другому пункту алгоритма, данная т.1 отбрасывается.
     
  7. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    3.3. ПРОВЕРКА ЛТ НА УЧАСТКЕ ПОСЛЕ Т.3

    Анализируемый бар проверяется на преодоление ЛТ.
    3.3.1. ЛТ не преодолена — анализируемый бар обрабатывается по пп.3.4.
    3.3.2. ЛТ преодолена. В этом случае проверяется, достигался ли уровень т.2 между проверяемым баром и т.3. Возможны 2 варианта:
    3.3.2.1. Если между анализируемым баром (не включая) и баром т.3 (включая) уровень т.2 не достигался, программа осуществляет поиск т.3’, для чего переходит к пп.3.2.3.
    3.3.2.2. Если между анализируемым баром (не включая) и баром т.3 (включая) уровень т.2 был достигнут,
    -потенциальная т.3 становится отмененной т.3;
    -программа осуществляет поиск нового кандидата в т.3. Для этого анализируемый бар (в данном случае это следующий за отмененной т.3 бар) обрабатывается по п.2.
     
  8. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    3.4. ПОИСК ПОТЕНЦИАЛЬНОЙ ЛИБО АЛЬТЕРНАТИВНОЙ Т.4

    Если программа осуществляет поиск т.4, а проанализированный бар дальше от т.1, чем [расстояние между т.1 и т.3] взятое 5 раз , то данная потенциальная т.1 отбрасывается.

    В случае, если программа осуществляет поиск альтернативной т.4, а анализируемый бар дальше от т.1, чем [количество баров между т.1 и т.3] взятое 10 раз , то поиск альтернативной т.4 прекращается.

    Анализируемый бар проверяется на «экстремальность» по правилу N1 (в качестве потенциальной т.4 ).
    3.4.1. Если бар не экстремум — то программа проверяет анализируемый бар на пробой (в данном случае не касание) ЛТ.
    3.4.1.1. Если ЛТ не достигнута (не пробита), то программа обрабатывает следующий бар по пп. 3.4.
    3.4.1.2. Если ЛТ пробита, то анализируемый бар обрабатывается по аналогии с пп. 3.3.2.
    3.4.2. Если бар экстремум — это потенциально т.4, переход к пп.3.5.
     
    Последнее редактирование: 11 июн 2021
  9. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    3.5. ПРОВЕРКА РАСПОЛОЖЕНИЯ Т.4.

    Проверяем, что ближе к уровню т.1 - уровень кандидата в т.4 или уровень т.2. Возможны 3 варианта:
    3.5.1. Уровень потенциальной т.4 ближе к уровню т.1, чем уровень т.2 — найден кандидат на т.4 для модели типа Клин. В этом случае
    3.5.1.0. Бар потенциальной т.4 проверяется на наличие между ним и баром т.3 (не включая) баров, содержащих значения цены
    - более удаленные от т.3, чем значение потенциальной т.4, либо
    - равные т.4.
    Возможны следующие варианты:
    3.5.1.0.1. Потенциальной т.4 не является потенциально абсолютным экстремумом (т.е. есть более удаленные от т.3 значения цены). В этом случае следующий бар обрабатывается по пп.3.4.
    3.5.1.0.2. Потенциальная т.4 является потенциально абсолютным экстремумом. В этом случае проводится проверка на пересечение линии от т.2 к т.4 (это Линия целей, далее - ЛЦ) ценой на участке между т.2 и т.4 (далее - участок 2-4).
    Возможны 2 варианта – 3.5.1.1. и 3.5.1.2.
    3.5.1.1. Если пересечение есть, то программа проверяет анализируемый бар на достижение ЛТ.
    3.5.1.1.1 ЛТ не достигнута — следующий бар обрабатывается по пп.3.4.
    3.5.1.1.2. ЛТ достигнута. В этом случае программа осуществляет поиск нового кандидата в т.3/т.3’. Для этого анализируемый бар обрабатывается по пп.3.2.3.
    3.5.1.2. Если пересечения нет, то бар т.4 проверяется на достижение ЛТ. Возможны следующие варианты:
    3.5.1.2.1. Если бар т.4 достиг ЛТ, то фиксируется модель Клин, для которой рассчитывается уровень пересечения ЛТ и ЛЦ.
    После этого программа осуществляет поиск т.3’ при тех же точках 1,2,3, или поиск новой т.3 для следующей модели. Для этого программа обрабатывает анализируемый бар (в данном случае бар т.4, при этом достигший ЛТ) начиная с пп.3.2.3.
    3.5.1.2.2. Если бар т.4 не достиг ЛТ, то следующий за ним бар (а при повторных применениях пункта – следующий за ранее проанализированным баром) анализируется на достижение ЛТ. Параллельно осуществляется проверка на непреодоление расстояния равного (т.1-т.3)*10. Если расстояние преодолено, то возвращаемся (идём по циклу) к поиску т.3.
    Возможны следующие варианты:
    3.5.1.2.2.1. Если анализируемый бар достиг ЛТ, то программа действует по аналогии с пп.3.5.1.2.1., т.е. фиксируется модель Клин и в новой ветке алгоритма программа обрабатывает анализируемый бар (в данном случае бар, достигший ЛТ) начиная с пп.3.2.3;
    3.5.1.2.2.2. Если ЛТ не достигнута, то анализируемый бар проверяется на достижение уровня т.4. Возможны следующие варианты:
    3.5.1.2.2.2.А. Если уровень т.4 не достигнут, программа анализирует следующий бар на достижение ЛТ, варианты аналогичны пп.3.5.1.2.2.1. и 3.5.1.2.2.2.
    3.5.1.2.2.2.Б. Если уровень т.4 достигнут, то программа проверяет анализируемый бар по пп.3.4.

    3.5.2. Уровень потенциальной т.4 дальше от уровня т.1, чем уровень потенциальной т.2. — переход к п.4.
    3.5.3. Уровень потенциальной т.4 равен уровню потенциальной т.2 —
    программа проверяет, пробил ли (=коснулся) бар рассматриваемого кандидата в т.4 линию тренда (ЛТ).
    3.5.3.1. Если нет - программа осуществляет поиск следующего кандидата на т.4. Для этого программа обрабатывает следующий бар по пп.3.4.
    3.5.3.2. Если да – программа ищет новую т.3, для чего анализирует следующий бар по п.2.
     
    Последнее редактирование: 12 июн 2021
  10. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    Мне кажется я прямо слышу мысленный возглас тех, кто начинал с изучения "классической" Tactica Adversa по поводу выше опубликованного пункта 3.4. - "Да какой в этом смысл? Зачем это вообще нужно?" ;)
    Вобщем хочу объяснить, почему в рамках подхода Tactica Advers vs. Dilative Methods нельзя просто взять и выкинуть построения, где т.4 находится по уровню ближе к т.1, чем уровень т.2. Все дело в том, что основой подхода TAvsDM является приоритет правил отбора экстремумов. Правилами первого, самого базового и основополагающего уровня в TAvsDM являются правила определения реперных точек как таковых, т.е. правила, которые отвечают на вопрос "Какой экстремум может являться реперной точкой?". Такими являются:
    1. Правило N1;
    2. Экстремум должен быть подтвержденным (требуется наличие предшествующего и последующего противонаправленных экстремумов до того, как цена пересечет уровень рассматри).
    3. Реперные точки должны быть абсолютными относительно друг друга.
    4.Исключением из 3х вышеназванных могут быть только те реперные точки, которые берутся по касательной.
    Эти правила являются по сути аксиомой, от который мы оттолкнулись и собственно только эти правила могут не подвергаться сомнению. Все остальное в рамках TAvsDM должно быть статистически изучено или хотя бы логически обосновано.

    Поэтому если после т.3 появляется экстремум, удовлетворяющий этим правилам - значит его необходимо учесть! И таким образом у нас и может возникнуть построение Клин.
    Если же мы ждём преодоление уровня т.3 и только после этого начинаем отслеживать формирование новых экстремумов, то логика перестаёт быть непосредственной и становится уже навязанной каким-то необоснованным мнением, о том как развивается рыночный процесс.
     
    Последнее редактирование: 12 июн 2021
  11. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    Отредактировал предыдущий пост немного, перечитайте пожалуйста, даже если уже успели сделать это ранее.

    И вот ещё что: "классическая" TA отталкивается в своей логике от некоего Оригинала, происхождение которого не известно, а истинность изложенного в нем не подвергается сомнению. При этом текст Оригинала является иносказательным и позволяет интерпретировать его со множеством отличающихся друг от друга смыслов. Для того, чтобы методы, в основе которых лежит подобный подход, работали, необходимо опираться на интуицию и опыт. Это не плохо, такой подход имеет право на жизнь. Более того, мы разделяем мнение, что богатыми становятся чаще именно те, кто обладает талантом слушать свою интуицию.

    В то же время вопрос о надежности источника, из которого получен Оригинал, остаётся открытым. И пожалуй это довольное слабое место всей концепции. Тот факт, что нет уверенности ни в надежности самого Оригинала, ни в правильности интерпретации его кем бы то ни было, в совокупности однозначно лишает нас доверия к каким-бы то ни было аксиомам заложенным в "оригинальной" TA.
    Поэтому все правила, кроме перечисленных в предыдущем посте, мы проверили статистически. Опять же, наша работа не исключает, что изменив правила по-своему, вы не получите лучшего результата. Мы вполне допускаем, что применив творческий подход, вы сумеете найти еще лучшие варианты, чем это удалось нам. Более того, во много именно с целью привлечь думающих и творческих людей мы и создали prsms.org, а также публикуем алгоритмы. Принцип Dilative Methods в том, чтобы всегда искать лучшее решение, но делать это системно и последовательно!:)
     
  12. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    4. ПРОВЕРКА НА ПЕРЕСЕЧЕНИЕ ЛЦ ЦЕНОЙ НА УЧАСТКЕ 2-4.

    Программа проверяет наличие пересечений ценой Линии Целей на участке от т.2 до т.4. (далее – участок 2-4).
    4.1. На участке 2-4 ЛЦ пересекается ценой – то программа проверяет анализируемый бар (он же бар потенциальной т.4) на пробой (в данном случае не касание) ЛТ.
    4.1.1. Если ЛТ не достигнута, то программа обрабатывает следующий бар по пп. 3.4.
    4.1.2. Если ЛТ пробита, то
    -т.3 становится отмененной т.3;
    -программа осуществляет поиск нового кандидата в т.3. Для этого анализируемый бар обрабатывается по п.2 и далее по алгоритму.*
    4.2. ЛЦ не пересекается ценой на участке 2-4 – программа переходит к п.5.

    * - в данный момент в сервисе реализовано немного иначе. Вариант описанный здесь скорее всего более оптимальный, но пока тестируется. Если что-то будет не так - поправим данный пост.
     
  13. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    5. ФИКСАЦИЯ МОДЕЛИ ПРИ ПРОБОЕ ЛТ. ПОИСК Т.5.

    Бар т.4 (а при повторных применениях пункта указанный в алгоритме анализируемый бар) проверяется на достижение ЛТ. Возможны следующие варианты:
    5.1. ЛТ достигнута (есть касание ЛТ). В этом случае программа проверяет, преодолен ли уровень т.4 на участке от т.4 до момента достижения ценой ЛТ (не включая анализируемый – т.е. пробивший ЛТ бар). Это возможно при повторных применениях пункта, т.е. когда будет анализироваться не т.4, а какой-то из последующих баров.
    5.1.1. Если уровень т.4 не преодолен, то модель получает статус [Сформирована модель без 6].
    Затем программа переходит к п.6.
    5.1.2. Если преодолен уровень т.4 программа ищет абсолютный экстремум на участке от т.4 (не включая) до бара, достигшего уровень т.4 (включительно), в качестве точки 5 (далее – т.5).

    В данном и подобных этому случаю, когда указывается в качестве какой точки ищется экстремум, подразумевается указание на направленность экстремума, который мы ищем. В частности экстремум т.5 противонаправлен ранее найденному экстремуму т.4

    При поиске потенциальной т.5 необходимо учитывать требование: в частном случае, если бару т.4 принадлежит экстремум, сонаправленный с т.5, т.5 должен перебивать уровень этого экстремума
    (т.е. уровень т.5 должен быть дальше от уровня т.4).

    5.1.2.1. Если экстремум найден – это потенциальная т.5.
    Возможны 2 варианта:
    5.1.2.1.1. Т.5 принадлежит бару, который пробил уровень т.4. Программа осуществляет проверку, является ли бар, который содержит т.5 (и который пробил уровень т.4) баром, который также содержит и абсолютный экстремум на участке от этого бара (включительно) до точки пробоя ЛТ (т.е. текущим баром) (не включая). Возможны 2 варианта:
    5.1.2.1.1.1. Бар т.5 содержит абсолютный экстремум, сонаправленный с т.4. В таком случае абсолютный экстремум, сонаправленный с т.4 является новой потенциальной т.4. Программа строит ЛЦ через данную т.4 и проверяет ЛЦ на отсутствие пересечений ценой на участке 2-4.
    Возможны 2 варианта:
    5.1.2.1.1.1.А. На участке 2-4 ЛЦ пересекается ценой. В этом случае
    -т.3 становится отмененной т.3;
    - программа ищет новую т.3, для чего обрабатывает бар, достигший ЛТ по п.2 и далее по алгоритму.
    5.1.2.1.1.1.Б. На участке 2-4 ЛЦ не пересекается ценой.
    Программа переходит к п.6.
    5.1.2.1.1.2. Бар т.5 не содержит абсолютный экстремум, сонаправленный с т.4. Программа переходит к п.6.​
    5.1.2.1.2. Т.5. принадлежит бару между баром т.4 и баром, пробившем уровень т.4. Программа переходит к п.6.
    5.1.2.2. Экстремум не найден, программа осуществляет поиск следующего кандидата на т.4. Для этого программа обрабатывает бар, преодолевший уровень потенциальной т.4 по п.3.4.
    5.2. ЛТ не достигнута. Если анализируемый бар содержит потенциальную т.4, программа проверяет следующий бар по п.5. Если анализируемый бар не содержит потенциальную т.4, то он подвергается одновременной проверке:
    - на экстремальность по правилу N1 (в качестве т.5);
    - на наличие между анализируемым баром и баром потенциальной т.4 баров, содержащих значения цены, более удаленные от потенциальной т.4, чем наиболее удаленное от т.4 значение анализируемого бара, а также
    -наличие между анализируемым баром и баром т.4 значений цены равных наиболее удаленному значению цены анализируемого бара
    (это проверка на потенциальную абсолютность экстремума потенциальной т.5).

    5.2.1. Если бар является экстремумом и он потенциально абсолютный, то данный бар является потенциальной т.5. Программа проверяет данный бар на достижение уровня т.4. Возможны 2 варианта:
    5.2.1.1. Если уровень т.4 достигнут (подтвержден баром потенциальной т.5), программа осуществляет проверку, содержит ли бар, который содержит т.5 (и который пробил уровень т.4) также и экстремум, сонаправленный с баром т.4:
    Возможны 2 варианта:
    5.2.1.1.1. Бар т.5 содержит экстремум, сонаправленный с т.4. В таком случае абсолютный экстремум, сонаправленный с т.4 является новой потенциальной т.4. Программа перестраивает ЛЦ через неё и проверяет данную ЛЦ на наличие пересечений на участке т.2-т.4. Возможны 2 варианта:
    5.2.1.1.1.А На участке 2-4 ЛЦ пересекается ценой. программа обрабатывает следующий бар по пп. 3.4.
    5.2.1.1.1.Б На участке 2-4 ЛЦ не пересекается ценой. Программа проверяет следующий бар по п.5
    5.2.1.1.2. Бар т.5 не содержит экстремум, сонаправленный с т.4. В данном случае происходит подтверждение бара т.4 баром т.5 (т.е. обе точки подтверждены). Программа переходит к п.6.
    5.2.1.2. Если уровень т.4 не достигнут, программа переходит к п.6.
    Модель в рамках данной ветки алгоритма помечается меткой draw_flag.

    Параллельно программа проверяет следующий бар в соответствии с данным пунктом (т.е. по п.5), чтобы найти другую модель с теми же т.1, т.2, т.3, т.4, но другой т.5.​
    5.2.2. Если бар не является экстремумом, либо не является потенциально абсолютным, то программа проверяет его на достижение уровня потенциальной т.4.
    5.2.2.1. Если бар достигает уровня т.4 , то программа ищет абсолютный экстремум между т.4 и точкой подтверждения т.4 (т.е. повторного после т.4 достижения уровня т.4) в качестве т.5.
    Возможны 2 варианта:
    5.2.2.1.1. При наличии т.5 программа переходит к п.6.
    5.2.2.1.2. При отсутствии т.5, программа переходит к поиску новой т.4, для чего обрабатывает бар, достигший уровень т.4 начиная с п.3.4.
    5.2.2.2. Если бар не достигает уровня потенциальной т.4, то программа обрабатывает следующий бар с начала этого пункта (т.е. по п.5).​
     
    Последнее редактирование: 13 июн 2021
  14. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    6. ПОИСК КАСАТЕЛЬНЫХ И ПОСТРОЕНИЕ ВСПОМОГАТЕЛЬНОЙ МП.
    6.1. ПОИСК Т.2’.

    Программа осуществляет поиск т.2’ (касательной, т.е. для неё снимается правило N1), которая даст ЛЦ, не имеющую пересечений с ценой на участке между т.1 и т.2. Проверяются бары справа налево начиная с бара т.2 до бара т.1 включительно (далее – участок 1-2). Точка 2’ (далее – т.2’) может совпадать с т.2, если ЛЦ через т.2 не имеет лишних пересечений ценой на 1-2, однако т.2’ не может принадлежать бару т.1.

    6.1.1. Если т.2’ найдена (в т.ч. в случае, если т.2’ совпадает с т.2), то программа рассчитывает Линию целей по касательной от т.2’ к т.4 (далее -ЛЦ’). Далее проверяется, имеет ли рассматриваемая модель статус [Сформирована модель без 6].
    6.1.1.1. Модель имеет статус [Сформирована модель без 6]. – программа переходит к п. 7.
    6.1.1.2. Модель не имеет статуса [Сформирована модель без 6]. – программа переходит к пп.6.2.
    6.1.2. Если т.2’ не найдена (т.е. невозможно построить такую линию по точкам т.2’ и т.4, которая не будет содержать лишних точек на участке 1-2), то это модель без вспомогательной МП. Программа переходит к п.7.
     
  15. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    6.2. ПОИСК Т.3’ ВСПОМОГАТЕЛЬНОЙ МП.

    Программа строит линию от т.3(или т.3’ при её наличии) к т.5 (Линия тренда вспомогательной Модели Притяжения, далее - ЛТмп) и проверяет её на наличие пересечений ценой на участке между т.3 и т.5.

    6.2.1. Пересечения найдены. Линия т.3/т.3’-т.5 в этом случае не отображается на графике. Программа ищет на участке от бара т.3/т.3’ (включая) до бара т.4 (не включая) (далее участок 3’-4) такую точку 3’ вспомогательной Модели Притяжения (далее т.3’мп), через которую возможно построить линию, которая не будет иметь пересечений с ценой на участке от т.3/т.3’ до т.5.
    6.2.1.1. Если т.3’мп найдена, то программа строит Линию тренда вспомогательной модели притяжения по касательной от т.3’мп к т.5 (далее – ЛТмп’) и рассчитывает уровень пересечения ЛЦ’ и ЛТмп’ (далее – расчётная т.6). Возможны 2 варианта:
    6.2.1.1.1. Если расчётная т.6 найдена., то
    -осуществляется проверка на минимальное соотношение отрезка по времени т.2-т.4 к отрезку т.4-т.6 для вспомогательной МП (должно быть в пределах 0,5). Если проверка не пройдена, то модель не имеет вспомогательной МП (в этом случае ЛТмп не отображается на графике), алгоритм переходит к пп. 6.3.
    -если проверка пройдена, программа проверяет, пробивает ли бар т.5 уровень расчётной т.6.
    6.2.1.1.1. а. Если бар т.5 не пробивает уровень расчётной т.6, то программа переходиткпп.6.3.
    6.2.1.1.1.б. Если бар т.5 пробивает уровень расчётной т.6, то данная МП не может быть построена программа ищет новую т.4. для чего следующий бар проверяется по подпункту 3.4., либо в случае если модель имеет пометку draw_flag данная ветка алгоритма прекращается.
    6.2.1.1.2. Прогнозная 6-ая не найдена (т.е. линии не пересекаются). В этом случае ЛТмп не отображается на графике. Программа переходит к пп.6.3.
    6.2.1.2. Если т.3’мп не найдена, то Программа переходит к п.7.
    6.2.2. Пересечения не найдены. В этом случае программа рассчитывает уровень пересечения ЛТмп и ЛЦ’ (это уровень расчетной т.6). Возможны 2 варианта по аналогии с подпунктами 6.2.1.1.1. и 6.2.1.1.2.
     
  16. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    6.3. ПОСТРОЕНИЕ ВСПОМОГАТЕЛЬНОЙ МП ЧЕРЕЗ Т.5’.

    Программа проводит проверку на наличие т.5’ (первый возможный по времени локальный экстремум на участке т.4-т.5).
    6.3.1. В случае наличия т.5’ программа по аналогии с п. 6.2. строит Линию Тренда вспомогательной модели притяжения, но уже через т.5’ и при необходимости – через другую подходящую т.3’ (далее т.3’мп5’. Если программе удаётся построить МП через т.5’ (линии имеют сходимость). Модель фиксируется со статусом [Построена МП через т.5']. Затем программа переходит к п. 7.
    6.3.2. В противном случае программа просто переходит к п.7.
     
  17. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    7. ОПРЕДЕЛНИЕ СТ И ТИПА МОДЕЛИ.

    7.1. В случае если ЛЦ построенная через т.2 не имеет пересечения с ценой на участке т.1-т.2, или если есть ЛЦмп, построенная через т.2’.
    Здесь и далее подразумевается, что если линия, построенная через т.2 к .4 не имеет пересечений с ценой на участке т.1-т.2, то считается что т.2’=т2 и ЛЦ’=ЛЦ.

    Определяется тип модели по положению точки пересечения ЛТ и ЛЦ’ (это линия построенная от т.2’ к т.4) по отношению к т.4:

    7.1.1. Точка пересечения ЛТ и ЛЦ’ лежит правее т.4. В данном случае точка пересечения линий является расчетной точкой 6 (далее - расчетная т.6).), то программа рассчитывает соотношение отрезков времени от т.1 до т.4 и от т.4 до расчетной т.6 для ЧМП.
    7.1.1.1.Если участок от т.1 до т.4, умноженный на 3 больше участка от т.4 до расчетной т.6 для ЧМП, данная модель является (eng. - АМ) (рус. - ЧМП).

    Если рассматриваемая модель является ЧМП и при этом сформирована (т.е. после т.4 пробита ЛТ), программа проверяет каждый бар после бара т.4, до одного из следующих событий:
    7.1.1.1.1.Найден бар, достигший уровня т.3 (но не достигший уровень т.4). В этом случае данная ветвь алгоритма завершена.
    7.1.1.1.2. Найден бар, достигший уровень т.4 (при этом либо не достигший, либо достигший уровень т.3).
    - в случае наличия метки draw_flag – данная ветка прекращается;
    -в другом случае программа проводит проверку на наличие на участке от т.4(не включая) до бара, достигшего уровень т.4(включительно) экстремума, противонаправленного экстремуму т.4 (т.е. сонаправленного с экстремумом т.1 анализируемой модели. Возможны 2 варианта:
    7.1.1.1.2.а. Экстремум найден. В этом случае алгоритм переходит к п.8.
    7.1.1.1.2.б. Экстремум не найден. В таком случае
    - статус сформированной модели отменяется (модель отбрасывается);
    -т.3 становится отмененной т.3;
    -программа осуществляет поиск следующего кандидата на т.3. Для этого программа обрабатывает бар, пробивший ЛТ по п.2.
    7.1.1.2. Если
    -участок от т.1 до т.4, умноженный на 3 меньше или равен участку от т.4 до расчетной т.6 (для сходящихся линий) и при этом
    -участок от т.1 до т.4 умноженный на 12 больше участка т.4-т.6,
    данная модель является eng. – AM/DBM (рус. - ЧМП/МДР).

    7.1.1.3.-участок от т.1 до т.4 умноженный на 12 меньше или равен участку от СТ до т.1 (для сходящихся слева ЛТ и ЛЦ), то данная модель является eng. – DBM (рус. – МДР).​
    7.1.2. Точка пересечения ЛТ и ЛЦ’ (ЛЦ’ – это линия от т.2’ – т.4) лежит левее т.4 —данная точка квалифицируется как Сакральная Точка (далее – СТ). *
    7.1.2.1. Если
    -участок от т.1 до т.4 умноженный на 3 меньше или равен участку от СТ до т.1, и при этом;
    -участок от т.1 до т.4 умноженный на 12 больше участка от СТ до т.1, то это eng. – EM/DBM (рус. - МР/ МДР).
    7.1.2.2.Если участок от т.1 до т.4 умноженный на 3 больше участка от СТ до т.1, это eng. - EM (рус. – МР).
    7.1.2.3.Если
    -ЛТ и ЛЦ модели параллельны, либо
    -участок от т.1 до т.4 умноженный на 12 меньше или равен участку т.4-т.6 (для сходящихся справа ЛТ и ЛЦ);
    -участок от т.1 до т.4 умноженный на 12 меньше или равен участку от СТ до т.1 (для сходящихся слева ЛТ и ЛЦ), то данная модель является eng. - DBM (рус. - МДР).​
    Программа переходит к п.8. (обобщенно по 7.1.2.)​
    7.2. Если для данной модели оказалось невозможным построение ЛЦ (ЛЦ’) таким образом, чтобы на ней не было лишних пересечений на участке т.1 (включительно) - т.2, то программа проверяет, где пересекается ЛТ и ЛЦ от т.2.
    7.2.1. Если линии пересекаются справа (т.е. после т.4), то
    7.2.1.1. если участок от т.1 до т.4, умноженный на 3 больше участка от т.4 до расчетной т.6 (для сходящихся линий), то данная модель является некорректной.
    Возможен один из 2х вариантов:

    7.2.1.1.1 Если ЛТ некорректной ЧМП пробита баром т.4 или баром, следующим сразу за т.4, то
    - в случае наличия метки draw_flag – данная ветка прекращается;
    - в другом случае т.3 становится отменной т.3 и программа осуществляет поиск новой т.3, для чего обрабатывает бар, пробивший ЛТ ЧМП по п.2.
    7.2.1.1.2. Если ЛТ некорректной ЧМП не пробита баром т.4 или баром, следующим сразу за ним, то программа осуществляет поиск новой т.4, для чего обрабатывает бар, следующий за баром кандидата в т.4 по 3.4.
    7.2.1.2. -участок от т.1 до т.4, умноженный на 12 больше участка от т.4 до расчетной т.6, то данная модель является eng. – AM/DBM (рус. - ЧМП/МДР).

    7.2.1.3. участок от т.1 до т.4 умноженный на 12 меньше или равен участку от т.4 до т.6, то данная модель является eng. - DBM (рус. - МДР).​
    7.2.2. Если ЛТ и ЛЦ пересекаются слева (т.е. в прошлом) по отношению к т.4, программа осуществляет косвенную проверку на Силу тренда. Для этого используется псевдо СТ – так называется точка пересечения ЛЦ (построенной через т.2) и ЛТ в том случае, если нельзя построить ЛЦ через т.2 так, чтобы на ней не было лишних точек. Возможны следующие варианты:
    7.2.2.1. Если псевдо СТ лежит правее (т.е. позже) т.1 до т.3 (или т.3’, если модель построена по ней), то тип данной модели определяется как eng. - EM (рус. – МР)., причем модель является сильной по псевдо СТ.
    7.2.2.2. В обратном случае
    Если линии пересекаются слева от т.1 (т.е. раньше), возможны следующие варианты:
    7.2.2.2.1. Если участок от т.1 до т.3 (3’) больше участка от пересечения ЛТ и ЛЦ до т.1, модели присваивается тип eng. - EM(рус. – МР)., при этом Сила модели не определена.

    7.2.2.2.2. Если
    -участок от т.1 до т.3(3’) меньше или равен участку от пересечения ЛТ и ЛЦ до т.1 и вплоть до
    -участок от т.1 до т.3(3’) умноженный на 3 больше участка от пересечения ЛТ и ЛЦ до т.1, модели присваивается тип eng. - EM (рус. – МР).. При этом модель слабая.

    7.2.2.2.3. Если участок от т.1 до т.3(3’) умноженный на 3 меньше участка от пересечения ЛТ и ЛЦ до т.1, то тип модели eng. – EM/DBM (рус. - МР/ МДР).​

    Программа переходит к п.8. (обобщенно по 7.2.)

    7.3. Также изредка попадаются случаи, когда модель по каким-то причинам не попадает ни под один из вышеперечисленных вариантов. Тогда тип модели не определен. Программа переходит к п.8.
     
  18. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    8. ПОИСК АЛЬТЕРНАТИВНЫХ МОДЕЛЕЙ. ПОИСК НОВОЙ МОДЕЛИ ЗАПУСК НОВОЙ ВЕТКИ ОТ ПРЕЖНЕЙ Т.1 НО С ДРУГОЙ Т.3

    В данном пункте запускается 2 процесса:
    А. ЗАПУСК НОВОЙ ВЕТКИ ОТ ПРЕЖНЕЙ Т.1
    -т.3 становится отмененной т.3 (только в рамках данной ветки).
    -программа запускает поиск следующей модели с той же т.1, но новой т.3, в качестве которой анализируется бар, следующий за т.3/т.3’ по п.2.

    Б. ПОИСК АЛЬТЕРНАТИВНЫХ МОДЕЛЕЙ. Параллельно программа запускает поиск альтернативной модели по отношению к уже найденной, для чего анализирует бар, пробивший уровень т.4 в качестве потенциальной т.4 по п.3.4.
     
  19. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    Собственно здесь ставим пока точку, это весь Алгоритм I. Есть ещё ряд служебных функций, прежде всего поиск реальной/предполагаемой т.6 (её сюда добавим возможно позже, т.к. она важна для Алгоритма II), а также расчёт всевозможных параметров моделей, но это уже немного другая история.
     
  20. Joker

    Joker Нас очень трудно сбить с пути, нам всё равно, куда

    В соседней ветке, где излагается Алгоритм II мы подошли к п.10, где понадобиться использовать реальные/предполагаемые т.6 моделей по Алгоритму I, так что публикую его. Исторически сложилось так, что этот алгоритм является пп.5.3. Алгоритма I ;)
     
Статус темы:
Закрыта.

Поделиться этой страницей