← Все идеи
#034Возврат к среднемуСвинг

Три закрытия подряд выше: продажа на откат по статистике серий

После трёх дневных закрытий подряд выше предыдущего ищем продажу на откат. Основа: подсказка брокера Brent Penfold и его статистика длины серий закрытий, около 2.4 дня на всех рынках. Вход, стоп и выход задали мы.

The Algorithmic Advantage · Brent Penfold · Смотреть видео

Рынки

Индексы, Фьючерсы, Форекс, Сырьё, Акции

Таймфрейм

D1

Данные

OHLC

Правила

Частично формализовано

Сложность

Простая

Статус

Не проверено

Часть правил дописали мы, это помечено в тексте.

TradingView переносится напрямую
EasyLanguage есть ловушки
MetaTrader 5 есть ловушки

Идея коротко

Brent Penfold двенадцать лет торговал по волнам Эллиотта и дважды терял счёт. Перелом случился после разговора с брокером Jeff Morgan. Тот спокойно сказал, что фьючерс на австралийский индекс SPI только что сделал своё медианное движение, три закрытия подряд выше, поэтому он ждёт отката и ищет место для продажи. На следующий день рынок упал. После этого Penfold начал искать статистику вместо мнений и стал механическим трейдером.

Позже он посчитал длину серий закрытий в одну сторону на своих 30 рынках. По его данным, одно стандартное отклонение длины серии около 2.4 дня, два около 5 дней, и цифра почти не меняется между рынками, секторами и десятилетиями. Отсюда простая гипотеза: серия из трёх закрытий выше уже длиннее типичной, и следующий день чаще идёт против неё.

От автора в карточке сетап (три закрытия выше, ждать отката) и статистика серий. Вход, стоп, выход и зеркальная сторона наши.

Почему это может работать

Penfold объясняет так. Если снять с рынков названия и смотреть только на ряд цен, они одинаковы: все трейдеры по сути торгуют волатильность, а у неё устойчивый ритм. Он вспоминает Джорджа Тейлора, торговца зерном 1930–40-х годов. Тейлор делил рынок на трёхдневный цикл: день покупки, день продажи, день шорта. Иногда цикл растягивался до четвёртого или пятого дня. Penfold считает, что его 2.4 дня описывают то же явление.

Оговорка Finetiq. Статистика серий сама по себе разворота не доказывает. Пусть дни роста и падения равновероятны и не зависят друг от друга. Тогда половина серий длиной 1 день, четверть длиной 2, ещё четверть 3 и больше. В такой модели 75% серий не длиннее двух дней и около 97% не длиннее пяти. Это близко к числам автора, если читать их как долю серий. Одинаковые цифры на разных рынках могут означать лишь, что дневные изменения похожи на подбрасывание монеты.

Эдж есть, только если после трёх закрытий выше закрытие ниже на следующий день встречается заметно чаще обычного. Это проверяется за вечер без всякой торговой системы, см. «Что проверить».

Правила

Серии закрытий

// дневные бары
IF Close > Close[1]       THEN UpStreak = UpStreak[1] + 1;  DnStreak = 0
ELSE IF Close < Close[1]  THEN DnStreak = DnStreak[1] + 1;  UpStreak = 0
ELSE                           UpStreak = 0;  DnStreak = 0
// Finetiq: закрытие, равное предыдущему, обрывает обе серии

Вход

Setup = UpStreak == 3              // автор: три закрытия подряд выше, ждём отката
// Finetiq: ровно 3, а не «3 и больше», чтобы на одну серию был один сигнал

// Вариант A: вход сразу
IF Setup AND MarketPosition == 0
    SELL SHORT AT NEXT BAR OPEN                        // Finetiq

// Вариант B: вход, только если откат начался
IF Setup AND MarketPosition == 0
    SELL SHORT STOP at Low - 1 tick                     // Finetiq: пробой минимума третьего бара
    // ордер живёт один следующий бар, затем CANCEL

Стоп и выход (Finetiq)

StopLoss = Highest(High, 3) + 0.5 * ATR(14)             // над максимумом серии
EXIT STOP at StopLoss

