Стратегия торговли четырехкратными индикаторами EMA

Автор:Чао Чжан, Дата: 2023-09-12 14:51:28
Тэги:

Эта стратегия использует четыре линии EMA с различными параметрами для формирования четкой системы следования трендам для механической торговли.

Логика стратегии:

  1. Вычислить две пары быстрой и медленной EMA, обычно 72 и 44 периода.

  2. Продолжайте, когда быстрая EMA пересекает медленную EMA.

  3. Пройдите короткий, когда быстрая EMA пересекает низкую EMA.

  4. Используйте цвета для обозначения сигналов покупки и продажи.

  5. Проверка заданного периода для выполнения сигналов.

Преимущества:

  1. Четыре EMA формируют четкие тенденции.

  2. Комбинации быстрой/медленной EMA эффективно отслеживают средне-длинные тенденции.

  3. Правила перекрестного использования просты и не допускают чрезмерного использования.

Риски:

  1. Задержка EMA может привести к пропущенным поворотам тренда.

  2. Нет остановок означает неограниченные потери на одних сделках.

  3. Плохие параметры могут вызвать чрезмерные сигналы или несоответствия.

В целом, четырехкратная стратегия кроссовера EMA использует пары EMA быстро/медленно для механической торговли трендом. Визуальный интерфейс интуитивно понятен для визуальных трейдеров. Но задержка и отсутствие остановок означают, что для долгосрочных устойчивых прибылей все еще требуется разумное управление рисками.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// strategy(title = "Cuathro EMA Strategy", shorttitle = "Cuathro EMA",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)
//@Moneros 2017
// based on OCC by @JayRogers
emaSlowPeriod    = input(defval = 44, title = "EMA Slow, always < EMA Fast - low short term, high long term ", minval = 1)
emaFastPeriod    = input(defval = 72, title = "EMA Fast - low short term, high long term ", minval = 1)
len    = input(defval = 14, title = "Period", minval = 1)
res = input(title="Resolution  - not lower than chart", defval="120")



closeSeries =  request.security(syminfo.tickerid, res, 2 * ta.ema(close, len) - ta.ema(ta.ema(close, len), len)  )
openSeries  = request.security(syminfo.tickerid,res, 2 * ta.ema(close[1], len) - ta.ema(ta.ema(close[1], len), len)  )


slowema = ta.ema(closeSeries - openSeries,emaSlowPeriod)
fastema = ta.ema(closeSeries - openSeries,emaFastPeriod)

plot(slowema, color=color.blue)
plot(fastema,color=color.red)


bgcolor(slowema< fastema ? color.red : na, transp=90)
bgcolor(slowema> fastema ? color.blue : na, transp=90)

bgcolor(ta.crossover(slowema, fastema) ? color.blue : na, transp=40)
bgcolor(ta.crossunder(slowema, fastema) ? color.red : na, transp=40)
strategy.order("BUY", strategy.long, 1, when = ta.crossover(slowema, fastema))
strategy.order("SELL", strategy.short, 1, when = ta.crossunder(slowema, fastema)) 


Больше