Эта простая и прямая стратегия подходит для инвесторов, которые не имеют сильных рыночных представлений, но просто хотят следовать за трендом.
Стратегия рассчитывает средние точки самой высокой и самой низкой цены в течение периода как недавние линии сопротивления и поддержки.
В частности, он рассчитывает среднюю точку самой высокой цены за последние 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)