Sumber dimuat naik... memuat...

G-Trend EMA ATR Strategi Perdagangan Pintar

Penulis:ChaoZhang, Tarikh: 2024-06-14 15:35:15
Tag:EMAATR

img

Ringkasan

Strategi ini menggunakan penunjuk G-Channel untuk mengenal pasti arah trend pasaran, sambil menggabungkan penunjuk EMA dan ATR untuk mengoptimumkan titik kemasukan dan keluar. Idea utama adalah: pergi panjang apabila harga memecahkan di atas jalur atas G-Channel dan di bawah EMA; pergi pendek apabila harga memecahkan di bawah jalur bawah dan di atas EMA. Sementara itu, ATR digunakan untuk menetapkan tahap stop loss dan take profit dinamik, dengan stop loss pada 2 kali ATR dan take profit pada 4 kali ATR. Pendekatan ini dapat menangkap lebih banyak keuntungan di pasaran trend sambil mengawal risiko dengan ketat.

Prinsip Strategi

  1. Mengira jalur atas dan bawah G-Channel: gunakan harga penutupan semasa dan harga tinggi dan rendah sebelumnya untuk mengira jalur atas dan bawah G-Channel.
  2. Menentukan arah trend: memerhatikan hubungan antara harga dan jalur G-Channel untuk menentukan trend menaik atau menurun.
  3. Mengira EMA: Mengira nilai EMA untuk tempoh yang ditentukan.
  4. Mengira ATR: Mengira nilai ATR untuk tempoh yang ditentukan.
  5. Menentukan syarat beli/jual: mencetuskan kedudukan panjang apabila harga melanggar band atas dan di bawah EMA; mencetuskan kedudukan pendek apabila harga melanggar band bawah dan di atas EMA.
  6. Set stop-loss dan take-profit: stop-loss ialah harga masuk - 2ATR, mengambil keuntungan adalah harga kemasukan + 4ATR (panjang); stop-loss ialah harga masuk + 2ATR, mengambil keuntungan adalah harga kemasukan - 4ATR (pendek).
  7. Pelaksanaan strategi: apabila syarat beli/jual dipenuhi, pelaksanaan operasi masuk yang sepadan dan menetapkan stop-loss dan mengambil keuntungan dengan sewajarnya.

Kelebihan Strategi

  1. Mengikuti trend: strategi secara berkesan menangkap trend pasaran menggunakan G-Channel, sesuai untuk pasaran trend.
  2. Stop-loss dan take-profit dinamik: ATR digunakan untuk menyesuaikan tahap stop-loss dan take-profit secara dinamik, menyesuaikan diri dengan lebih baik dengan turun naik pasaran.
  3. Kawalan risiko: Stop-loss ditetapkan pada 2 kali ATR, mengawal risiko setiap perdagangan dengan ketat.
  4. Sederhana dan mudah digunakan: logik strategi jelas dan mudah, sesuai untuk kebanyakan pelabur.

Risiko Strategi

  1. Pasaran yang berbeza-beza: di pasaran yang berbeza-beza, isyarat perdagangan yang kerap boleh menyebabkan peningkatan kerugian.
  2. Pengoptimuman parameter: instrumen dagangan yang berbeza dan jangka masa yang berbeza mungkin memerlukan parameter yang berbeza; penggunaan buta boleh membawa risiko.
  3. Peristiwa angsa hitam: dalam keadaan pasaran yang melampau dengan turun naik harga yang drastik, stop-loss mungkin gagal dilaksanakan dengan berkesan.

Arahan Pengoptimuman Strategi

  1. Penapisan trend: menambah keadaan penapisan trend seperti persilangan MA, DMI, dan lain-lain, untuk mengurangkan perdagangan di pasaran yang berbeza.
  2. Pengoptimuman parameter: mengoptimumkan parameter untuk instrumen dan jangka masa yang berbeza untuk mencari kombinasi parameter yang terbaik.
  3. Pengurusan kedudukan: menyesuaikan kedudukan secara dinamik berdasarkan turun naik pasaran untuk meningkatkan penggunaan modal.
  4. Gabungan strategi: menggabungkan strategi ini dengan strategi lain yang berkesan untuk meningkatkan kestabilan.

Ringkasan

Strategi ini membina sistem perdagangan trend yang mudah dan berkesan menggunakan penunjuk seperti G-Channel, EMA, dan ATR. Ia dapat mencapai hasil yang baik di pasaran trend, tetapi melakukan purata di pasaran yang berbeza.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/
strategy ("G-Channel Trend Detection with EMA Strategy and ATR", shorttitle="G-Trend EMA ATR Strategy", overlay=true)

// Inputs for G-Channel
length = input(100, title="G-Channel Length")
src = input(close, title="Source")

// G-Channel Calculation
var float a = na
var float b = na
a := max(src, nz(a[1])) - (nz(a[1] - b[1]) / length)
b := min(src, nz(b[1])) + (nz(a[1] - b[1]) / length)
avg = (a + b) / 2

// G-Channel Signals
crossup = b[1] < close[1] and b > close
crossdn = a[1] < close[1] and a > close
bullish = barssince(crossdn) <= barssince(crossup)
c = bullish ? color.lime : color.red

// Plot G-Channel Average
p1 = plot(avg, "Average", color=c, linewidth=1, transp=90)
p2 = plot(close, "Close price", color=c, linewidth=1, transp=100)
fill(p1, p2, color=c, transp=90)

// Show Buy/Sell Labels
showcross = input(true, title="Show Buy/Sell Labels")
plotshape(showcross and not bullish and bullish[1] ? avg : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="Sell", textcolor=color.white, transp=0, offset=-1)
plotshape(showcross and bullish and not bullish[1] ? avg : na, location=location.absolute, style=shape.labelup, color=color.lime, size=size.tiny, text="Buy", textcolor=color.white, transp=0, offset=-1)

// Inputs for EMA
emaLength = input(50, title="EMA Length")
emaValue = ema(close, emaLength)

// Plot EMA
plot(emaValue, title="EMA", color=color.blue, linewidth=1)

// ATR Calculation
atrLength = input(14, title="ATR Length")
atrValue = atr(atrLength)

// Strategy Conditions
buyCondition = bullish and close < emaValue
sellCondition = not bullish and close > emaValue

// Stop Loss and Take Profit Levels
longStopLoss = close - 2 * atrValue
longTakeProfit = close + 4 * atrValue
shortStopLoss = close + 2 * atrValue
shortTakeProfit = close - 4 * atrValue

// Execute Strategy with ATR-based stop loss and take profit
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=longStopLoss, limit=longTakeProfit)

if (sellCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=shortStopLoss, limit=shortTakeProfit)

// Plot Buy/Sell Signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", offset=-1)
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", offset=-1)


Berkaitan

Lebih lanjut