
Binary Moving Average Gold Fork Dead Fork Reversal Strategi adalah strategi perdagangan kuantitatif yang khas untuk mengikuti tren. Strategi ini menggunakan garis 9 dan garis 14 dari indikator Binary Moving Average untuk membangun sinyal beli dan jual.
Strategi ini terutama didasarkan pada sinyal forks emas dan forks mati dari dua indikator rata-rata bergerak. Dalam dua rata-rata bergerak, garis 9 mewakili tren jangka pendek, dan garis 14 mewakili tren jangka menengah, dan persimpangan mereka adalah indikator teknis yang efektif untuk menilai pergeseran tren pasar. Ketika garis tren jangka pendek dari bawah menembus garis tren jangka menengah dan membentuk forks emas, garis tren jangka pendek akan kuat dan masuk ke dalam sinyal beli. Ketika garis tren jangka pendek dari atas menembus dan membentuk forks mati, garis tren jangka pendek akan lemah dan masuk ke dalam sinyal jual.
Selain itu, strategi ini juga memperkenalkan garis 50 hari untuk memfilter sinyal yang menyesatkan. Hanya jika harga lebih tinggi dari garis 50 hari, maka akan terjadi pembelian; hanya jika harga lebih rendah dari garis 50 hari, maka akan terjadi penjualan. Garis 50 hari mewakili tren jangka menengah dan panjang, hanya jika tren jangka menengah dan panjang setuju, maka akan terjadi operasi jangka pendek.
Logika kodenya adalah sebagai berikut:
// 买入条件:9日线上穿14日线 且 当前价格高于50日线
buyCondition = ta.crossover(sma9, sma14) and close > sma50
// 卖出条件:9日线下穿14日线 且 当前价格低于50日线
sellCondition = ta.crossunder(sma9, sma14) and close < sma50
Keuntungan dari strategi moving averages dua kali lipat jelas:
Ada beberapa risiko dalam strategi dua garis rata-rata bergerak:
Ada beberapa cara untuk mengoptimalkan risiko:
Strategi dual-mobile linearity dapat dioptimalkan dalam beberapa hal berikut:
Strategi Garis Rata Bergerak Dua secara keseluruhan adalah strategi yang menguntungkan secara efektif. Ini dapat terjadi secara berurutan, terus menguntungkan; Namun ada juga risiko tertentu yang perlu disempurnakan lebih lanjut. Efek dari strategi ini dapat ditingkatkan lebih lanjut melalui pengoptimalan parameter, metode stop loss, dan kombinasi strategi.
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("smaCrossReverse", shorttitle="smaCrossReverse", overlay=true)
// Define the length for the SMAs
sma9Length = input(9, title="SMA 9 Length")
sma14Length = input(14, title="SMA 14 Length")
sma50Length = input(50, title="SMA 50 Length") // Add input for SMA 50
// Calculate SMAs
sma9 = ta.sma(close, sma9Length)
sma14 = ta.sma(close, sma14Length)
sma50 = ta.sma(close, sma50Length) // Calculate SMA 50
// Buy condition: SMA 9 crosses above SMA 14 and current price is above SMA 50
buyCondition = ta.crossover(sma9, sma14) and close > sma50
// Sell condition: SMA 9 crosses below SMA 14 and current price is below SMA 50
sellCondition = ta.crossunder(sma9, sma14) and close < sma50
// Track the time since position was opened
var float timeElapsed = na
if (buyCondition)
timeElapsed := 0
else
timeElapsed := na(timeElapsed[1]) ? timeElapsed[1] : timeElapsed[1] + 1
// Close the buy position after 5 minutes
if (timeElapsed >= 5)
strategy.close("Buy")
// Track the time since position was opened
var float timeElapsedSell = na
if (sellCondition)
timeElapsedSell := 0
else
timeElapsedSell := na(timeElapsedSell[1]) ? timeElapsedSell[1] : timeElapsedSell[1] + 1
// Close the sell position after 5 minutes
if (timeElapsedSell >= 5)
strategy.close("Sell")
// Plot the SMAs on the chart
plot(sma9, title="SMA 9", color=color.blue)
plot(sma14, title="SMA 14", color=color.red)
plot(sma50, title="SMA 50", color=color.green) // Plot SMA 50 on the chart
// Strategy entry and exit conditions using if statements
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)