
Стратегия основана на двух показателях EMA. Стратегия рассчитывает EMA на быстрой линии и EMA на медленной линии, делая больше при прохождении медленной линии на быстрой линии, а плавно при прохождении медленной линии под быстрой линии.
Эта стратегия основана на двух показателях EMA: сначала рассчитывается быстрая EMA и медленная EMA. Быстрая EMA имеет короткий цикл, который чувствительно отражает изменения цен; медленная EMA имеет длинный цикл, который отражает долгосрочную тенденцию.
В частности, стратегия включает в себя следующие шаги:
Введите параметры для быстрого и медленного EMA, включая длину цикла SMA, источник данных и т. Д.
Вычисление быстрого и медленного ЭМА
Определение часового пояса: быстрый проходит через медленный снизу
Определение времени мертвой вилки: быстрая линия сверху вниз через медленную
Покупайте больше, когда у вас золотой форк
Положение в момент смерти
Возможность выбирать, разрешается ли пустота и используется ли стратегия стоп-стоп
Вывод уведомлений о покупке и продаже
С помощью этой простой стратегии скрещивания двойных ЭМА можно случайно уловить краткосрочные тенденции цен и получить прибыль.
Эта стратегия имеет следующие преимущества:
Стратегическая мысль проста и понятна, и ее легко понять и освоить.
Для этого требуется только два показателя EMA.
В этом случае, если вы используете арбитраж, вы получаете прибыль от колебаний.
Настраиваемый цикл EMA, гибкость при адаптации к различным циклам рыночной среды.
Можно выбрать, разрешается ли пустота, гибкая стратегия контроля риска.
Можно выбрать использование стратегии стоп-стоп, чтобы контролировать риск торговли.
Вывод уведомлений о покупке и продаже для удобства мониторинга.
Стратегия легко оптимизируется, можно гибко настроить параметры EMA, оптимизировать пространство для получения прибыли.
Однако эта стратегия также несет в себе некоторые риски:
Двойная стратегия EMA может создать ложные сигналы и привести к ненужным потерям.
Нерациональная установка стоп-пойнтов может увеличить убытки.
Частота сделок может быть слишком высокой, что увеличивает расходы на сделку и риски проскальзывания.
Фиксированные параметры EMA не могут адаптироваться к изменениям рынка.
“Все, что я делаю, - это пытаюсь понять, что я делаю, и что я делаю.
По словам экспертов, в этом случае, возможно, они не смогут определить, что тренд изменился, и могут открыть позиции в обратном направлении.
Соответствующие меры управления рисками:
Оптимизация параметров EMA снижает вероятность ложного сигнала.
Разумная установка стоп-стоп и контроль одиночных убытков
Оптимизация циклов EMA, снижение частоты торгов.
Параметры EMA могут быть динамически изменены в разных рыночных этапах.
Повышение индексов оценки трендов, чтобы избежать отслеживания падения.
В сочетании с индикаторами по оценке тенденций, определить направление тенденции.
Эта стратегия может быть оптимизирована в следующих аспектах:
Динамическая оптимизация параметров EMA, использование различных комбинаций циклов EMA в разных рыночных этапах, оптимизация эффекта аренды параметров.
Увеличение критериев отбора акций, стратегические сделки на акции, удовлетворяющие определенным критериям, повышают уровень успешности.
В сочетании с показателями волатильности, снижение риска избежания позиций в период низкой волатильности.
Сигналы, полученные в результате комбинированного сбытового показателя, подтверждают тенденцию только при высоком количестве.
Установление ценовых условий, например, прорыв 20-дневной линии для торгов по стратегии EMA.
Оптимизируйте стратегию стоп-лосса и установите условия стоп-стопа для блокировки прибыли.
Повышение оценки тенденций на крупном уровне, чтобы избежать негативных позиций.
Стратегия непрерывной оптимизации в сочетании с алгоритмами глубокого обучения и различными алгоритмами машинного обучения.
В общем, общая идея этой двойной стратегии EMA Gold Fork Dead Fork проста и понятна, легко понять и реализовать, она позволяет получать прибыль от колебаний цен, но также содержит определенный риск для получения прибыли. Мы можем контролировать риск и стабильно получать удовлетворительную прибыль с помощью таких средств, как оптимизация параметров, остановка убытков, фильтрация акций и определение тенденций на большом уровне.
/*backtest
start: 2023-09-15 00:00:00
end: 2023-10-15 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("EMA Strategy", shorttitle="EMA Strategy", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === Inputs ===
// short ma
maFastSource = input(defval=close, title="Fast MA Source")
maFastLength = input(defval=3, title="Fast MA Period", minval=1)
// long ma
maSlowSource = input(defval=close, title="Slow MA Source")
maSlowLength = input(defval=9, title="Slow MA Period", minval=1)
// invert trade direction
shorting = input(defval=false, title="Allow Shorting?")
// risk management
useStop = input(defval=false, title="Use Initial Stop Loss?")
slPoints = input(defval=25, title="Initial Stop Loss Points", minval=1)
useTS = input(defval=false, title="Use Trailing Stop?")
tslPoints = input(defval=120, title="Trail Points", minval=1)
useTSO = input(defval=false, title="Use Offset For Trailing Stop?")
tslOffset = input(defval=20, title="Trail Offset Points", minval=1)
// Messages for buy and sell
message_buy = input("Buy message", title="Buy Alert Message")
message_sell = input("Sell message", title="Sell Alert Message")
// Calculate start/end date and time condition
startDate = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)
time_cond = true
// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)
plot(fastMA, color=color.blue)
plot(slowMA, color=color.purple)
goLong() =>
crossover(fastMA, slowMA)
killLong() =>
crossunder(fastMA, slowMA)
strategy.entry("Buy", strategy.long, when=goLong() and time_cond, alert_message = message_buy)
strategy.close("Buy", when=killLong() and time_cond, alert_message = message_sell)
// Shorting if using
if shorting
strategy.entry("Sell", strategy.short, when=killLong() and time_cond, alert_message = message_sell)
strategy.close("Sell", when=goLong() and time_cond, alert_message = message_buy)
if useStop
strategy.exit("XLS", from_entry="Buy", stop=strategy.position_avg_price / 1.08)
strategy.exit("XSS", from_entry="Sell", stop=strategy.position_avg_price * 1.08)