IF UpStreak >= 5      THEN EXIT AT NEXT BAR OPEN        // серия дошла до двух отклонений автора
IF Close < Close[1]   THEN EXIT AT NEXT BAR OPEN        // откат случился: первое закрытие ниже
IF BarsSinceEntry >= 3 THEN EXIT AT NEXT BAR OPEN       // по трёхдневному циклу из рассказа автора

Зеркальная сторона (Finetiq)

// автор говорит только о продаже после роста. Покупка после падения это наша симметрия
IF DnStreak == 3 AND MarketPosition == 0
    BUY AT NEXT BAR OPEN
// стоп под минимумом серии, выходы зеркально

Пересчёт статистики серий (Finetiq)

// когда серия оборвалась, записываем её длину
IF UpStreak[1] > 0 AND UpStreak == 0 THEN Add(UpLengths, UpStreak[1])
IF DnStreak[1] > 0 AND DnStreak == 0 THEN Add(DnLengths, DnStreak[1])

MeanLen  = Average(UpLengths)
StdLen   = StdDev(UpLengths)
Share2   = доля серий длиной 1–2 дня
Share5   = доля серий длиной 1–5 дней

// вопрос, от которого зависит вся идея
P_all    = доля дней, где Close < Close[1]
P_after3 = доля дней, где Close < Close[1], среди дней с UpStreak[1] == 3

// контроль: те же дневные изменения в случайном порядке, 100 перестановок
// для каждой перестановки пересчитать StdLen, Share2, Share5 и P_after3

Параметры

Параметр Значение Откуда
Таймфрейм дневные бары автор
Длина серии для сигнала 3 закрытия подряд выше автор
Направление продажа после роста автор
Покупка после трёх закрытий ниже зеркально Finetiq
Равное закрытие обрывает серию Finetiq
Вход открытие следующего бара или стоп под минимумом третьего бара Finetiq
Стоп максимум трёх баров + 0.5 × ATR(14) Finetiq
Выход по длине серии 5 закрытий подряд выше Finetiq (число автора: два отклонения)
Выход по откату первое закрытие ниже предыдущего Finetiq
Выход по времени 3 бара Finetiq

Что проверить

  1. Пересчитать статистику автора на своих данных. По блоку выше соберите длины всех серий, среднее, стандартное отклонение, доли серий до 2 и до 5 дней. Затем перемешайте порядок дневных изменений (сами изменения не трогайте) и посчитайте то же 100 раз. Если реальные цифры лежат внутри диапазона перемешанных, серии на вашем рынке ведут себя как случайные, и 2.4 дня ничего не говорят о развороте.
  2. Условная вероятность без торговли. Сравните P_after3 с P_all и с тем же значением на перемешанных рядах. Повторите для серий длиной 2, 4 и 5. Если после трёх закрытий выше падение не чаще обычного, правила входа и выхода эджа не создадут.
  3. Окрестность длины серии. Прогоните вход после 2, 3, 4 и 5 закрытий. Автор выделяет 3. Если результат есть только на 3, это похоже на случайность выборки.
  4. Вход сразу или по пробою минимума. Вариант A против варианта B. Второй пропускает сделки, где откат так и не начался, но входит ниже и платит пропущенными движениями.
  5. Стороны и режим отдельно. Считайте продажи после роста и покупки после падения раздельно, и отдельно выше и ниже SMA(200). У индексов акций долгий восходящий дрейф, шорт против него может проигрывать даже при реальном краткосрочном откате.
  6. Издержки. При случайных днях серия из трёх и больше закрытий выше случается примерно 15 раз в год на рынок, столько же вниз. Сделка длится 1–3 дня. Добавьте спред, комиссию и своп CFD и посмотрите, остаётся ли средняя сделка положительной.
  7. Однородность рынков. Автор утверждает, что рынки одинаковы. Прогоните одни и те же правила без подстройки на индексах, ставках, валютах и сырье. Смотрите на медиану по секторам, а не на лучший рынок.

Особенности платформ

TradingView (Pine Script)

  • Серия считается счётчиком: var int up = 0 и up := close > close[1] ? up + 1 : 0. На инструментах с крупным шагом цены равные закрытия встречаются часто, проверьте, что обнуление совпадает с вашим определением.
  • Вариант A совпадает с исполнением по умолчанию: сигнал на закрытии, вход на открытии следующего бара (process_orders_on_close = false). Цена входа включает ночной гэп.
  • Стоп-ордер варианта B через strategy.entry(..., stop = low) висит, пока его не отменят. По правилу он живёт один бар, поэтому на следующем баре нужен strategy.cancel.
  • Сделок много и они короткие. Задайте commission_value и slippage в strategy(), иначе тест покажет результат без издержек.

MultiCharts и TradeStation (EasyLanguage)

  • У фьючерсов в TradeStation закрытие дневного бара это settlement, а у 1440-минутного бара последняя сделка. Серии закрытий на двух видах бара получаются разными, и сигналы расходятся. Тестируйте и торгуйте на одном виде бара.
  • Sell Short next bar at Low stop живёт ровно один бар. Это совпадает с вариантом B без отдельной отмены.
  • Стоп ставьте ценой: Buy to Cover next bar at StopLoss stop. SetStopLoss задаётся в деньгах и может дать другой уровень.
  • Выход по времени: If BarsSinceEntry >= 3 then Buy to Cover next bar at market.

MetaTrader 5 (MQL5)

  • Дневной бар строится по времени сервера брокера. У серверов не в GMT+2/+3 бывают короткие воскресные бары. Они добавляют лишние закрытия и сдвигают подсчёт серий. Сравните дневные закрытия брокера с биржевыми.
  • Цена CFD на индекс отличается от закрытия фьючерса. Серии на CFD могут не совпасть с сериями в данных автора.
  • Сигнал считайте по закрытому бару (индекс 1) и один раз на новом дневном баре.
  • За перенос позиции через ночь по CFD начисляется своп. При удержании 1–3 дня он заметно режет небольшую среднюю сделку.

Где идея может сломаться

  • Теста этих правил у автора нет. Есть один эпизод с SPI и статистика длины серий. Торговые правила целиком наша формализация.
  • Совпадение 2.4 дня на всех рынках может быть свойством случайного ряда, а не разворота. Проверка 1 это покажет.
  • Автор говорит о медианном движении, стандартном отклонении и 68% серий как об одном и том же. Как он считал, в интервью не сказано. Ваши цифры могут не совпасть с его даже на тех же рынках.
  • Шорт после роста на индексах акций идёт против многолетнего дрейфа. Общий результат для двух сторон может скрыть, что работает только одна.
  • Средняя сделка короткая и небольшая. Проскальзывание на открытии, спред и своп CFD съедают её быстрее, чем у трендовых систем.
  • Данные автора: 30 фьючерсных рынков с 1980 года. На короткой истории CFD доли серий и условные вероятности нестабильны.

Источники

  • 043 - Brent Penfold - Can Pre-Historic Strategies Still Make 30%pa?

    The Algorithmic Advantage · Brent Penfold · 2025-10-01

    • 01:12Стандартное отклонение серий закрытий: 2.4 дня
    • 16:25Разговор с брокером Jeff Morgan
    • 17:08Три закрытия выше: медианное движение, ищем продажу
    • 1:31:07Серии закрытий почти одинаковы на всех рынках
    • 1:31:45Проверка по десятилетиям: 2.3–2.6
    • 1:32:21Проверка по секторам и 68% серий
    • 1:33:08Трёхдневный цикл Джорджа Тейлора
    • 1:39:04Последние 5–15 лет: 2.4 дня, два отклонения 5 дней
    • 1:42:34Цикл Тейлора иногда растягивается до 4–5 дня

Заявлено автором

Эти цифры и утверждения принадлежат автору. Мы их не проверяли.

  • Одно стандартное отклонение длины серий закрытий в одну сторону около 2.4 дня, два около 5 дней. По словам автора, это верно для 30 фьючерсных рынков, которые он торгует, и для акций.
  • По десятилетиям с 1980 года у автора получается 2.3–2.6. По секторам: индексы, ставки и валюты 2.4, сахар и нефть 2.3–2.6. В эту величину, по его словам, укладывается 68% всех серий.
  • За последние 5, 10 и 15 лет, по словам автора, те же 2.4 дня. Его данные начинаются с 1980 года.
  • Эпизод конца 90-х: брокер Jeff Morgan сказал автору, что фьючерс SPI сделал медианное движение из трёх закрытий выше и стоит искать продажу. На следующий день рынок упал. Это один случай, а не тест.

Похожие идеи

Обновлено: 2026-09-10