Внутренняя стратегия неудачи бара

Автор:Чао Чжан, Дата: 14 сентября 2023 года 16:43:52
Тэги:

Логика стратегии

Эта стратегия торгуется на основе разбивки внутри бар. Если высокий / низкий уровень бар после внутри бар проникает в предыдущий диапазон внутри бар, генерируются торговые сигналы.

Логика такова:

  1. Проверьте, если предыдущие 2 строк сформировали внутренний бар т.е. бар 2s высокий/низкий в диапазоне бар 1s

  2. Если бар 3 высокий превышает бар 2 высокий, и закрывается выше бар 2 низкий, идти долго

  3. Если бар 3 низкий прерывает бар 2 низкий, и закрывается ниже бар 2 высокий, идти короткий

  4. Обязательно закрыть заказы X-бара позже (например, 3 бара)

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

Преимущества

  • Внутренние решетки легко идентифицировать, повреждения дают четкие сигналы

  • Раннее закрытие ордеров избегает проблем

  • Простые и интуитивные правила

Риски

  • Необходимость дальнейшей проверки эффективности сигнала

  • Внутреннее образование и разрушение строк реже

  • Могут торговать против основного тренда

Резюме

Эта стратегия пытается извлечь выгоду из трендов из внутренних бар сбоев. Но более низкая частота торговли нуждается в оценке риска-вознаграждения. Сочетание с другими факторами может улучшить производительность.


/*backtest
start: 2022-09-07 00:00:00
end: 2022-10-31 00:00:00
period: 4d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Inside Bar Failure", overlay=true)

forward = input(defval=3, title="Look Forward")

longCondition = if (high[2] > high[1] and low[2] < low[1] and low < low[1] and high < high[1] and close > low[1])
    x = true
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = if (high[2] > high[1] and low[2] < low[1] and high > high[1] and low > low[1] and close < high[1])
    y = true
if (shortCondition)
    strategy.entry("Short", strategy.short)
    
if (longCondition[forward])
    strategy.close("Long")
if (shortCondition[forward])
    strategy.close("Short")

Больше