Purata Pergerakan Dinamik dan Strategi Perdagangan Saluran Celtic


Tarikh penciptaan: 2023-12-25 13:36:40 Akhirnya diubah suai: 2023-12-25 13:36:40
Salin: 0 Bilangan klik: 717
1
fokus pada
1629
Pengikut

Purata Pergerakan Dinamik dan Strategi Perdagangan Saluran Celtic

Ringkasan: Strategi ini menggabungkan penggunaan purata bergerak dinamik, indikator super trend, tahap sokongan dan rintangan yang berpotensi, dan saluran Kelt, untuk menilai perubahan harga pada pelbagai peringkat, untuk menjejaki perdagangan trend secara automatik. Keuntungan strategi ini adalah bahawa isyarat perdagangan dihasilkan dengan jelas, dengan kadar kemenangan yang tinggi, dan dengan langkah-langkah pengurusan risiko, risiko perdagangan tunggal dapat dikendalikan.

Prinsip-prinsip strategi: Strategi ini menggunakan purata bergerak yang bergerak untuk menentukan arah trend jangka pendek dalam harga. Secara khusus, mengikut pilihan pengguna, skrip menggunakan purata bergerak sederhana atau purata bergerak indeks. Apabila harga tertinggi, terendah dan harga penutupan lebih tinggi daripada semalam, ia dianggap sebagai tren multi-kepala; apabila harga tertinggi, terendah dan harga penutupan lebih rendah daripada semalam, ia dianggap sebagai tren kosong.

Selain itu, strategi ini juga menggunakan indikator super trend untuk mengenal pasti trend jangka panjang. Indikator super trend, yang digabungkan dengan purata pergerakan sebenar, menghasilkan isyarat beli apabila harga berjalan di atas lintasan dan harga penutupan semalam berada di bawah lintasan.

Untuk menyaring isyarat palsu, strategi ini menggunakan saluran kelta untuk memetakan saluran naik dan turun. Menggabungkan ruang saluran dengan indikator super trend, perdagangan trend dapat dilacak. Khususnya, isyarat pembelian yang kuat dihasilkan apabila harga menembusi ke atas dari bawah, dan harga penutupan semalam lebih rendah daripada yang teratas; isyarat jual yang kuat dihasilkan apabila harga menembusi ke bawah dari atas, dan harga penutupan semalam lebih tinggi daripada yang terbawah.

Selain itu, skrip juga membantu memetakan tahap sokongan dan rintangan yang berpotensi, untuk menentukan tahap harga utama. Secara keseluruhan, gabungan pelbagai lapisan indikator, syarat penembusan yang ketat, secara mendasar meningkatkan kualiti isyarat perdagangan.

Kelebihan strategi:

  1. Kombinasi indikator pelbagai strategi, menghasilkan isyarat perdagangan yang jelas. Saluran kelta menentukan julat harga utama, digabungkan dengan purata bergerak dinamik dan indikator supertrend untuk menentukan arah trend dengan ketat, yang berkesan menapis pasaran palsu.

  2. Keadaan penembusan yang ketat memastikan kualiti isyarat perdagangan. Harga perlu benar-benar menembusi saluran naik dan turun, sambil menggabungkan kedudukan harga penutupan semalam, untuk mengelakkan terikat.

  3. Indikator Super Trend mampu menangkap trend jangka panjang dan menjejaki trend yang berorientasikan garis panjang.

  4. Potensi sokongan dan rintangan membantu menentukan titik kritikal harga dan peluang untuk membalikkannya.

  5. Frekuensi dagangan secara keseluruhan adalah sederhana, tidak terlalu padat. Hanya pada titik-titik penting yang menghantar isyarat berkualiti tinggi, dengan kadar kemenangan yang tinggi.

Risiko strategik:

  1. Dalam keadaan yang bergolak, penunjuk mungkin mengeluarkan isyarat yang menyesatkan, menyebabkan kerugian perdagangan yang tidak berkesan. Ia boleh dioptimumkan dengan menyesuaikan parameter, atau keluar dari SetPosition dengan campur tangan manusia.

  2. Titik hentian untuk menembusi saluran atas dan bawah mungkin terlalu besar, risiko kerugian tunggal tinggi. Julat hentian boleh dikurangkan dengan sewajarnya, atau hentian masa boleh digunakan.

  3. Semasa mengikuti trend garis panjang, mungkin terlepas beberapa peluang pembalikan garis pendek di tengah. Pengesanan tempatan boleh disokong dengan penggunaan indikator getaran.

  4. Sistem purata bergerak kadang-kadang bertindak balas lambat terhadap kejadian yang tidak dijangka. Dalam kes ini, pertimbangkan untuk menurunkan parameter purata bergerak, atau menggunakan bantuan penunjuk lain.

