Strategi ini didasarkan pada indikator Aroon untuk mengidentifikasi dan melacak tren di kedua arah. Indikator Aroon dapat secara efektif menentukan arah tren pasar. Dikombinasikan dengan indikator RSI, ini membentuk strategi pelacakan yang relatif lengkap.
Gunakan indikator Aroon untuk menentukan arah tren harga. Di atas garis 0 menunjukkan tren naik, sementara di bawah garis 0 menunjukkan tren turun.
Ketika indikator Aroon melintasi di atas garis 0 dari bawah, sinyal beli dipicu.
Jika sudah memiliki posisi, dan penutupan lebih rendah dari harga beli, sementara RSI di bawah 30, itu dianggap oversold, pesanan beli tambahan akan ditempatkan.
Ketika indikator Aroon melintasi di bawah garis 0 dari atas, sinyal keluar penuh dipicu.
Stop loss 5% ditetapkan. Jika kerugian melebihi titik ini, stop loss exit dipicu.
Menggunakan indikator Aroon untuk menentukan arah tren dapat secara efektif menangkap titik rotasi pasar.
Indikator RSI membantu mengidentifikasi area overbought dan oversold, menghindari mengejar level tertinggi baru dan menjual level terendah selama perubahan pasar.
Perdagangan dalam kedua arah memungkinkan keuntungan di pasar naik dan turun.
Menetapkan stop loss membantu mengendalikan risiko.
Indikator Aroon memiliki efek keterlambatan, yang mungkin tidak mengalami pembalikan jangka pendek dan mendadak.
Ini tidak dapat secara efektif menangani pasar yang terikat rentang, yang mengarah pada perdagangan yang tidak perlu.
Perdagangan di kedua arah meningkatkan frekuensi perdagangan dan biaya komisi.
Parameter perlu disetel dengan benar untuk beradaptasi dengan kerangka waktu dan produk yang berbeda.
Gabungkan dengan indikator lain untuk menyaring sinyal dan mengurangi kesalahan yang disebabkan oleh keterlambatan.
Meningkatkan penelitian kuantitatif untuk mengoptimalkan parameter untuk produk yang berbeda.
Tambahkan strategi mengambil keuntungan untuk meningkatkan faktor keuntungan.
Pertimbangkan hanya perdagangan ketika tren jelas untuk mengurangi perdagangan yang tidak efektif.
Strategi ini mengintegrasikan indikator Aroon dan RSI untuk membentuk sistem perdagangan tren dua arah yang relatif lengkap. Namun, optimasi lebih lanjut dari parameter dan kombinasi dengan indikator penyaringan lainnya masih diperlukan untuk mengurangi kesalahan. Dengan penyesuaian parameter yang tepat dan pengendalian risiko, strategi ini memiliki potensi untuk mencapai hasil kelebihan yang relatif stabil.
/*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