В процессе загрузки ресурсов... загрузка...

Улучшенная стратегия Swing High/Low Breakout с бычьим и медвежьим поглощающим паттерном

Автор:Чао Чжан, Дата: 2024-05-17 15:05:29
Тэги:ЕМАRR

img

Обзор

Принципы стратегии

  1. Расчет высоких и низких уровней: путем сравнения текущего высокого и низкого уровня с высокими и низкими уровнями двух предыдущих периодов стратегия определяет, сформировался ли новый высокий или низкий уровень.
  2. Выявление бычьих и медвежьих паттернов поглощения: Бычьи паттерны поглощения признаются, когда цена закрытия выше, чем цена открытия предыдущего периода, и текущая свеча является бычьей свечой, в то время как предыдущий период является медвежьей свечой.
  3. Генерация торговых сигналов: когда происходит бычий охватывающий шаблон, и цена превышает высокий показатель, генерируется длинный сигнал.
  4. Установление уровня прибыли и стоп-лосса: уровни прибыли и стоп-лосса рассчитываются на основе заранее определенного коэффициента риск-вознаграждение и устанавливаются при выполнении сделок.

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

  1. Сочетание ценового действия и моделей свечей: стратегия не только рассматривает ценовые прорывы на ключевых уровнях, но и включает в себя бычьи и медвежие модели поглощения, повышая надежность торговых сигналов.
  2. Управление рисками: путем установления уровней получения прибыли и стоп-лосса на основе заранее определенного соотношения риск-прибыль, стратегия помогает контролировать риск отдельных сделок и улучшает общее управление рисками.
  3. Приспособляемость к различным рыночным условиям: стратегия рассматривает как длинные, так и короткие направления, что позволяет ей находить торговые возможности в различных рыночных тенденциях.

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

  1. Риск волатильности рынка: на сильно волатильных рынках цены могут быстро пробиться через ключевые уровни и вызвать стоп-лосс, что приводит к последовательным потерям.
  2. Частота торговли и затраты: Частая торговля может увеличить затраты на транзакции, влияя на общую эффективность стратегии.

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

  1. Внедрение индикаторов подтверждения тренда: объединение скользящих средних или других индикаторов тренда для проверки эффективности ценовых прерываний может улучшить качество торговых сигналов.
  2. Динамическая корректировка стоп-лосса: динамическая корректировка уровней стоп-лосса на основе волатильности рынка или изменений цен может помочь лучше адаптироваться к различным рыночным условиям.
  3. Оптимизация параметров: путем обратного тестирования и оптимизации различных комбинаций параметров можно найти оптимальные настройки параметров для улучшения стабильности и рентабельности стратегии.

Резюме


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Markoline007

//@version=5
strategy("Improved Swing High/Low Breakout Strategy", overlay=true)

// Define input variables
length = input(14, title="Swing Length")
multiplier = input(3, title="Multiplier")
risk_reward_ratio = input(1.6, title="Risk-Reward Ratio")
target_multiplier = input(2, title="Target Multiplier")

// Calculate swing highs and swing lows
var float lastHigh = na
var float lastLow = na
var bool isHigh = na
var bool isLow = na

if high[1] < high and high[2] < high[1]
    lastHigh := high[1]
    isHigh := true
    isLow := false
else if low[1] > low and low[2] > low[1]
    lastLow := low[1]
    isLow := true
    isHigh := false
else
    isHigh := false
    isLow := false

// Define buy and sell conditions
buySignal = close > lastHigh and close > open and close[1] < open[1] // Bullish engulfing
sellSignal = close < lastLow and close < open and close[1] > open[1] // Bearish engulfing

// Calculate stop and target levels
stopLevel = close
targetLevel = close + (close - stopLevel) * risk_reward_ratio

// Execute buy and sell trades
if buySignal
    strategy.entry("Buy", strategy.long)
    strategy.exit("TP/SL", "Buy", profit=targetLevel, loss=stopLevel)
if sellSignal
    strategy.entry("Sell", strategy.short)
    strategy.exit("TP/SL", "Sell", profit=targetLevel, loss=stopLevel)




Связанные

Больше