Chiến lược này xây dựng nhiều chỉ số EMA với các chu kỳ khác nhau và tính toán sự khác biệt của chúng để tạo ra chỉ số Gann Me để đánh giá xu hướng giá và tạo ra tín hiệu giao dịch. Nó phù hợp với việc theo dõi xu hướng ngắn hạn và có thể nắm bắt hiệu quả xu hướng thay đổi giá.
Chiến lược đầu tiên xây dựng 6 chỉ số EMA chu kỳ ngắn và 6 chỉ số EMA chu kỳ dài. EMA chu kỳ ngắn bao gồm các đường 3, 5, 8, 10, 12 và 15 ngày. EMA chu kỳ dài bao gồm các đường 30, 35, 40, 45, 50 và 60 ngày.
Sau đó tính tổng các EMA chu kỳ ngắn (g) và tổng các EMA chu kỳ dài (mae). Sự khác biệt giữa các EMA chu kỳ dài và ngắn (gmae = mae - g) tạo thành chỉ số chênh lệch Gann Me. Chỉ số chênh lệch này có thể đánh giá xu hướng giá.
Khi chênh lệch vượt qua trục 0, điều đó có nghĩa là trung bình di chuyển ngắn hạn tăng nhanh hơn so với trung bình dài hạn, đó là tín hiệu tăng để đi dài. Khi chênh lệch vượt qua dưới trục 0, điều đó có nghĩa là trung bình di chuyển ngắn hạn giảm nhanh hơn so với trung bình dài hạn, đó là tín hiệu giảm để đi ngắn.
Chiến lược này nắm bắt những thay đổi xu hướng giá ngắn hạn bằng cách xây dựng chỉ số chênh lệch Gann Me. Nó thuộc về một chiến lược theo dõi ngắn hạn. Những lợi thế là phản ứng nhạy cảm và phù hợp với giao dịch tần số cao. Những nhược điểm là sự nhạy cảm với các biến số thị trường và rủi ro dừng lỗ cao hơn. Nhìn chung, chiến lược hoạt động tốt và đáng để thử nghiệm và áp dụng trong giao dịch thực.
/*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)