Основная идея этой стратегии заключается в том, чтобы отображать индикаторы EMA на круговой линии в течение суток, чтобы получить поддержку более длительных тенденций и направлять решения о торговле в течение суток.
Сначала в коде стратегия рассчитывает 6-дневную, 12-дневную, 26-дневную и 52-дневную ЭМА на солнечной линии, а также 42-дневную, 84-дневную, 182-дневную и 364-дневную ЭМА в параметрах, соответствующих окружности ЭМА.
Затем долгосрочные тенденции оцениваются по золотым и мертвым топорам 42-й и 84-й ЕМА; среднесрочные тенденции оцениваются по золотым и мертвым топорам 84-й и 182-й ЕМА.
При использовании более длинных EMA на более коротких EMA вводятся длинные позиции; при использовании более длинных EMA на более коротких EMA выводятся четкие позиции.
С помощью этого метода отображения мы получаем поддержку от оборотного уровня EMA в течение суток, что позволяет отфильтровывать часть шума и блокировать большие возможности для тренда.
Эта стратегия, сочетающая в себе гибкость внутридневного трейдинга и стабильность круговой EMA, имеет следующие преимущества:
Круговая линия EMA может эффективно фильтровать рыночный шум и идентифицировать истинное движение тренда. Внутренняя торговля может выбрать более точное время входа в зависимости от внутридневной FORMATION.
Параметры круговой линии EMA более стабильны и не подвержены влиянию краткосрочных ценовых колебаний. В то же время внутридневная форма объединяет тенденции и выходит на рынок раньше времени.
Золотые и мертвые форки EMA позволяют четко определить переломные моменты поэтапного тренда. В дополнение к торговле в течение дня, чтобы получить прибыль, общая выигрышная вероятность выше.
Используя комбинацию различных периодических ЭМА, можно блокировать трендовые возможности на разных уровнях: длинном, среднем и коротком.
Стратегическая торговля имеет низкую частоту и подходит для длинных линий.
Основные риски этой стратегии:
Входные сигналы по круговой линии EMA могут задерживаться, что не позволяет уловить первые моменты изменения цены.
В течение дня игра будет зависеть от пересечения с EMA, без учета форм, колебаний и других факторов, что может привести к преждевременному выходу из игры.
EMA имеет меньшее количество свободных перекрестков, что может привести к длительному одностороннему удержанию позиций.
Не существует механизма остановки убытков, а риск их вывода значителен и требует активного управления.
Параметры настроены более широко, и для достижения оптимального эффекта различные валюты нуждаются в корректировке.
Риски можно снизить следующими способами:
В сочетании с другими индикаторами, идентифицирующими формат ENTRY, заблаговременно планируйте точки входа в EMA.
Добавить правила выхода из игры, такие как остановка убытков, закрытие приостановки прибыли и т. д., чтобы избежать длительного одностороннего хранения позиций.
Оптимизация параметров цикла EMA для тестирования подходящих комбинаций циклов различных валют.
Многоуровневые сделки, разделение позиций на различные циклы EMA, снижение риска одностороннего позиционирования.
Эта стратегия также может быть оптимизирована в следующих аспектах:
Добавление правил доступа к внутридневным сделкам, таких как определение формы, объема сделок, фильтрация входящего шума.
В сочетании с такими показателями, как stoch, MACD и другие, можно определить перекуп и перепродажу, а также более детальную оценку входа и выхода на рынок.
Увеличение механизмов остановки и снятия убытков, снижение риска вывода, блокировка прибыли.
Оптимизация параметров цикла EMA, тестирование эффективности различных комбинаций циклов.
Попробуйте различные параметры EMA, такие как DEMA, TEMA и т. д., чтобы улучшить плавность.
Добавление механизма управления позициями, различные сигналы EMA используют разные позиции.
Изучение параметров различных сортов и разработка стратегий, подходящих для различных торговых пар.
Изучение методов машинного обучения для динамической оптимизации параметров EMA.
Это очень хорошая стратегия для отслеживания трендов на длинных линиях. Она умело сочетает в себе определение трендов на круговой линии и выполнение внутридневных торгов. При правильном оптимизации может стать очень практичной многовременной системой торговли.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=1
strategy("Investing Weekly mapped to Daily", overlay=true, pyramiding=100)
// === PLOTTING EMA ===
plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6")
plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12")
plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26")
plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52")
plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6")
plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12")
plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26")
plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === STRATEGY FOR CRYPTO ===
ema42= ema(close, 42)
ema84= ema(close, 84)
ema182= ema(close, 182)
enterLong1 = cross(ema42, ema84) and ema42 > ema84
exitLong1 = cross(ema42, ema84) and ema42 < ema84
enterLong2 = cross(ema84, ema182) and ema84 > ema182
exitLong2 = cross(ema84, ema182) and ema84 < ema182
strategy.entry(id="Entry_1", long=true, when=enterLong1)
strategy.entry(id="Entry_2", long=true, when=enterLong2)
strategy.entry(id="Exit_1", long=false, when=exitLong1)
strategy.entry(id="Exit_2", long=false, when=exitLong2)