
Эта стратегия позволяет определять направление рыночной тенденции и отслеживать тренд, рассчитывая перекрестное движение средней скоростной и средней медленной EMA. При пересечении медленной EMA на высокой EMA, делается больше; при пересечении скоростной EMA, делается меньше.
Стратегия вычисляет быстрые и медленные ЭМА, вводя средние циклы ЭМА быстрого периода i_shortTerm и медленного периода i_longTerm соответственно. Занимает позицию, когда цена выше, чем средняя, и выходит из позиции, когда цена падает ниже средней.
Эта стратегия основана на принципе золотых перекрестков средней линии EMA, основанной на перекрестках медленной и быстрой EMA, чтобы определить основные тенденции рынка и отслеживать тенденцию. Когда краткосрочная EMA пересекает долгосрочную EMA, это означает, что рынок входит в тренд.
Основные преимущества этой стратегии:
Captured использует EMA, чтобы определить направление основных тенденций рынка, избежать помех от краткосрочных колебаний рынка и зафиксировать основные тенденции.
Параметры быстрого и медленного EMA могут быть настроены так, чтобы их можно было легко адаптировать к различным ситуациям.
Логика стратегии проста и понятна, легко понять реализацию и подходит для начинающих в количественной торговле.
Можно настроить параметры цикла EMA, адаптировать параметры для различных сортов и рынков, оптимизировать эффективность стратегии.
Используйте превышение цены на EMA, чтобы выйти из остановки, эффективно контролировать риск и защитить средства.
Однако эта стратегия также несет в себе некоторые риски:
Когда тренд меняется, EMA-крестные сигналы поворачиваются медленнее, чем цена, что может привести к большим потерям.
При многократном прорыве краткосрочного входа в EMA возможны ложные прорывы, которые приводят к убыткам.
Неправильная настройка параметров paramedic также может повлиять на эффективность стратегии.
Эффект зависит от рыночных тенденций и не подходит для всех сортов и этапов жизни.
Соответствующие меры по управлению рисками:
Оптимизация параметров 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))