
Strategi ini memanfaatkan RSI, MACD rata-rata, Bollinger Bands, dan stop loss untuk melakukan perdagangan bergulir multi-faktor. Strategi ini pertama-tama menilai apakah beberapa indikator teknis mengirimkan sinyal beli atau jual secara bersamaan, dan jika demikian, melakukan operasi beli atau jual yang sesuai. Strategi ini juga menggunakan stop loss dan stop loss untuk mengunci keuntungan dan mengendalikan risiko.
Strategi ini terdiri dari beberapa bagian utama:
Faktor penilaian
Masuk dan keluar
Optimasi Strategi
Strategi ini tidak hanya mempertimbangkan satu indikator teknis, tetapi menggabungkan beberapa faktor seperti RSI, MACD, TD sequence, sehingga dapat mengurangi sinyal palsu yang disebabkan oleh satu indikator, meningkatkan keakuratan masuk.
Indikator seperti RSI, MACD memiliki karakteristik dinamis yang lebih jelas, dapat menangkap perubahan tren harga saham. Indikator ini lebih sensitif terhadap pergeseran dibandingkan dengan indikator yang mengikuti tren seperti garis rata-rata.
Stop-loss yang bergerak dapat berhenti dengan status operasi yang bergerak, untuk mengunci keuntungan dengan lebih baik. Pengaturan Stop-Loss dapat mengontrol kerugian tunggal.
Strategi ini menggabungkan indikator teknis yang umum digunakan dan memiliki beberapa universalitas. Aturan relatif sederhana dan jelas, mudah dipahami dan dioperasikan.
Strategi ini didasarkan pada manipulasi pasar mundur dan merupakan strategi berbalik. Dalam pasar bull, penggunaan strategi ini mungkin sering mengalami kerugian dan tidak efektif.
Jika parameter diatur terlalu sensitif, frekuensi transaksi mungkin terlalu tinggi, meningkatkan biaya transaksi dan kehilangan slippage.
Strategi ini bergantung pada sinyal yang sama dari berbagai indikator, tetapi kadang-kadang indikator dapat berselisih dan menghasilkan sinyal yang salah.
Setel Stop Loss Fixed Point yang mungkin akan dirobek, Anda dapat mengatur Stop Loss Dinamis atau pertimbangkan untuk mengganti saham untuk menghindari risiko tersebut.
Anda dapat menguji parameter RSI dan parameter periodik garis rata-rata untuk menemukan kombinasi dengan frekuensi perdagangan yang lebih rendah.
Anda dapat mengatur parameter untuk meningkatkan efektivitas strategi dengan menggabungkan karakteristik statistik dari saham, seperti volatilitas, likuiditas, dan sebagainya.
Parameter strategi dapat disesuaikan dengan indeks kepanikan pasar seperti VIX, untuk mengurangi frekuensi perdagangan saat pasar panik.
Anda dapat menguji berbagai periode kepemilikan posisi untuk melihat apakah kepemilikan jangka panjang atau rotasi jangka pendek mempengaruhi efektivitas strategi.
Dengan menggunakan metode ini, dapat dipelajari cara-cara yang lebih canggih untuk menghentikan kerusakan dan mengukur efeknya.
Strategi ini mempertimbangkan berbagai indikator teknis secara menyeluruh, menggunakan stop loss bergerak untuk mengunci keuntungan dan mengendalikan risiko dengan memastikan akurasi masuk yang lebih tinggi. Strategi ini sederhana dan jelas, mudah dipahami, dapat meningkatkan efektivitas lebih lanjut dengan optimasi parameter dan pilihan indikator. Namun, strategi ini lebih cocok untuk situasi pasar berlawanan dan bergolak, dan kemungkinannya lebih buruk dalam situasi kenaikan yang berkelanjutan.
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("RSI, TD Seq, MACD, BB Strategy - Calculation Trailing Profit",overlay=true)
RSIDifference = input(-7, minval=-50, maxval=50, title="RSI Difference")
TD = close > close[4] ?nz(TD[1])+1:0
TS = close < close[4] ?nz(TS[1])+1:0
TDUp = TD - valuewhen(TD < TD[1], TD , 1 )
TDDn = TS - valuewhen(TS < TS[1], TS , 1 )
TDcheckUP = iff(TD == 2, true, false)
TDCheckDOWN = iff(TS == 2, true, false)
[_, _, histLine] = macd(close, 12, 26, 9)
MACDCheckDown = iff(histLine > 0 and histLine[1] > 0 and histLine[2] > 0 and histLine[3] > 0 and histLine[4] > 0, true, false)
MACDCheckUp = iff(histLine < 0 and histLine[1] < 0 and histLine[2] < 0 and histLine[3] < 0 and histLine[4] < 0, true, false)
RSICal = rsi(close, 14)
RSICalNewUp = 50 + RSIDifference
RSICalNewDown = 50 - RSIDifference
RSICheckUp = iff(RSICal <= RSICalNewUp, true, false)
RSICheckDown = iff(RSICal >= RSICalNewDown, true, false)
basis = sma(close, 20)
dev = 2 * stdev(close, 20)
upperBB = basis + dev
lowerBB = basis - dev
BBCheckUp = iff(close > upperBB, true, false)
BBCheckDown = iff(close < lowerBB, true, false)
//BBCheckUp = false
//BBCheckDown = false
BuyCheck = iff(TDcheckUP == true and MACDCheckUp == true and RSICheckUp == true and BBCheckUp == false, true, false)
SellCheck = iff(TDCheckDOWN == true and MACDCheckDown == true and RSICheckDown == true and BBCheckDown == false, true, false)
ProfitStratA = input(50, minval=0, maxval=10000, title="Profit", step=0.5)
ProfitTrailingA = input(10, minval=0, maxval=10000, title="Profit", step=0.5)
useStopLoss = input(false, title="Use Stop Loss?")
LossstratA = input(145, minval=0, maxval=10000, title="Stop Loss", step=0.5)
colB = input(100, minval=0, maxval=100, title="0-show / 100-hide Strategy", step=100)
ProfitStrat = ProfitStratA * 10
ProfitTrailing = ProfitTrailingA * 10
Lossstrat = useStopLoss ? LossstratA * 10 : 1000000
if (strategy.position_size > 0)
strategy.exit("BuyClose", "Buy", trail_points=ProfitStrat, trail_offset=ProfitTrailing, loss=Lossstrat)
if (strategy.position_size < 0)
strategy.exit("SellClose", "Sell", trail_points=ProfitStrat, trail_offset=ProfitTrailing, loss=Lossstrat)
if (BuyCheck == true and strategy.position_size == 0)
strategy.entry("Buy", strategy.long, comment="Long Entry")
if (SellCheck == true and strategy.position_size == 0)
strategy.entry("Sell", strategy.short, comment="Short Entry")
plotshape(BuyCheck, color=blue, transp=colB, style=shape.arrowup, text="Buy\n", location=location.belowbar)
plotshape(SellCheck, color=orange, transp=colB, style=shape.arrowdown, text="Sell\n", location=location.abovebar)