Strategi untuk mengoptimumkan: Strategi ini boleh dioptimumkan mengikut keadaan pasaran dan keutamaan perdagangan yang berbeza dalam beberapa arah:

  1. Menyesuaikan parameter purata bergerak untuk mengoptimumkan sensitiviti sistem penunjuk kepada perubahan harga.

  2. Menyesuaikan kitaran ATR dan parameter faktor penunjuk trend super, mengoptimumkan peranan penunjuk trend super.

  3. Menyesuaikan titik hentian untuk mengimbangi peratusan kerugian tunggal. Anda juga boleh menggunakan hentian masa untuk mengawal risiko kerugian tunggal.

  4. Menambah petunjuk tambahan, seperti pita Brin, petunjuk KD, dan lain-lain, untuk menilai lebih lanjut peluang penyesuaian dan pembalikan tempatan.

  5. Menggunakan pembolehubah seperti buka, tutup dan lain-lain untuk memetakan grafik garis K, intuitif menilai harga.

  6. Mengoptimumkan parameter, membandingkan semula kesan kombinasi parameter yang berbeza.

Kesimpulannya: Strategi ini menggabungkan penggunaan pelbagai petunjuk seperti purata bergerak dinamik, indikator trend super dan saluran kelta untuk mengikuti perdagangan trend secara automatik. Kelebihan utamanya adalah: menghasilkan isyarat yang jelas, peluang yang lebih tinggi untuk menang; mengesan trend garis panjang, menangkap peluang arah; menghentikan titik kerugian yang munasabah, mengawal risiko kerugian tunggal. Kombinasi pelbagai indikator yang berkesan menapis penembusan palsu dengan ketat, memastikan isyarat perdagangan yang dikeluarkan berkualiti tinggi, sesuai untuk perdagangan automatik.

Kod sumber strategi
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mahesh_linux1989

//@version=5
strategy("Intraday Trend Identifier with Dynamic Moving Averages, Super Trend, VWAP, and Keltner Signals", overlay=true, shorttitle="ITI Keltner")

// Input for Moving Average Type
maType = input("SMA", title="Moving Average Type")

// Input for SMA Length
smaLength = input.int(20, title="SMA Length", minval=1, maxval=200)

// Input for EMA Length
emaLength = input.int(20, title="EMA Length", minval=1, maxval=200)

// Selecting Moving Average
selectedMA = maType == "SMA" ? ta.sma(close, smaLength) : ta.ema(close, emaLength)

// Bullish conditions
bullish = high > high[1] and low > low[1] and close > high[1]

// Bearish conditions
bearish = high < high[1] and low < low[1] and close < low[1]

// Strategy logic
longCondition = bullish and not bearish and close > selectedMA
shortCondition = bearish and not bullish and close < selectedMA

if (longCondition)
    strategy.entry("Buy", strategy.long)

if (shortCondition)
    strategy.entry("Sell", strategy.short)

// Exit conditions
bullishExit = close < selectedMA
bearishExit = close > selectedMA

if (bullishExit)
    strategy.close("Buy")

if (bearishExit)
    strategy.close("Sell")

// Keltner Channels
basisKC = maType == "SMA" ? ta.sma(close, smaLength) : ta.ema(close, emaLength)
atrKC = ta.atr(14)
upperKC = basisKC + atrKC
lowerKC = basisKC - atrKC

// Super Trend
atrLengthST = input.int(7, title="ATR Length for Super Trend")
factorST = input.int(2, title="Factor for Super Trend")

atrValueST = ta.atr(atrLengthST)

var float upperST = na
var float lowerST = na

if (close[1] > upperST[1])
    upperST := close[1] - factorST * atrValueST
else
    upperST := close - factorST * atrValueST

if (close[1] < lowerST[1])
    lowerST := close[1] + factorST * atrValueST
else
    lowerST := close + factorST * atrValueST

// Potential Support and Resistance
potentialSupport = ta.lowest(low, smaLength)
potentialResistance = ta.highest(high, smaLength)

// VWAP
//vwapValue = ta.vwap(close, volume)

// Keltner Signals
buySignalKC = close > upperKC and close[1] <= upperKC[1]
sellSignalKC = close < lowerKC and close[1] >= lowerKC[1]

// Super Trend Signals
buySignalST = close > upperST and close[1] <= upperST[1]
sellSignalST = close < lowerST and close[1] >= lowerST[1]

// Plotting
plot(basisKC, color=color.gray, title="Keltner Channel Basis")
plot(upperKC, color=color.blue, title="Upper Keltner Channel")
plot(lowerKC, color=color.blue, title="Lower Keltner Channel")

plot(upperST, color=color.green, title="Super Trend Upper")
plot(lowerST, color=color.red, title="Super Trend Lower")

plot(potentialSupport, color=color.green, title="Potential Support")
plot(potentialResistance, color=color.red, title="Potential Resistance")

//plot(vwapValue, color=color.orange, title="VWAP")

// Plot Bullish and Bearish arrows
plotarrow(buySignalST ? 1 : na, colorup=color.green, offset=-1, title="Bullish Arrow ST")
plotarrow(sellSignalST ? -1 : na, colordown=color.red, offset=-1, title="Bearish Arrow ST")

plotarrow(buySignalKC ? 1 : na, colorup=color.blue, offset=-1, title="Bullish Arrow KC")
plotarrow(sellSignalKC ? -1 : na, colordown=color.orange, offset=-1, title="Bearish Arrow KC")

// Plot candlesticks
plot(open, color=color.gray)
plot(close, color=bullish ? color.green : bearish ? color.red : color.gray)
plot(high, color=bullish ? color.green : bearish ? color.red : color.gray)
plot(low, color=bullish ? color.green : bearish ? color.red : color.gray)