Strategi ini mengenal pasti trend menggunakan saluran pembalikan purata berdasarkan sistem SonicR dan perdagangan pecah untuk trend berikut. Ia menggabungkan indikator saluran dan purata bergerak untuk perdagangan trend sistematik.
Logik Strategi:
Mengira saluran pembalikan purata dengan EMA dekat sebagai garis tengah dan EMA tinggi/rendah sebagai jalur atas/bawah.
Mengira garis purata bergerak jangka panjang sebagai garis isyarat dagangan.
Pergi panjang apabila hampir pecah di atas garis isyarat.
Pergi pendek apabila dekat pecah di bawah garis isyarat.
Gunakan saluran mengisi untuk imej.
Kelebihan:
Saluran jelas menentukan trend dan penembusan.
Purata bergerak menapis bunyi jangka pendek.
Peraturan mudah mengelakkan campur tangan emosi.
Risiko:
Saluran yang ketinggalan dan purata bergerak mungkin terlepas entri terbaik.
Penyesuaian parameter diperlukan untuk mengelakkan isyarat palsu yang berlebihan.
Sistem mekanikal boleh menghadapi pengeluaran yang lebih besar, yang memerlukan pengurusan risiko.
Ringkasnya, strategi berasaskan SonicR ini mengenal pasti arah saluran untuk perdagangan breakout sistematik.
/*backtest start: 2022-09-11 00:00:00 end: 2022-11-12 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //Sonic R // strategy("SonicR",shorttitle="Sonic R",overlay=true,default_qty_value=10000,initial_capital=1000,currency=currency.USD) EMA = input(defval=89, title="EMA Signal") HiLoLen = input(34, minval=2,title="High Low channel Length") pacC = ema(close,HiLoLen) pacL = ema(low,HiLoLen) pacH = ema(high,HiLoLen) DODGERBLUE = #1E90FFFF // Plot the Price Action Channel (PAC) base on EMA high,low and close L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=50) H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=50) C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=0) fill(L,H, color=aqua,transp=90,title="Fill HiLo PAC") //Moving Average signalMA =ema(close,EMA) plot(signalMA,title="EMA Signal",color=white,linewidth=4,style=line) //Strategy goLong() => crossover(pacC,signalMA) strategy.entry(id = "Go to Buy", long = true, when = goLong()) goShort() => crossunder(pacC,signalMA) strategy.entry(id = "Go to Sell", long = false, when = goShort())