Эта стратегия - типичная стратегия EMA, следующая за трендом. Она использует золотой крест быстрой EMA и медленной EMA для определения восходящих тенденций, и крест смерти для определения нисходящих тенденций, соответственно, для длинных и коротких сделок. Стратегия надежно отслеживает средне- и долгосрочные тенденции и подходит для свинг-трейдинга.
Основная логика такова:
Использование EMA с разной скоростью может эффективно обнаруживать изменения тренда. Быстрая EMA быстро реагирует на изменения цен для раннего обнаружения тренда, в то время как медленная EMA фильтрует ложные сигналы, чтобы обеспечить подтверждение тренда. Вместе они образуют надежную систему тренда.
Золотые кресты сигнализируют о начале восходящего тренда для длинных, в то время как смертельные кресты сигнализируют о начале нисходящего тренда для коротких.
Уменьшение последствий:
Стратегия может быть усилена в таких областях, как:
Машинное обучение для автоматической настройки параметров EMA для лучшей адаптации
Размер позиций на основе волатильности для корректировки с волатильностью рынка
Осилляторы, подобные RSI, для тонкой настройки входных точек
Добавление остановок отслеживания, остановок получения прибыли для лучшего управления рисками
Анализ объема для измерения притока/вытока средств для проверки тенденции
Комбинации портфеля с некоррелирующими стратегиями для снижения привлечения средств и повышения стабильности доходности
Стратегия EMA по тренду - это простой и практичный способ отслеживания среднесрочных и долгосрочных тенденций. Она использует быстрые и медленные перекрестки EMA для планирования входа.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-18 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © HomoDeus666 //@version=5 strategy("EMA12/26 with date backtest range (BTCpair)", overlay=true,initial_capital = 1,commission_type = strategy.commission.percent,currency = currency.BTC) //input date and time useDateFilter = input.bool(true, title="Filter Date Range of Backtest", group="Backtest Time Period") backtestStartDate = input(timestamp("1 Jan 2021"), title="Start Date", group="Backtest Time Period", tooltip="This start date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") backtestEndDate = input(timestamp("1 Jan 2022"), title="End Date", group="Backtest Time Period", tooltip="This end date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") //check date and time option inTradeWindow = true /// plot and indicator fastEMA = ta.ema(close,12), slowEMA=ta.ema(close,26) plot(fastEMA,color=color.green,linewidth = 2) plot(slowEMA,color=color.red,linewidth=2) //entry when condition longCondition = ta.crossover(fastEMA,slowEMA) if (longCondition) and inTradeWindow strategy.entry("buy", strategy.long) if ta.crossunder(ta.ema(close, 12), ta.ema(close, 26)) and inTradeWindow strategy.close("buy") // trades and cancel all unfilled pending orders if not inTradeWindow and inTradeWindow[1] strategy.cancel_all() strategy.close_all(comment="Date Range Exit")