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

Продвинутая стратегия MACD с ограниченным Мартингейлом

Автор:Чао Чжан, Дата: 2024-06-03 10:43:00
Тэги:MACDATR

img

Обзор

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

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

  1. Используйте перекресток быстрой линии MACD (период по умолчанию 12) и медленной линии (период по умолчанию 26) в качестве торговых сигналов.
  2. Начальное количество контрактов составляет 0,02. При потере сделки удвоить количество контрактов на следующую сделку, максимум в три раза. Если прибыльность не достигнута после трех удвоений, сбросить количество контрактов на начальное значение 0,02.
  3. Установление условий получения прибыли: для длинных позиций закрыть позицию, когда цена повышается на 1,5% над ценой входа; для коротких позиций закрыть позицию, когда цена падает на 1% ниже цены входа.
  4. Установка условий стоп-лосса: для длинных позиций закрыть позицию, когда цена падает на 1% ниже вступительной цены; для коротких позиций закрыть позицию, когда цена повышается на 1% выше вступительной цены.

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

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

Стратегические риски

  1. Несмотря на то, что метод Мартингейла ограничивает количество использования кредитных инструментов, все же существует риск чрезмерного использования кредитных инструментов, что приводит к большим потерям.
  2. Индикатор MACD может отклоняться от цены, в результате чего торговые сигналы становятся недействительными.
  3. Фиксированные коэффициенты получения прибыли и прекращения потерь могут не адаптироваться к различным рыночным условиям, что приводит к преждевременному получению прибыли или прекращению потерь.

Направления оптимизации стратегии

  1. Рассмотреть возможность динамической корректировки коэффициента рыночного рычага и количества раз, исходя из текущей волатильности рынка и толерантности к риску счета.
  2. Комбинируйте другие технические индикаторы, такие как RSI и полосы Боллинджера, с сигналами MACD для формирования более надежных торговых сигналов.
  3. Принять адаптивные методы получения прибыли и прекращения убытков, такие как ATR-базированные методы получения прибыли и прекращения убытков, или динамически корректировать коэффициенты получения прибыли и прекращения убытков на основе рыночных тенденций и волатильности.
  4. Внедрить модуль управления позициями для динамической корректировки размера позиций каждой сделки на основе таких факторов, как сальдо счета и толерантность к риску.

Резюме

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


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

//@version=5
strategy("Advanced MACD Strategy with Limited Martingale", overlay=true, initial_capital=500)

// MACD 설정 변경
fastLength = 15
slowLength = 30
signalSmoothing = 9
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 계약수 및 이전 거래 결과 기록
var float contractSize = 0.02 // 계약 수를 0.05로 시작
var int martingaleCount = 0 // 마틴게일 카운트
var float lastTradeResult = 0

// 매수 및 매도 조건
longCondition = ta.crossover(macdLine, signalLine)
shortCondition = ta.crossunder(macdLine, signalLine)

// 매수 신호
if (longCondition)
    strategy.entry("Long", strategy.long, qty=contractSize)
    lastTradeResult := strategy.netprofit

// 매도 신호
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=contractSize)
    lastTradeResult := strategy.netprofit

// 익절 및 손절 조건
strategy.close("Long", when=(close / strategy.position_avg_price >= 1.015))
strategy.close("Short", when=(strategy.position_avg_price / close >= 1.01))
strategy.close("Long", when=(close / strategy.position_avg_price <= 0.99))
strategy.close("Short", when=(strategy.position_avg_price / close <= 0.99))

// 마틴게일 전략 적용
if (strategy.netprofit < lastTradeResult)
    if (martingaleCount < 3)
        contractSize := contractSize * 2
        martingaleCount := martingaleCount + 1
    else
        contractSize := 0.02 // 리셋 할 때 0.05로 리셋
        martingaleCount := 0
else
    contractSize := 0.02 // 초기화
    martingaleCount := 0

// 매수, 매도 포인트 화살표로 표시
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

Связанные

Больше