Chiến lược này là một hệ thống giao dịch định lượng tần số cao kết hợp giao dịch động lượng và phương pháp đảo ngược trung bình. Hoạt động trên một khung thời gian 5 phút, nó nắm bắt các cơ hội xu hướng bằng cách sử dụng Mức trung bình chuyển động (EMA) trong khi xác định các điều kiện mua quá nhiều và bán quá nhiều thông qua các dải Bollinger. Chiến lược có cấu hình tham số linh hoạt, cho phép chế độ giao dịch đơn hoặc kết hợp dựa trên điều kiện thị trường.
Chiến lược sử dụng một logic giao dịch hai lớp:
Chiến lược kết hợp các phương pháp chuyển động và đảo ngược trung bình để tạo ra một hệ thống giao dịch định lượng tần số cao có khả năng thích nghi cao, kiểm soát rủi ro. Thiết kế mô-đun và tính linh hoạt của tham số cung cấp giá trị thực tế, và với việc tối ưu hóa liên tục và cải tiến quản lý rủi ro, nó cho thấy hứa hẹn để tạo ra lợi nhuận ổn định trong giao dịch trực tiếp.
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Momentum and Mean Reversion Strategy", shorttitle = "MMV_V1", overlay=true) // --- Inputit ja parametrit --- use_momentum = input.bool(true, title="Käytä Momentum-strategiaa") use_mean_reversion = input.bool(true, title="Käytä Keskiarvoon Palautumista (BB)") // Momentum-parametrit short_ema_period = input.int(50, title="Lyhyt EMA") long_ema_period = input.int(400, title="Pitkä EMA") // Bollinger Band -parametrit bb_length = input.int(20, title="BB Pituus") bb_std = input.float(2.0, title="BB Standardipoikkeama") // --- Momentum-strategia: EMA-risteämä --- short_ema = ta.ema(close, short_ema_period) long_ema = ta.ema(close, long_ema_period) momentum_long_signal = ta.crossover(short_ema, long_ema) momentum_short_signal = ta.crossunder(short_ema, long_ema) // --- Keskiarvoon palautuminen: Bollinger Bands --- [bb_upper, bb_middle, bb_lower] = ta.bb(close, bb_length, bb_std) bb_long_signal = ta.crossover(close, bb_lower) // Osto, kun hinta nousee alemman BB:n yli bb_short_signal = ta.crossunder(close, bb_upper) // Myynti, kun hinta laskee ylemmän BB:n ali // --- Kaupankäyntilogiikka --- if (use_momentum and momentum_long_signal) strategy.entry("Momentum Long", strategy.long) if (use_momentum and momentum_short_signal) strategy.entry("Momentum Short", strategy.short) if (use_mean_reversion and bb_long_signal) strategy.entry("BB Long", strategy.long) if (use_mean_reversion and bb_short_signal) strategy.entry("BB Short", strategy.short)