Эта стратегия определяет точки входа и выхода, рассчитывая золотой крест и смертельный крест 20-дневной простой скользящей средней (EMA20) и 50-дневной простой скользящей средней (EMA50).
Основными показателями этой стратегии являются 20-дневная EMA и 50-дневная EMA. EMA20 представляет собой краткосрочную тенденцию, а EMA50 - среднесрочную тенденцию. Когда краткосрочная тенденция пересекает среднесрочную тенденцию, это указывает на то, что рынок переходит от спада к росту. Долгосрочная тенденция может принести прибыль. Когда краткосрочная тенденция переходит ниже среднесрочной тенденции, это указывает на то, что рынок переходит от роста к спаду.
В частности, сначала вычислить значения 20-дневной EMA и 50-дневной EMA. Затем начертить линейные сегменты EMA20 и EMA50 на графике. Когда EMA20 пересекает выше EMA50, идти длинный. Когда EMA20 пересекает ниже EMA50, идти короткий. В то же время, ввести процент стоп-лосс и соотношение риск-вознаграждение, чтобы рассчитать цену стоп-лосса и получить прибыль. Это может эффективно контролировать риск и вознаграждение каждой сделки.
Преимущества этой стратегии:
В этой стратегии также есть некоторые риски:
Стратегия может быть оптимизирована в следующих аспектах:
Проверьте различные комбинации параметров EMA, чтобы найти оптимальные параметры.
Комбинировать с другими показателями для фильтрации и проверки сигналов.
Динамически регулируйте коэффициенты стоп-лосса и прибыли.
Сократить срок хранения, чтобы уменьшить вероятность воздействия внезапных событий.
Стратегия торговли EMA Golden Cross и Death Cross Swing определяет время входа через простые индикаторы и контролирует риски с помощью стоп-лосса и take profit. Она имеет высокую простоту работы и подходит для активной краткосрочной торговли.
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Swing Trading with 20/50 EMA Cross", shorttitle = "EMA Cross", overlay = true) // Define input for stop-loss and take-profit levels var float stopLossPct = input.float(1, title = "Stop Loss (%)") / 100 var float rewardRiskRatio = input.float(2, title = "Risk-Reward Ratio") takeProfitPct = stopLossPct * rewardRiskRatio // Calculate EMA values ema20 = ta.ema(close, 20) ema50 = ta.ema(close, 50) // Plot EMAs on the chart plot(ema20, title = "20 EMA", color = color.blue) plot(ema50, title = "50 EMA", color = color.red) // Trading conditions longCondition = ta.crossover(ema20, ema50) shortCondition = ta.crossunder(ema20, ema50) // Execute long and short trades strategy.entry("Long", strategy.long, when = longCondition) strategy.entry("Short", strategy.short, when = shortCondition) // Calculate stop-loss and take-profit levels based on risk-reward ratio stopLossPrice = close * (1 - stopLossPct) takeProfitPrice = close * (1 + takeProfitPct) strategy.exit("Take Profit/Stop Loss", stop = stopLossPrice, limit = takeProfitPrice)