Эта стратегия использует сочетание двойных экспоненциальных скользящих средних (EMA) и скользящих средних показателей (MACD) для выявления переоцененных акций в краткосрочной перспективе и занятия коротких позиций для получения прибыли от снижения цен. Стратегия в полной мере использует способность EMA быстро реагировать на изменения цен и силу MACD в мониторинге направления импульса, захватывая краткосрочные возможности прибыли в поворотных точках между быками и медведями.
Если 8-дневная EMA пересекает 26-дневную EMA, это считается сигналом покупки.
Вычислить MACD с 12-дневной EMA, 26-дневной EMA и 9-дневной EMA разницы, называемой DEA. Когда MACD пересекает DEA, это считается сигналом покупки.
Правило входа: 8-дневная EMA > 26-дневная EMA и MACD пересекаются выше DEA, длинный, если соблюдены оба условия.
Правило выхода: Установите следующий стоп-лосс на уровне 3% от входной цены, следующий стоп-лосс на уровне 1% от входной цены, выйдите, когда будет достигнуто любое из них.
Стратегия использует как быструю реакцию EMA на цену, так и суждение MACD
Сочетание EMA и MACD улучшает точность захвата торговых сигналов. EMA улавливает ценовые тенденции, в то время как MACD оценивает изменения направления импульса, в сочетании они идентифицируют краткосрочные крайности и избегают потерь от ложных прорывов.
Последующая остановка потери контролирует риски и своевременно выходит.
Стратегия тестируется на весь медвежий рынок в 2022 году, имитируя реальные условия торговли.
Гибкая настройка параметров, соотношение стоп-лосса, соотношение размеров позиций могут быть настроены в соответствии с личными предпочтениями по риску.
Частая торговля требует тщательного отслеживания. 5-минутный промежуток времени означает высокую частоту входов и выходов, требуя достаточно времени для последующего наблюдения за сделками.
Слишком плотный стоп-лосс может привести к преждевременному выходу.
Плохая динамика на рынках с колебаниями, EMA и MACD лучше подходят для рынков с тенденциями.
Стоимость торговли требует рассмотрения. Каждая торговля соответствует комиссионным, частое торговля увеличивает затраты.
Настройка параметров периода EMA для оптимизации входов и выходов. Может тестировать сокращение быстрого периода EMA, увеличение спрэда между EMA для поиска оптимальных комбинаций.
Оптимизировать соотношение стоп-лосса для снижения риска преждевременной остановки.
Проверьте различные периоды хранения, чтобы найти оптимальный. Оцените доходы для различных периодов хранения, чтобы определить наилучшую продолжительность хранения.
Оценить добавление других технических фильтров. Испытать добавление индекса волатильности и т.д. для повышения эффективности торговых решений.
Эта двойная EMA и MACD торговая стратегия направлена на захват краткосрочных возможностей для снятия позиций и получения прибыли. Она полностью использует быструю реакцию EMA и силу решения изменения импульса MACD для улучшения точности в сроках торговли с двойным подтверждением. Пространства оптимизации лежат в настройке параметров, контроле скольжения, периоде удержания и т. Д. Тщательная оптимизация параметров может привести к хорошей отдаче.
/*backtest start: 2023-09-16 00:00:00 end: 2023-10-16 00:00:00 period: 1h basePeriod: 15m 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/ // © Coinrule //@version=5 // strategy('Fast EMA above Slow EMA with MACD (by Coinrule)', // overlay=true, // initial_capital=1000, // process_orders_on_close=true, // default_qty_type=strategy.percent_of_equity, // default_qty_value=30, // commission_type=strategy.commission.percent, // commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0) notInTrade = strategy.position_size <= 0 // EMAs fastEMA = ta.ema(close, 8) slowEMA = ta.ema(close, 26) plot(fastEMA, color = color.blue) plot(slowEMA, color = color.green) //buyCondition1 = ta.crossover(fastEMA, slowEMA) buyCondition1 = fastEMA > slowEMA // DMI and MACD inputs and calculations [macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9) buyCondition2 = ta.crossover(macd, macd_signal) // Configure trail stop level with input options longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01 shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=1) * 0.01 // Determine trail stop loss prices longStopPrice = 0.0 shortStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - longTrailPerc) math.max(stopValue, longStopPrice[1]) else 0 shortStopPrice := if strategy.position_size < 0 stopValue = close * (1 + shortTrailPerc) math.min(stopValue, shortStopPrice[1]) else 999999 if (buyCondition1 and buyCondition2 and notInTrade and timePeriod) strategy.entry(id="Long", direction = strategy.long) strategy.exit(id="Exit", stop = longStopPrice, limit = shortStopPrice) //if (sellCondition1 and sellCondition2 and notInTrade and timePeriod) //strategy.close(id="Close", when = sellCondition1 or sellCondition2)