Стратегия прорыва в ключевой точке

Автор:Чао Чжан, Дата: 2023-09-27 16:35:26
Тэги:

Обзор

Эта простая и прямая стратегия подходит для инвесторов, которые не имеют сильных рыночных представлений, но просто хотят следовать за трендом.

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

Стратегия рассчитывает средние точки самой высокой и самой низкой цены в течение периода как недавние линии сопротивления и поддержки.

В частности, он рассчитывает среднюю точку самой высокой цены за последние N1 дней как линию сопротивления, и среднюю точку самой низкой цены за N2 дни как линию поддержки. С длинной стороны, если сегодняшняя самая высокая цена превышает последнюю линию сопротивления, запускается сигнал покупки. С короткой стороны, если сегодняшняя самая низкая цена превышает последнюю линию поддержки, запускается сигнал продажи. Инвесторы могут настроить N1 и N2 для корректировки чувствительности стратегии.

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

Анализ преимуществ

  • Простой и легкий в использовании, подходящий для всех инвесторов

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

  • Эффективно фиксирует изменения тренда и соответствующим образом корректирует позиции

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

  • Настраиваемые параметры для корректировки гибкости стратегии

Инвесторы могут настроить количество дней, чтобы смотреть влево и вправо, что регулирует чувствительность стратегии.

  • Легко комбинировать с другими стратегиями для универсальности

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

Анализ рисков

  • Потенциальный эффект отставания

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

  • Риск ложных отклонений

Рынки могут иметь кратковременные ложные перерывы в ключевых точках.

  • Более крупные вычеты

Стратегия полностью следует тенденциям, поэтому имеет относительно большие риски привлечения. Инвесторы должны учитывать свою толерантность к риску.

  • Необходимость контроля частоты торговли

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

Руководство по оптимизации

  • Оптимизировать настройку параметров

Может проверять и оптимизировать N дней для наивысшего и низкого показателей, чтобы найти лучший параметровый микс в долгосрочной перспективе.

  • Добавьте силу прорыва.

Могут устанавливать минимальные величины для прорыва, чтобы избежать незначительных ложных перерывов.

  • Добавить другие индикаторы в качестве фильтров

Можно добавить другие технические индикаторы, такие как RSI, KD и т. Д. Если прорыв соответствует дивергенциям индикатора, сигналы более эффективны.

  • Улучшение размеров позиций

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

Заключение

Стратегия раскрытия ключевых точек отслеживает тенденции просто через перерывы ключевых точек, подходящая для широкого спектра инвесторов. Ее преимущества заключаются в простоте и эффективном отслеживании изменений тренда, но она также имеет некоторые проблемы, связанные с отставанием, рисками и большими снижениями. Настройка параметров, добавление фильтров и улучшение размеров позиций могут повысить стабильность стратегии. В целом она подходит для инвесторов, ищущих простое следование тренду, но риски должны управляться должным образом.


/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © EduardoMattje

//@version=5
strategy("Pivot Point Breakout", "PPB", true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, process_orders_on_close=true)

// Constants

var L_PIVOT_HIGH = "Pivot high"
var L_PIVOT_LOW = "Pivot low"

var LEFT = "Left"
var RIGHT = "Right"

var BOTH = "Both"
var LONG = "Long"
var SHORT = "Short"

var DATES = "Date selection"
var DATES_TOOLTIP = "Change it to limit the trades for the given time interval.\n\nLeave it to disable this behaviour."

// Inputs

var orderDirection = input.string(LONG, "Order direction", options=[BOTH, LONG, SHORT])

var leftHigh = input.int(3, LEFT, minval=0, inline=L_PIVOT_HIGH, group=L_PIVOT_HIGH)
var rightHigh = input.int(3, RIGHT, minval=0, inline=L_PIVOT_HIGH, group=L_PIVOT_HIGH)

var leftLow = input.int(3, LEFT, minval=0, inline=L_PIVOT_LOW, group=L_PIVOT_LOW)
var rightLow = input.int(3, RIGHT, minval=0, inline=L_PIVOT_LOW, group=L_PIVOT_LOW)

var startDate = input(0, "Starting date", group=DATES)
var endDate = input(0, "Final date", group=DATES)

//

var float lastHigh = na
var float lastLow = na

lowPivot = ta.pivotlow(leftLow, rightLow)
highPivot = ta.pivothigh(leftHigh, rightHigh)

f_updateLevels(pivot_) => 
    var float pastLevel = na
    
    if not na(pivot_)
        pastLevel := pivot_
    
    pastLevel
    
lastLow := f_updateLevels(lowPivot)
lastHigh := f_updateLevels(highPivot)

// Validates the time interval

validTrade =  true

// Orders

if high > lastHigh
    strategy.entry("Long", strategy.long, when=orderDirection != SHORT and validTrade)
    strategy.close("Short", when=orderDirection == SHORT)
if low < lastLow
    strategy.entry("Short", strategy.short, when=orderDirection != LONG and validTrade)
    strategy.close("Long", when=orderDirection == LONG)
    
// Plots

plot(lastLow, "Last pivot low", color.red, offset=1)
plot(lastHigh, "Last pivot high", color.teal, offset=1)

plotshape(lowPivot, "Pivot low", location=location.belowbar, color=color.red, offset=-rightLow)
plotshape(highPivot, "Pivot high", color=color.teal, offset=-rightHigh)


Больше