Эта стратегия составит несколько индикаторов EMA с различными циклами и вычислит их разницу, чтобы сформировать индикатор Gann Me для оценки ценовых тенденций и генерации торговых сигналов.
Стратегия сначала строит 6 краткосрочных показателей EMA и 6 долгосрочных показателей EMA. Краткосрочная EMA включает 3-дневные, 5-дневные, 8-дневные, 10-дневные, 12-дневные и 15-дневные линии. Долгосрочная EMA включает 30-дневные, 35-дневные, 40-дневные, 45-дневные, 50-дневные и 60-дневные линии.
Затем вычислить сумму короткоциклических EMA (g) и сумму длинноциклических EMA (mae). Разница между длинными и короткими EMA (gmae = mae - g) образует индикатор разницы Gann Me. Этот индикатор разницы может судить о ценовых тенденциях.
Когда разница пересекается выше 0 оси, это означает, что краткосрочная скользящая средняя растет быстрее, чем долгосрочная, что является бычьим сигналом для покупки длинного. Когда разница пересекается ниже 0 оси, это означает, что краткосрочная скользящая средняя падает быстрее, чем долгосрочная, что является медвежьим сигналом для покупки короткого.
Эта стратегия фиксирует краткосрочные изменения ценового тренда путем построения индикатора разницы Gann Me. Она относится к краткосрочной стратегии отслеживания. Преимущества - чувствительная реакция и пригодность для высокочастотного трейдинга. Недостатками являются чувствительность к переменным рынка и более высокие риски стоп-лосса. В целом стратегия хорошо работает и стоит тестирования и применения в реальной торговле.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="GMAE Original (By Kevin Manrrique)", overlay=false) /// This indicator was built and scripted by Kevin Manrrique. Please leave this copyright to the script at all times, if rebuilt please add your name onto the script. /// If you have any questions, please message me directly. Thank you. /// Sincerely, /// /// Kevin Manrrique ///ONE/// len = input(3, minval=1, title="Length") src = input(close, title="Source") out = ema(src, len) //plot(out, title="EMA", color=blue) len2 = input(5, minval=1, title="Length") src2 = input(close, title="Source") out2 = ema(src2, len2) //plot(out2, title="EMA", color=blue) len3 = input(8, minval=1, title="Length") src3 = input(close, title="Source") out3 = ema(src3, len3) //plot(out3, title="EMA", color=blue) len4 = input(10, minval=1, title="Length") src4 = input(close, title="Source") out4 = ema(src4, len4) //plot(out4, title="EMA", color=blue) len5 = input(12, minval=1, title="Length") src5 = input(close, title="Source") out5 = ema(src5, len5) //plot(out5, title="EMA", color=blue) len6 = input(15, minval=1, title="Length") src6 = input(close, title="Source") out6 = ema(src6, len6) //plot(out6, title="EMA", color=blue) ///TWO/// len7 = input(30, minval=1, title="Length") src7 = input(close, title="Source") out7 = ema(src7, len7) //plot(out7, title="EMA", color=red) len8 = input(35, minval=1, title="Length") src8 = input(close, title="Source") out8 = ema(src8, len8) //plot(out8, title="EMA", color=red) len9 = input(40, minval=1, title="Length") src9 = input(close, title="Source") out9 = ema(src9, len9) //plot(out9, title="EMA", color=red) len10 = input(45, minval=1, title="Length") src10 = input(close, title="Source") out10 = ema(src10, len10) //plot(out10, title="EMA", color=red) len11 = input(50, minval=1, title="Length") src11 = input(close, title="Source") out11 = ema(src11, len11) //plot(out11, title="EMA", color=red) len12 = input(60, minval=1, title="Length") src12 = input(close, title="Source") out12 = ema(src12, len12) //plot(out12, title="EMA", color=red) g=out+out2+out3+out4+out5+out6 mae=out7+out8+out9+out10+out11+out12 gmae=mae-g plot(gmae, style=columns, color=green) baseline=0 plot(baseline, style=line, color=black) longCondition = crossover(gmae, baseline) if (longCondition) strategy.entry("long", strategy.long) shortCondition = crossunder(gmae, baseline) if (shortCondition) strategy.entry("short", strategy.short)