
Strategi melompat dua kali adalah strategi kuantitatif yang digunakan untuk perdagangan bitcoin dan emas pendek. Ia menggabungkan penggunaan purata bergerak, pita Brin dan ATR berhenti untuk mengenal pasti isyarat pecah dan menguruskan risiko.
Strategi melompat dua kali menggunakan persilangan EMA cepat dan EMA perlahan untuk menentukan arah trend. Apabila EMA cepat naik, ia akan menghasilkan isyarat beli; apabila EMA cepat turun, ia akan menghasilkan isyarat jual. Untuk mengelakkan pecah palsu, strategi ini memerlukan isyarat pecah yang mesti berlaku di atas atau di dekat jalur Brin, yang merupakan asal usul EMA perlahan.
Khususnya, dalam menilai isyarat membeli, dua syarat berikut perlu dipenuhi: 1) EMA cepat melalui EMA perlahan; 2) harga penutupan hampir atau lebih rendah daripada Brin yang berada di atas landasan atau di tengah landasan.
Selain itu, strategi melompat dua kali ganda juga menggunakan indikator ATR untuk mengira hentian dinamik untuk mengawal risiko perdagangan tunggal. Posisi hentian tertentu adalah titik terendah dua garis K yang paling dekat dan kemudian mengurangkan N kali ATR.
Strategi melompat dua kali boleh dioptimumkan dalam beberapa aspek:
Strategi melompat dua kali menggunakan pengesanan trend dan penapisan penembusan secara serentak untuk mengenal pasti peluang garis pendek secara berkesan. Digabungkan dengan risiko pengurusan kerugian dinamik, sangat sesuai untuk perdagangan garis pendek dalam mata wang digital dan jenis logam berharga yang mempunyai kadar turun naik yang tinggi.
/*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)