Эта стратегия является типичной стратегией отслеживания трендов EMA. Она использует быстрые EMA и медленные EMA для определения входа в восходящий тренд, использует быстрые EMA и медленные EMA для определения входа в нисходящий тренд, и соответственно делает больше пробелов. Эта стратегия отслеживает средние длинные тренды, которые являются более надежными и подходят для торговли средними длинными позициями.
Основная логика этой стратегии заключается в следующем:
Вычисляя различные скорости ЭМА, можно эффективно идентифицировать изменения в рыночных тенденциях. Быстрые ЭМА более чувствительны к изменениям цен и способствуют раннему обнаружению новых тенденций; медленные ЭМА могут фильтровать ложные сигналы и гарантировать, что тенденция была подтверждена.
Когда два EMA происходят золотой форк, указывает на то, что цена начинает постоянно расти, следует создать многосторонний курс; когда происходит мертвый форк, цена начинает постоянно падать, следует создать пустой курс. Выйти из текущей позиции путем повторного мертвого форка быстрого EMA, можно вовремя остановить убытки, чтобы избежать расширения убытков.
Что делать?
Эта стратегия может быть расширена и оптимизирована в следующих аспектах:
Автоматическая оптимизация параметров EMA с использованием методов машинного обучения для повышения адаптивности параметров
Увеличение корректировки позиций на основе волатильности, корректировка позиций на основе волатильности рынка
Время для локальных корректировок в сочетании с оценкой коэффициента колебаний, чтобы оптимизировать входную позицию
Повышение мобильных стоп-стратегий, регулирование стоп-пойнтов после получения прибыли
Изучение изменений объемов сделок для определения притока и оттока средств, для определения тенденций
Сочетание с другими не связанными стратегическими пакетами, снижение отступлений и повышение стабильности общей прибыли
Стратегия отслеживания трендов EMA является простой и практичной стратегией отслеживания трендов. Она использует быстрый и медленный 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")