Strategi Pelacakan Tren Dual

Penulis:ChaoZhang, Tanggal: 2023-09-17 18:20:27
Tag:

Gambaran umum

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.

Prinsip Strategi

  1. Gunakan indikator Aroon untuk menentukan arah tren harga. Di atas garis 0 menunjukkan tren naik, sementara di bawah garis 0 menunjukkan tren turun.

  2. Ketika indikator Aroon melintasi di atas garis 0 dari bawah, sinyal beli dipicu.

  3. Jika sudah memiliki posisi, dan penutupan lebih rendah dari harga beli, sementara RSI di bawah 30, itu dianggap oversold, pesanan beli tambahan akan ditempatkan.

  4. Ketika indikator Aroon melintasi di bawah garis 0 dari atas, sinyal keluar penuh dipicu.

  5. Stop loss 5% ditetapkan. Jika kerugian melebihi titik ini, stop loss exit dipicu.

Analisis Keuntungan

  1. Menggunakan indikator Aroon untuk menentukan arah tren dapat secara efektif menangkap titik rotasi pasar.

  2. Indikator RSI membantu mengidentifikasi area overbought dan oversold, menghindari mengejar level tertinggi baru dan menjual level terendah selama perubahan pasar.

  3. Perdagangan dalam kedua arah memungkinkan keuntungan di pasar naik dan turun.

  4. Menetapkan stop loss membantu mengendalikan risiko.

Analisis Risiko

  1. Indikator Aroon memiliki efek keterlambatan, yang mungkin tidak mengalami pembalikan jangka pendek dan mendadak.

  2. Ini tidak dapat secara efektif menangani pasar yang terikat rentang, yang mengarah pada perdagangan yang tidak perlu.

  3. Perdagangan di kedua arah meningkatkan frekuensi perdagangan dan biaya komisi.

  4. Parameter perlu disetel dengan benar untuk beradaptasi dengan kerangka waktu dan produk yang berbeda.

Arahan Optimasi

  1. Gabungkan dengan indikator lain untuk menyaring sinyal dan mengurangi kesalahan yang disebabkan oleh keterlambatan.

  2. Meningkatkan penelitian kuantitatif untuk mengoptimalkan parameter untuk produk yang berbeda.

  3. Tambahkan strategi mengambil keuntungan untuk meningkatkan faktor keuntungan.

  4. Pertimbangkan hanya perdagangan ketika tren jelas untuk mengurangi perdagangan yang tidak efektif.

Ringkasan

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


Lebih banyak