Strategi ini adalah berdasarkan pengenalan dan pengesanan trend dua hala dalam penunjuk Aroon. Penunjuk Aroon dapat menentukan arah trend pasaran dengan berkesan, dan gabungan dengan penunjuk RSI untuk membuat keputusan mengenai kawasan yang terlalu banyak dibeli dan dijual, membentuk strategi pengesanan yang lebih lengkap.
Gunakan indikator Aroon untuk menentukan arah trend harga. Indikator di atas garis 0 adalah trend naik, di bawah garis 0 adalah trend turun.
Apabila indikator Aroon menembusi garisan 0 dari bawah, lakukan pembelian.
Jika gudang telah dibina, dan harga penutupan adalah lebih rendah daripada harga pembelian, dan RSI adalah lebih rendah daripada 30, ia dianggap sebagai oversold, untuk melakukan kenaikan gudang.
Apabila indeks Aroon jatuh ke bawah 0 dari atas, semua saham dijual.
Tetapkan titik hentian 5% dan jika kerugian melebihi titik itu, lakukan hentian kerugian.
Menggunakan Aroon untuk menentukan arah trend, ia dapat menangkap titik pergerakan pasaran dengan berkesan.
Indeks RSI membantu menentukan kawasan overbought dan oversold, mengelakkan mengejar kenaikan dan penurunan pada titik-titik perubahan pasaran.
Perdagangan dua hala, yang membolehkan anda mendapat keuntungan dalam kedua-dua keadaan pasaran yang naik dan turun.
Menetapkan titik henti membantu mengawal risiko.
Indeks Aroon terlewat dan mungkin terlepas perubahan jangka pendek dan mendadak.
Tidak dapat menguruskan pasaran dengan cekap akan menghasilkan lebih banyak transaksi yang tidak perlu.
Perdagangan dua hala meningkatkan frekuensi transaksi dan kos bayaran.
Parameter perlu diselaraskan dengan betul untuk menyesuaikan diri dengan pelbagai kitaran dan varieti.
Gabungan dengan isyarat penapisan indikator lain, mengurangkan kebarangkalian perdagangan yang salah disebabkan kelewatan.
Menambah kajian kuantitatif, mengoptimumkan kombinasi parameter untuk memadankan pelbagai jenis.
Menambah strategi penangguhan dan meningkatkan faktor keuntungan.
Pertimbangkan untuk berdagang hanya apabila trend jelas, mengurangkan perdagangan yang tidak sah.
Strategi ini mengintegrasikan kedua-dua indikator Aroon dan RSI untuk membentuk strategi perdagangan trend dua arah yang lebih lengkap. Namun, parameter yang lebih baik masih perlu ditetapkan, digabungkan dengan indikator penapisan lain untuk mengurangkan kemungkinan perdagangan yang salah.
/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-12 00:00:00
period: 1m
basePeriod: 1m
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/
// © mohanee
//@version=4
// strategy(title="Aroon Oscillator Strategy", overlay=false, pyramiding=2, initial_capital=10000, currency=currency.USD) //default_qty_value=10, default_qty_type=strategy.fixed,
//variables BEGIN
aroonLength=input(169,title="Aroon Length") //square root of 13
rsiLength=input(13, title="RSI Length")
stopLoss = input(title="Stop Loss%", defval=5, minval=1)
//variables END
//RSI
rsi13=rsi(close,rsiLength)
// Drawings
//Aroon oscillator
arronUpper = 100 * (highestbars(high, aroonLength+1) + aroonLength)/aroonLength
aroonLower = 100 * (lowestbars(low, aroonLength+1) + aroonLength)/aroonLength
aroonOsc = arronUpper - aroonLower
aroonMidpoint = 0
oscPlot = plot(aroonOsc, color=color.green)
midLine= plot(aroonMidpoint, color=color.green)
topLine = plot(90,style=plot.style_circles, color=color.green)
bottomLine = plot(-90,style=plot.style_circles, color=color.red)
fill(oscPlot, midLine, color=aroonOsc>0?color.green:color.red, transp=50)
fill(topLine,bottomLine, color=color.blue)
// RSI
//plot(rsi13, title="RSI", linewidth=2, color=color.purple)
//hline(50, title="Middle Line", linestyle=hline.style_dotted)
//obLevel = hline(80, title="Overbought", linestyle=hline.style_dotted)
//osLevel = hline(30, title="Oversold", linestyle=hline.style_dotted)
//fill(obLevel, osLevel, title="Background", color=rsi13 >=30 ? color.green:color.purple, transp=65) // longTermRSI >=50
//Entry--
strategy.entry(id="Long Entry", comment="LE", long=true, when= crossover(aroonOsc,0) ) //crossover(close,ema34) //and close>ema34 //crossover(rsi5Val,rsiBuyLine)
//Add
if(strategy.position_size>=1 and close < strategy.position_avg_price and crossover(rsi13,30))
strategy.order(id="Long Entry", comment="Add", long=true ) //crossover(close,ema34) //and close>ema34 //crossover(rsi5Val,rsiBuyLine) --
stopLossVal= abs(strategy.position_size)>1 ? strategy.position_avg_price*(1-0.5) : 0.00
//close partial
strategy.close(id="Long Entry", comment="Partial X", qty=strategy.position_size/3, when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 90) ) //close<ema55 and rsi5Val<20 //ema34<ema55
//close All
strategy.close(id="Long Entry", comment="Exit All", when=abs(strategy.position_size)>=1 and crossunder(aroonOsc, 0) ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89
//close All on stop loss
strategy.close(id="Long Entry", comment="Stoploss X", when=abs(strategy.position_size)>=1 and close < stopLossVal ) //close<ema55 and rsi5Val<20 //ema34<ema55 //close<ema89