
Strategi ini adalah strategi perdagangan kuantitatif frekuensi tinggi yang menggabungkan dua metode perdagangan klasik: perdagangan momentum dan pembalikan rata-rata. Strategi ini berjalan dalam kerangka waktu 5 menit, menggunakan Rata-Rata Pergerakan Eksponensial (EMA) untuk menangkap peluang tren sambil menggunakan Bollinger Bands untuk mengidentifikasi kondisi harga yang jenuh beli dan jenuh jual, mencapai keuntungan pelengkap dari logika perdagangan ganda. Strategi ini dirancang dengan konfigurasi parameter yang fleksibel, dan Anda dapat memilih untuk mengaktifkan mode perdagangan tunggal atau gabungan sesuai dengan kondisi pasar yang berbeda.
Strategi ini mengadopsi desain logika perdagangan dua lapis:
Strategi ini menggabungkan dua metode perdagangan klasik, momentum dan mean reversion, untuk membangun sistem perdagangan kuantitatif frekuensi tinggi dengan kemampuan beradaptasi yang kuat dan risiko yang dapat dikendalikan. Desain modular dan fleksibilitas parameter strategi ini memberikan nilai praktis yang baik. Melalui optimalisasi berkelanjutan dan peningkatan manajemen risiko, diharapkan dapat mencapai laba yang stabil dalam perdagangan riil.
/*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)