Стратегия перекрестного использования двойной скользящей средней

Автор:Чао Чжан, Дата: 2023-11-21 11:34:09
Тэги:

img

Обзор

Стратегия перекрестного использования двойной скользящей средней является типичной стратегией следования трендам. Она рассчитывает две скользящие средние с разными периодами и использует их перекрестное использование в качестве торговых сигналов для определения направления и импульса рыночных тенденций.

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

Стратегия основана в основном на двух скользящих средних. Первая скользящая средняя имеет более короткий период и может быстрее реагировать на изменения цен. Вторая скользящая средняя имеет более длительный период и может фильтровать какой-то шум. Когда краткосрочная скользящая средняя пересекает долгосрочную скользящую среднюю, это считается сигналом покупки. Когда краткосрочная скользящая средняя пересекает ниже долгосрочной скользящей средней, это считается сигналом продажи.

В частности, эта стратегия рассчитывает 10-периодную экспоненциальную скользящую среднюю (price1) и 20-периодную экспоненциальную скользящую среднюю (price2). Если цены открытия и закрытия текущей панели выше двух скользящих средних, генерируется сигнал покупки. Если цены открытия и закрытия ниже двух скользящих средних, генерируется сигнал продажи.

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

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

  • Раннее обнаружение тенденций и отслеживание сильных тенденций
  • Двойные кроссоверные фильтры шума
  • Двойное подтверждение от открытых и закрытых цен уменьшает неэффективные сделки

Риски

  • Склонны к ударам и обратным сделкам
  • Частые перекрестные сигналы могут возникать
  • Большое пространство для настройки параметров может привести к перенастройке

Улучшение

  • Испытать различные наборы параметров, чтобы найти оптимальный
  • Добавить стоп-лосс к размеру лимита потери
  • Добавить фильтры для уменьшения плохих сделок
  • Комбинировать другие индикаторы для подтверждения сигналов

Резюме

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


/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="MA River CC v1", overlay = true)
strategy("MA River CC v1", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"])

ma2 = input(20, title="2nd MA Length")
type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2)  
sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2)
buy_close = sell_entry
sell_close = buy_entry
//longCondition = crossover(price1, price2)    
if(buy_entry)
    strategy.entry("Long", strategy.long)
    
if(sell_entry)
    strategy.entry("Short", strategy.short)

strategy.close("Long" , when=buy_close)
strategy.close("Short",when=sell_close)



Больше