Strategi ini melaksanakan strategi perdagangan ambang yang mudah berdasarkan Indeks Kekuatan Relatif (RSI). Ia membeli apabila RSI jatuh di bawah ambang 30 dan menjual apabila RSI meningkat di atas ambang 40. Tempoh pegangan ditetapkan pada 10 hari. Strategi ini sesuai untuk perdagangan jangka menengah.
Strategi ini terutamanya menggunakan zon oversold dan overbought dari penunjuk RSI untuk menjana isyarat perdagangan. RSI mencerminkan kelajuan perubahan harga dalam tempoh. RSI di bawah 30 menunjukkan zon oversold di mana harga mungkin bangkit kembali. RSI di atas 70 menunjukkan zon overbought di mana harga mungkin jatuh.
Secara khusus, strategi ini mula-mula mengira RSI 10 hari, kemudian menetapkan ambang pada 30 dan 40. Apabila RSI 10 hari jatuh di bawah 30, isyarat beli dihasilkan. Apabila RSI 10 hari meningkat di atas 40, isyarat jual dihasilkan. Setelah menerima isyarat beli, ia membuka kedudukan panjang. Setelah menerima isyarat jual, jika hari pegangan melebihi 10 hari, ia menutup kedudukan secara langsung. Jika tidak, ia terus memegang sehingga hari ke-10 untuk menjual.
Strategi ini mudah dan mudah difahami, mengenal pasti zon oversold dan overbought menggunakan RSI untuk melaksanakan strategi perdagangan ambang berdasarkan penunjuk.
Strategi ini menggunakan penunjuk RSI yang lazim. Parameter RSI boleh diselaraskan dan dioptimumkan agar sesuai dengan tempoh dan persekitaran pasaran yang berbeza.
RSI boleh mencerminkan trend perubahan harga. Strategi menilai pergerakan harga berdasarkan RSI untuk mencapai trend yang mudah diikuti.
Strategi ini menggunakan tempoh tahan tetap untuk mengawal kerugian tunggal secara berkesan. Sementara itu, parameter RSI boleh disesuaikan untuk mengurangkan perdagangan yang salah.
Parameter RSI boleh ditetapkan dengan fleksibel tetapi pengoptimuman berlebihan dan bias backtest boleh membawa risiko perdagangan langsung.
RSI adalah penunjuk yang mengikuti trend dan bertindak balas perlahan terhadap peristiwa tiba-tiba, dengan beberapa kesan kelewatan.
Tempoh penyimpanan tetap mewajibkan titik mengambil keuntungan dan berhenti-kerugian dan tidak boleh diselaraskan berdasarkan perubahan pasaran.
Mengoptimumkan parameter RSI dan kesan ujian nilai yang berbeza.
Tambah penunjuk lain untuk membentuk sistem gabungan menggunakan kekuatan penunjuk yang berbeza.
Meningkatkan strategi berhenti keuntungan / kerugian untuk membolehkan penyesuaian dinamik berdasarkan keadaan pasaran.
Mengoptimumkan saiz kedudukan untuk menyesuaikan kedudukan secara dinamik berdasarkan keadaan pasaran.
Uji produk yang sesuai untuk strategi, memilih produk cecair dengan volatiliti yang tinggi.
Mengoptimumkan waktu dagangan dan ujian kesan pada strategi.
Strategi ini agak mudah, melaksanakan strategi perdagangan berasaskan ambang menggunakan RSI. Kelebihannya termasuk kesederhanaan, kemudahan pemahaman dan kawalan risiko yang agak baik. Walau bagaimanapun, isu-isu seperti kesukaran pengoptimuman parameter RSI dan keuntungan / kerugian berhenti yang tidak fleksibel wujud. Peningkatan masa depan termasuk pengoptimuman parameter, peningkatan keuntungan / kerugian berhenti, ukuran kedudukan dan lain-lain. Pengoptimuman lanjut diperlukan sebelum perdagangan langsung.
/*backtest start: 2022-10-23 00:00:00 end: 2023-10-29 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/ // © Bitduke //@version=4 // strategy("Simple RSI Buy/Sell at a level", shorttitle="Simple RSI Strategy", overlay=true,calc_on_every_tick=false,pyramiding=1, default_qty_type=strategy.cash,default_qty_value=1000, currency=currency.USD, initial_capital=1000,commission_type=strategy.commission.percent, commission_value=0.075) overbought = input(40, title="overbought value") oversold = input(30, title="oversold value") // Component Test Periods Code Begin testStartYear = input(2018, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2021, "Backtest Stop Year") testStopMonth = input(16, "Backtest Stop Month") testStopDay = input(2, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => true // Component Test Periods Code End ////////////////////////////////////////////////////////////////////// myrsi = rsi(close, 10) > overbought myrsi2 = rsi(close, 10) < oversold barcolor(myrsi ? color.black : na) barcolor(myrsi2 ? color.blue : na) myEntry = myrsi2 and hour(time) <= 9 strategy.entry("Buy Signal", strategy.long, when = myEntry and testPeriod()) // Close 10 bar periods after the condition that triggered the entry //if (myEntry[10]) //strategy.close("Buy Signal") strategy.close("Buy Signal", when = barssince(myEntry) >= 10 or myrsi and testPeriod()) //strategy.entry("Sell Signal",strategy.short, when = myrsi2)