
Strategi double-hop adalah strategi kuantitatif yang digunakan untuk perdagangan bitcoin dan emas. Ini menggabungkan penggunaan moving averages, Brinks dan ATR stop loss untuk mengidentifikasi sinyal terobosan dan mengelola risiko.
Strategi double hopping menggunakan persilangan EMA cepat dan EMA lambat untuk menentukan arah tren. Ketika EMA cepat naik, ia akan menghasilkan sinyal beli, dan jika EMA cepat turun, ia akan menghasilkan sinyal jual. Untuk menghindari false breakout, strategi ini mengharuskan sinyal breakout terjadi di atas atau di dekat lintasan Brin, yang merupakan asal usul double hopping.
Secara khusus, dalam menilai sinyal beli, dua syarat berikut harus dipenuhi: 1) EMA cepat di atas EMA lambat; 2) harga penutupan mendekati atau di bawah Brin di atas atau di bawah. Demikian pula, untuk menilai sinyal jual, perlu EMA lambat di bawah EMA cepat dan mendekati Brin di bawah atau di bawah.
Selain itu, strategi double hopping juga menggunakan indikator ATR untuk menghitung stop loss dinamis untuk mengendalikan risiko transaksi tunggal. Posisi stop loss spesifik adalah titik terendah dari dua garis K terbaru dan kemudian dikurangi dengan N kali ATR.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi double-hopping memanfaatkan trend tracking dan penyaringan breakout secara bersamaan untuk mengidentifikasi peluang short-line secara efektif. Strategi ini sangat cocok untuk perdagangan short-line di mata uang digital dan varietas logam mulia dengan volatilitas tinggi, dikombinasikan dengan risiko manajemen stop loss yang dinamis.
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © singhak8757
//@version=5
strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true)
// Input parameters
fastLength = input(5, title="Fast EMA Length")
slowLength = input(13, title="Slow EMA Length")
bollingerLength = input(20, title="Bollinger Band Length")
bollingerMultiplier = input(2, title="Bollinger Band Multiplier")
stopLossMultiplier = input(1, title="Stop Loss Multiplier")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Calculate Bollinger Bands
basis = ta.sma(close, bollingerLength)
upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength)
lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength)
// Buy condition
buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis)
// Sell condition
sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis)
// Calculate stop loss level
stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14)
// Plot EMAs
plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA")
plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA")
// Plot Bollinger Bands
plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band")
plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band")
// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)
// Plot Stop Loss level
plot(stopLossLevel, color=color.orange, title="Stop Loss Level")
// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel)
strategy.close("Sell", when = sellCondition)