Эта стратегия определяет направление тренда рынка через перекресток быстрой и медленной линий EMA и торгует вдоль тренда.
Стратегия рассчитывает быструю EMA (i_shortTerm) и медленную EMA (i_longTerm) на основе входных параметров. Когда краткосрочная EMA пересекает длинную EMA (goLongCondition1) и цена превышает краткосрочную EMA (goLongCondition2), она входит в длинную позицию. Когда цена проходит ниже краткосрочной EMA (exitCondition2), она закрывает позицию.
Стратегия основана на золотом кресте линий EMA для определения основного тренда рынка и торговли вдоль тренда. Когда краткосрочная EMA пересекает длительную EMA, это сигнализирует о восходящем тренде; когда цена выше краткосрочной EMA, это указывает на то, что восходящий тренд идет, поэтому идите на длинный. Когда цена опускается ниже краткосрочной EMA, это сигнализирует об обратном тренде, поэтому немедленно закрывайте позицию.
Основными преимуществами этой стратегии являются:
Использовать перекрестный EMA для выявления основных рыночных тенденций, избегать краткосрочных колебаний.
Регулируемая чувствительность при обнаружении тренда с помощью быстрого и медленного параметров EMA.
Простая и понятная логика, легко понятная и реализуемая, подходящая для начинающих торговцев.
Настраиваемые параметры периода EMA для различных продуктов и рынков.
Эффективный контроль рисков путем стоп-лосса, когда цена превышает линию EMA.
Существуют также некоторые риски:
Задержка передачи перекрестных сигналов EMA может привести к потерям при изменении тренда.
Ложный прорыв выше краткосрочной EMA может привести к неудачным входам.
Неправильные параметры могут подорвать стратегию.
Результаты в значительной степени зависят от условий рынка, не подходят для всех продуктов и периодов.
Соответствующие измерения управления рисками:
Оптимизировать параметры EMA для повышения чувствительности к переломам.
Добавить другие технические показатели для фильтрации входных сигналов.
Постоянно отлаживать и оптимизировать параметры для разных рынков.
В полной мере понимать действующие рыночные условия перед применением стратегии.
Стратегия может быть дополнительно оптимизирована в следующих аспектах:
Добавьте другие индикаторы, такие как MACD и KD, чтобы отфильтровать сигналы входа.
Внедрять стоп-лосс, чтобы закрепить прибыль и лучше контролировать риск.
Оптимизировать размещение стоп-лосса с помощью индикатора волатильности ATR.
Испытать и найти лучшие научные методы настройки параметров EMA.
Проверяйте сигналы на нескольких временных отрезках для повышения точности.
Попробуйте изменения BREAKOUT, чтобы поймать более крупные движения во время стадий ускорения тренда.
Эта стратегия эффективно отслеживает рыночную тенденцию путем торговли на EMA кроссовер сигналов. С четкой логикой и контролируемыми рисками, это подходит для квантовой торговли новичков практиковать на. Дальнейшие оптимизации на настроение параметров, фильтрации входа, стоп-лосс размещения может улучшить эффективность стратегии. Но все стратегии имеют ограничения, пользователи должны применять осторожно на основе рыночных условий при живой торговле.
/*backtest start: 2023-02-15 00:00:00 end: 2024-02-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © pradhan_abhishek //@version=5 strategy('EMA cross-over strategy by AP', overlay=true, shorttitle='EMACS-AP', initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, commission_value=0.025) // inputs i_shortTerm = input(title='Fast EMA', defval=21) i_longTerm = input(title='Slow EMA', defval=55) // select backtest range: if this is not given, then tradingview goes back since inception / whereever it finds data i_from = input(defval = timestamp("01 Jan 2023 00:00"), title = "From") i_to = input(defval = timestamp("31 Dec 2033 23:59"), title = "To") i_showBg = input(defval = true, title = "Show In-trade / Out-trade background") // create date function "within window of time" date() => true // exponential moving average (EMA) variables, derived from input parameters shortTermEMA = ta.ema(close, i_shortTerm) longTermEMA = ta.ema(close, i_longTerm) atr = ta.atr(14) // ### Trade strategy: begins ### inTrade = strategy.position_size > 0 notInTrade = strategy.position_size <= 0 goLongCondition1 = shortTermEMA > longTermEMA goLongCondition2 = close > shortTermEMA // exitCondition1 = shortTermEMA < midTermEMA exitCondition2 = close < shortTermEMA // enter if not in trade and long conditions are met if date() and goLongCondition1 and goLongCondition2 and notInTrade strategy.entry('long', strategy.long) // exit on stop-Loss hit stopLoss = close - atr * 3 strategy.exit('exit', 'long', stop=stopLoss) // exit if already in trade and take profit conditions are met if date() and exitCondition2 and inTrade strategy.close(id='long') // ###Trade strategy: ends ### // plot emas & background color for trade status plot(shortTermEMA, color=color.new(color.blue, 0)) plot(longTermEMA, color=color.new(color.green, 0)) trade_bgcolor = notInTrade ? color.new(color.red, 75) : color.new(color.green, 75) bgcolor(i_showBg ? trade_bgcolor : color.new(color.white, 75))