Эта стратегия сочетает в себе линии EMA и индикатор MACD на протяжении всех временных рамок, чтобы идентифицировать сигналы тренда и улавливать средне- и долгосрочные тенденции.
Стратегия использует 50-дневную EMA и 100-дневную EMA для определения направления тренда в среднесрочной и долгосрочной перспективе.
В частности, когда быстрая линия MACD пересекает низкую линию и закрывает > 50-дневную EMA и закрывает > 100-дневную EMA, она становится длинной. Когда быстрая линия MACD пересекает низкую линию и закрывает < 50-дневную EMA и закрывает < 100-дневную EMA, она становится короткой.
Кроме того, стратегия использует индикатор ATR для расчета диапазона колебаний и установки стоп-лосса и цен на получение прибыли.
Сочетание линий EMA и индикатора MACD в разных временных рамках помогает определить сигналы тренда и предотвращает отсутствие среднесрочных и долгосрочных тенденций
Использование индикатора ATR для установки стоп-лосса и получения прибыли на основе колебаний рынка эффективно контролирует риски
Избегание нейтральных зон на рынке предотвращает ненужные потери
Линии EMA имеют эффект задержки и могут пропустить переломные моменты
Индикатор MACD имеет несколько временных рамок и параметров, которые влияют на результаты
Диапазоны ATR не могут полностью отражать будущие колебания цен, не могут исключать риски
Противодействие:
Подтверждение сигналов другими показателями для избежания отставания EMA
Настройка параметров MACD и оптимизация результатов
Разумно установить мультипликатор ATR для контроля максимальных потерь
Испытать различные комбинации периодов линий EMA
Оптимизировать параметры MACD
Использование методов машинного обучения для автоматического поиска оптимальных мультипликаторов стоп-лосса/прибыли ATR
Стратегия сочетает в себе индикаторы EMA, MACD и ATR для реализации тренда после операций в течение всех временных рамок. Благодаря оптимизации параметров, она имеет потенциал для достижения хороших показателей доходности стратегии. Также необходимо предотвратить риски, включая отставание показателей, неправильную корректировку параметров и контроль колебаний, и продолжать оптимизировать и улучшать.
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA-50, EMA-100, and MACD Strategy with ATR for Stop Loss/Profit", overlay=true) // MACD hesaplama fastLength = input(12, title="Fast Length") slowLength = input(26, title="Slow Length") signalLength = input(9, title="Signal Length") [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength) // EMA-50 ve EMA-100 hesaplama ema50 = ta.ema(close, 50) ema100 = ta.ema(close, 100) // ATR hesaplama atrLength = input(14, title="ATR Length") atrValue = ta.atr(atrLength) // Take Profit ve Stop Loss çoklayıcıları takeProfitMultiplier = input(3.0, title="Take Profit Multiplier") // TP, 3 katı ATR stopLossMultiplier = input(1.0, title="Stop Loss Multiplier") // Long Pozisyon Koşulları longCondition = ta.crossover(macdLine, signalLine) and close > ema50 and close > ema100 // Short Pozisyon Koşulları shortCondition = ta.crossunder(macdLine, signalLine) and close < ema50 and close < ema100 // Take Profit ve Stop Loss Seviyeleri takeProfitLevel = close + takeProfitMultiplier * atrValue stopLossLevel = close - stopLossMultiplier * atrValue // Long Pozisyon İşlemleri strategy.entry("Long", strategy.long, when=longCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=takeProfitLevel) // Short Pozisyon İşlemleri strategy.entry("Short", strategy.short, when=shortCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=stopLossLevel, profit=takeProfitLevel) // Grafikte Gösterme plot(ema50, color=color.blue, title="EMA-50") plot(ema100, color=color.red, title="EMA-100") hline(0, "Zero Line", color=color.gray)