
Strategi ini adalah strategi pelacakan tren cryptocurrency yang telah lama digunakan, yang menggabungkan konsep rata-rata bergerak, indikator relatif kuat (RSI) dan relevansinya pasar, dengan tujuan untuk mengidentifikasi tren harga di garis tengah dan panjang, membangun posisi di awal tren, dan meningkatkan posisi secara bertahap seiring perkembangan tren, sampai menemukan sinyal pembalikan tren dan berhenti.
Strategi ini didasarkan pada tiga indikator:
RSI digunakan untuk mengidentifikasi overbought dan oversold. RSI lebih tinggi dari 51 adalah sinyal overbought, dan lebih rendah dari 49 adalah sinyal oversold.
Moving Average ((SMA): menghitung rata-rata bergerak sederhana 9 hari dari harga tutup, sebagai indikator untuk menentukan arah tren.
Relevansi pasar: Menggunakan nilai pasar total cryptocurrency sebagai tren acuan, menghitung relevansi dengan varietas perdagangan, dengan tren relevansi menggantikan tren K-line dari varietas perdagangan itu sendiri, untuk meningkatkan efektivitas sinyal perdagangan.
Aturan transaksi adalah sebagai berikut:
Multiple entry: melakukan over trade ketika RSI mencapai 51 dan harga close berada di atas SMA 9
Masuk dengan posisi kosong: buka di bawah RSI 49 dan tutup di bawah SMA 9;
Stop loss prinsip: multihead stop loss pengaturan adalah 1%, stop loss pengaturan adalah 0,1%; kosong stop stop stop pengaturan adalah 0,05%, stop loss pengaturan adalah 0,03% .
Strategi ini juga menetapkan kondisi waktu, hanya berdagang dalam jangka waktu tanggal yang ditentukan.
Dengan kombinasi trend dan indikator overbought and oversold, Anda dapat secara efektif melacak tren lini tengah dan panjang.
Menggunakan relevansi pasar untuk meningkatkan kualitas sinyal dan menghindari kecenderungan salah satu varietas;
Pengaturan Stop Loss Otomatis yang masuk akal untuk menghindari peningkatan kerugian;
Anda dapat menyesuaikan rentang waktu yang sesuai dengan kondisi pasar di berbagai tahap.
Strategi tren garis panjang dan menengah, tidak mampu menghadapi pasar yang bergejolak di garis pendek;
Pasar relevansi sebagai pasar acuan, ketika pasar acuan berbalik, varietas perdagangan mungkin terlambat dan tidak dapat dihentikan tepat waktu;
Jika Anda hanya melakukan lebih banyak atau hanya melakukan sedikit, Anda akan kehilangan kesempatan untuk melakukan hal yang sebaliknya.
Tanggapan:
dapat dikombinasikan dengan indikator jangka pendek lainnya, seperti KC, BOLL dan lain-lain untuk menentukan tahap pasar, untuk meningkatkan stop loss;
Meningkatkan analisis terhadap tren benchmark dan menemukan posisi terdepan pada saat benchmark berbalik;
Perdagangan varietas bidirectional untuk memanfaatkan peluang pasar terbuka.
Optimasi parameter: Optimalkan parameter RSI, parameter moving average, stop loss margin, sehingga strategi lebih sesuai dengan karakteristik statistik pasar.
Optimasi Varietas Transaksi: Evaluasi lebih banyak kemungkinan pasar acuan dan varietas transaksi, memilih kombinasi yang lebih relevan dan lebih likuid.
Kombinasi strategi: digunakan bersama dengan kombinasi strategi lainnya, untuk menentukan arah tren pasar dalam siklus besar, menggunakan strategi ini untuk memegang posisi panjang dan menengah.
Strategi ini secara keseluruhan adalah strategi pelacakan tren cryptocurrency jangka menengah yang optimal dan luas. Ini secara efektif menggabungkan tren, overbought dan oversold dan penilaian relevansi untuk meningkatkan kualitas keputusan perdagangan, dengan penyesuaian parameter dan penggunaan kombinasi dapat meningkatkan stabilitas dan tingkat keuntungan strategi secara signifikan.
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 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/
// © exlux99
//@version=4
strategy(title = "Crypto swing correlation", overlay = true, pyramiding=1,initial_capital = 1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)
//time
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
useCorrelation = input(true, title="Use Correlation candles?")
symbol = input("BTC_USDT:swap", type=input.symbol)
haClose = useCorrelation ? security(symbol, timeframe.period, close) : close
haOpen = useCorrelation ? security(symbol, timeframe.period, open) : open
haHigh = useCorrelation ? security(symbol, timeframe.period, high) : high
haLow = useCorrelation ? security(symbol, timeframe.period, low) : low
length = input( 50 )
overSold = input( 51 )
overBought = input( 49 )
s = input(title="Source", defval="haClose", options=["haClose", "haOpen", "haHigh", "haLow"])
price = s == "haClose" ? haClose: s == "haOpen" ? haOpen : s == "haHigh" ? haHigh : s == "haLow" ? haLow : na
len = input(8, "Length Moving average", minval=1)
src = price
ma = sma(src, len)
vrsi = rsi(price, length)
long = crossover(vrsi, overSold) and time_cond and price > ma
short = crossunder(vrsi, overBought) and time_cond and price < ma
takeProfit_long=input(1.0, step=0.005)
stopLoss_long=input(0.1, step=0.005)
takeProfit_short=input(0.05, step=0.005)
stopLoss_short=input(0.03, step=0.005)
strategy.entry("long",1,when=long)
strategy.entry("short",0,when=short)
strategy.exit("short_tp/sl", "long", profit=close * takeProfit_long / syminfo.mintick, loss=close * stopLoss_long / syminfo.mintick, comment='LONG EXIT', alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * takeProfit_short / syminfo.mintick, loss=close * stopLoss_short / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort')