Gem Forest 1 Minute Breakout Strategy adalah strategi perdagangan kuantitatif yang bertujuan untuk menangkap sinyal breakout dalam jangka waktu 1 menit untuk mewujudkan keuntungan cepat.
Strategi ini terutama menggunakan elemen berikut untuk membentuk sinyal perdagangan:
Secara khusus, strategi ini menghitung rata-rata periode N dari ATR, EMA cepat, EMA lambat, RSI cepat dan RSI lambat. Menggabungkan kondisi saluran harga ATR, EMA golden cross, dan RSI mencapai tingkat ekstrem, strategi ini mengirimkan sinyal beli atau jual.
Keuntungan utama dari strategi ini adalah:
Ada juga beberapa risiko:
Untuk mengendalikan risiko, stop loss harus diterapkan, dan parameter perlu backtest yang tepat untuk menghindari overfit.
Strategi dapat dioptimalkan melalui:
Pengaturan parameter uji selama periode yang lebih pendek (5-menit, 15-menit);
Tambahkan lebih banyak indikator penyaringan seperti volume untuk meningkatkan kualitas sinyal;
Optimalkan saluran ATR dan parameter rata-rata bergerak untuk menemukan kombinasi parameter terbaik.
Gem Forest 1 Minute Breakout Strategy berfokus pada penangkapan tren jangka pendek dengan menyaring dengan beberapa indikator, menampilkan respons cepat dan karakteristik risiko-imbalan tinggi. Ini dapat disesuaikan dengan preferensi risiko pengguna melalui optimasi parameter untuk hasil yang lebih baik. Namun, pengguna harus mengendalikan risiko perdagangan melalui stop loss yang ketat, frekuensi perdagangan yang wajar dll. Secara keseluruhan, strategi ini cocok untuk investor dengan pengetahuan perdagangan kuantitatif tertentu dan toleransi risiko untuk perdagangan jangka pendek.
/*backtest start: 2023-02-12 00:00:00 end: 2024-02-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Gem Forest 1 Dakika Scalp", overlay=true) source = close atrlen = input.int(14, "ATR Period") mult = input.float(1, "ATR Multi", step=0.1) smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"]) ma_function(source, atrlen) => if smoothing == "RMA" ta.rma(source, atrlen) else if smoothing == "SMA" ta.sma(source, atrlen) else if smoothing == "EMA" ta.ema(source, atrlen) else ta.wma(source, atrlen) atr_slen = ma_function(ta.tr(true), atrlen) upper_band = atr_slen * mult + close lower_band = close - atr_slen * mult ShortEMAlen = input.int(21, "Fast EMA") LongEMAlen = input.int(65, "Slow EMA") shortSMA = ta.ema(close, ShortEMAlen) longSMA = ta.ema(close, LongEMAlen) RSILen1 = input.int(25, "Fast RSI Length") RSILen2 = input.int(100, "Slow RSI Length") rsi1 = ta.rsi(close, RSILen1) rsi2 = ta.rsi(close, RSILen2) atr = ta.atr(atrlen) RSILong = rsi1 > rsi2 RSIShort = rsi1 < rsi2 longCondition = open < lower_band shortCondition = open > upper_band GoldenLong = ta.crossover(shortSMA,longSMA) Goldenshort = ta.crossover(longSMA,shortSMA) plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.white) plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.white) plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.blue, 0), textcolor=color.white) plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.yellow, 0), textcolor=color.white) if (longCondition) stopLoss = low - atr * 2 takeProfit = high + atr * 5 strategy.entry("long", strategy.long) if (shortCondition) stopLoss = high + atr * 2 takeProfit = low - atr * 5 strategy.entry("short", strategy.short) plot(upper_band) plot(lower_band) plot(shortSMA, color = color.red) plot(longSMA, color = color.yellow)