Эта стратегия генерирует торговые сигналы на основе двух условий:
Когда оба условия истинны, генерируется сигнал покупки. Когда оба условия ложны, генерируется сигнал продажи.
Сравнивая EMA и SMA в разные временные рамки, эта стратегия всесторонне оценивает направление тренда и генерирует торговые сигналы. Краткосрочная EMA более чувствительно отражает изменения цен, в то время как долгосрочная SMA имеет лучшую способность фильтрации тренда. Когда краткосрочная EMA пересекает длинную SMA, это указывает на незначительное изменение тренда и генерирует сигнал покупки.
Добавление 4-часовой EMA и SMA перекресток фильтрует краткосрочный шум и делает торговые сигналы более надежными.
Эта стратегия имеет следующие преимущества:
Эта стратегия также сопряжена с некоторыми рисками:
Риски можно управлять путем включения стоп-лосса/прибыли, оптимизации параметров и т.д.
Некоторые способы улучшения этой стратегии:
В общем, это основная тенденция, следующая за стратегией с использованием простых правил перекрестного действия EMA и SMA. Ее можно улучшить с помощью оптимизации параметров, фильтрации сигналов и т. Д., Чтобы лучше адаптироваться и улучшить эффективность стратегии.
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-12 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA and SMA Crossover Strategy", shorttitle="Shashank Cross", overlay=true) // Condition 1: Latest EMA (Close, 5) crossed above Latest SMA (Close, 20) ema5 = ta.ema(close, 5) sma20 = ta.sma(close, 20) condition1 = ta.crossover(ema5, sma20) // Condition 2: [0] 4-hour EMA ([0] 4-hour Close, 5) crossed above [0] 4-hour SMA ([0] 4-hour Close, 20) ema5_4h = request.security(syminfo.tickerid, "240", ta.ema(close, 5)) sma20_4h = request.security(syminfo.tickerid, "240", ta.sma(close, 20)) condition2 = ta.crossover(ema5_4h, sma20_4h) // Combine both conditions for a buy signal buy_signal = condition1 and condition2 // Plotting signals on the chart plotshape(buy_signal, color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, text="Buy Signal") // Strategy logic if (buy_signal) strategy.entry("Buy", strategy.long) // Exit long position on the next bar at market price if (ta.barssince(buy_signal) == 1) strategy.close("Exit") // You can add more code for stop-loss, take-profit, etc., as per your strategy.