Strategi Mengikuti Tren Saluran Celtic Golden Cross


Tanggal Pembuatan: 2023-11-02 14:31:10 Akhirnya memodifikasi: 2023-11-02 14:31:10
menyalin: 1 Jumlah klik: 691
1
fokus pada
1617
Pengikut

Strategi Mengikuti Tren Saluran Celtic Golden Cross

Ringkasan

Gold Cross Celtic Channel Trend Tracking Strategi adalah strategi yang hanya melakukan perdagangan di arah tren. Ini menggabungkan moving average Gold Cross dan Celtic Channel sebagai sinyal masuk untuk menangkap arah tren.

Prinsip

Strategi ini menggunakan dua rata-rata bergerak, yaitu rata-rata bergerak jangka pendek dan rata-rata bergerak jangka panjang, untuk membentuk persilangan emas dan persilangan mati untuk menilai arah tren. Pada saat yang sama, ia menggunakan kelipatan yang didefinisikan pengguna untuk memetakan tren naik dan turun dari Saluran Celtic, yang menghasilkan sinyal perdagangan ketika harga menembus saluran.

Secara khusus, strategi pertama menilai apakah rata-rata bergerak jangka panjang berada di atas rata-rata bergerak jangka pendek, dan jika demikian, itu adalah persilangan emas, yang menilai tren naik; jika rata-rata bergerak jangka pendek berada di bawah rata-rata bergerak jangka panjang, itu adalah persilangan kematian, yang menilai tren turun.

Berdasarkan penilaian tren, jika harga menembus tren naik, menghasilkan sinyal melakukan lebih banyak; Jika harga jatuh dari tren, menghasilkan sinyal melakukan lebih sedikit. Pengguna dapat menyesuaikan sendiri siklus rata-rata bergerak dan lebar saluran, sehingga menyesuaikan parameter strategi.

Setelah masuk, strategi menggunakan stop loss stop loss ATR yang ditentukan pengguna untuk mengatur stop loss stop loss. Selain itu, strategi juga menyediakan tambahan terobosan stop loss dan kondisi stop loss, yang dapat mengontrol posisi dengan lebih fleksibel.

Analisis Keunggulan

Strategi ini menggabungkan keuntungan dari trend tracking dan channel breakout, yang dapat secara efektif menilai tren pasar dan menangkap peluang tren. Keuntungan spesifiknya adalah sebagai berikut:

  1. Dengan menggunakan golden cross untuk menentukan arah tren, Anda dapat secara efektif menyaring transaksi noise yang tidak sesuai dengan tren besar.

  2. Penembusan Celtic Gateway, dikombinasikan dengan penilaian arah tren, dapat meningkatkan akurasi waktu masuk ke pasar.

  3. Stop loss dapat mengunci keuntungan dan mengontrol risiko secara aktif.

  4. Parameter strategi dapat disesuaikan secara fleksibel untuk berbagai varietas dan lingkungan pasar.

  5. Anda dapat melakukan lebih banyak shorting pada saat yang sama untuk memperluas jangkauan strategi.

Analisis risiko

Meskipun ada banyak keuntungan dari strategi ini, ada beberapa risiko yang perlu diperhatikan:

  1. Ada risiko untuk melewatkan kesempatan untuk berbalik.

  2. Jika tren besar berubah, mungkin ada risiko kerugian yang ditimbulkan.

  3. Pengaturan parameter yang tidak tepat dapat menyebabkan perdagangan yang terlalu longgar atau terlalu sering.

  4. Ini adalah risiko yang harus ditanggung.

  5. Ada beberapa risiko dari kesesuaian kurva.

Untuk ini, risiko dapat dikurangi dengan mengoptimalkan parameter, menyesuaikan siklus rata-rata bergerak pada waktu yang tepat, atau mengurangi ukuran posisi dengan tepat.

Optimalkan Pikiran

Strategi ini masih bisa dioptimalkan lebih jauh:

  1. Anda dapat mempertimbangkan untuk menambahkan lebih banyak indikator penilaian, membentuk model multi-faktor, meningkatkan akurasi strategi. Misalnya, menambahkan MACD, RSI, dll.

  2. Parameter dapat dioptimalkan berdasarkan pembelajaran mesin untuk menyesuaikan dengan lingkungan pasar yang berbeda.

  3. Anda dapat mempertimbangkan untuk secara dinamis menyesuaikan kondisi stop loss Anda untuk mengejar keuntungan yang lebih besar dengan asumsi bahwa Anda menjamin keuntungan.

  4. Ukuran posisi dapat disesuaikan dengan dinamika perubahan volatilitas.

  5. Mempelajari preferensi parameter dari berbagai varietas, membuat kombinasi parameter yang sesuai untuk berbagai varietas.

  6. Menambahkan mekanisme untuk mengurangi frekuensi transaksi untuk mengurangi dampak dari biaya transaksi.

Meringkaskan

Strategi pelacakan tren saluran Celtic Cross Gold adalah strategi pelacakan tren yang relatif stabil dan dapat diandalkan secara keseluruhan. Ini menggabungkan keuntungan dari penilaian tren dan terobosan saluran, yang dapat secara efektif mengidentifikasi arah tren pasar dan memilih peluang perdagangan dengan probabilitas tinggi. Dengan optimasi parameter dan perbaikan mekanisme, strategi ini dapat menjadi alat perdagangan kuantitatif yang kuat.

Kode Sumber Strategi
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © OversoldPOS

//@version=5
// strategy("Keltner Channel Strategy by OversoldPOS", overlay=true,initial_capital = 100000,default_qty_type = strategy.percent_of_equity,default_qty_value = 10, commission_type = strategy.commission.cash_per_order, commission_value = 7)

// Parameters
length = input(21, title="MA Length")
Entrymult = input(1, title="Entry ATR")
profit_mult = input(4, title="Profit Taker")
exit_mult = input(-1, title="Exit ATR")

// Moving Average Type Input
ma_type = input.string("SMA", title="Moving Average Type", options=["SMA", "EMA", "WMA"])

// Calculate Keltner Channels for different ATR multiples
atr_value = ta.atr(length)

basis = switch ma_type
    "SMA" => ta.sma(close, length)
    "EMA" => ta.ema(close, length)
    "WMA" => ta.wma(close, length)
 

//
EntryKeltLong = basis + Entrymult * ta.atr(10)
EntryKeltShort = basis - Entrymult * ta.atr(10)
upper_channel1 = basis + 1 * ta.atr(10)
lower_channel1 = basis - 1 * ta.atr(10)
upper_channel2 = basis + 2 * ta.atr(10)
lower_channel2 = basis - 2 * ta.atr(10)
upper_channel3 = basis + 3 * ta.atr(10)
lower_channel3 = basis - 3 * ta.atr(10)
upper_channel4 = basis + 4 * ta.atr(10)
lower_channel4 = basis - 4 * ta.atr(10)

// Entry condition parameters
long_entry_condition = input(true, title="Long Positions")
short_entry_condition = input(true, title="Enable Short Positions")

// Additional conditions for long and short entries
is_long_entry = ta.ema(close, 20) > ta.ema(close, 50)
is_short_entry = ta.ema(close, 20) < ta.ema(close, 50)

// Additional conditions for long and short entries
MAShort =  input(50, title="Short MA for Golden Cross")
MALong =  input(200, title="Long MA for Golden Cross")
is_long_entry2 = ta.ema(close, MAShort) > ta.ema(close, MALong)
is_short_entry2 = ta.ema(close, MAShort) < ta.ema(close, MALong)

// Exit condition parameters
long_exit_condition1_enabled = input(true, title="Enable Long Profit Taker")
long_exit_condition2_enabled = input(true, title="Enable Long Stop")
short_exit_condition1_enabled = input(true, title="Enable Short Profit Taker")
short_exit_condition2_enabled = input(true, title="Enable Short Stop")

// Take Profit condition parameters
take_profit_enabled = input(true, title="Enable Take Profit Condition")

Takeprofit = basis + profit_mult * atr_value
STakeprofit = basis - profit_mult * atr_value

// Long entry condition
long_condition = long_entry_condition and ta.crossover(close, EntryKeltLong) and is_long_entry2

// Short entry condition
short_condition = short_entry_condition and ta.crossunder(close, EntryKeltShort) and is_short_entry2

// Exit conditions
long_exit_condition1 = long_exit_condition1_enabled and close > Takeprofit
long_exit_condition2 = long_exit_condition2_enabled and close < basis + exit_mult * atr_value
short_exit_condition1 = short_exit_condition1_enabled and close < STakeprofit
short_exit_condition2 = short_exit_condition2_enabled and close > basis - exit_mult * atr_value

// Strategy logic
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

if (long_exit_condition1 or long_exit_condition2)
    strategy.close("Long")

if (short_exit_condition1 or short_exit_condition2)
    strategy.close("Short")

// Moving Averages
var float MA1 = na
var float MA2 = na

if (ma_type == "SMA")
    MA1 := ta.sma(close, MAShort)
    MA2 := ta.sma(close, MALong)
else if (ma_type == "EMA")
    MA1 := ta.ema(close, MAShort)
    MA2 := ta.ema(close, MALong)
else if (ma_type == "WMA")
    MA1 := ta.wma(close, MAShort)
    MA2 := ta.wma(close, MALong)

// Plotting Keltner Channels with adjusted transparency
transparentColor = color.rgb(255, 255, 255, 56)

plot(upper_channel1, color=transparentColor, title="Upper Channel 1")
plot(lower_channel1, color=transparentColor, title="Lower Channel 1")
plot(upper_channel2, color=transparentColor, title="Upper Channel 2")
plot(lower_channel2, color=transparentColor, title="Lower Channel 2")
plot(upper_channel3, color=transparentColor, title="Upper Channel 3")
plot(lower_channel3, color=transparentColor, title="Lower Channel 3")
plot(upper_channel4, color=transparentColor, title="Upper Channel 4")
plot(lower_channel4, color=transparentColor, title="Lower Channel 4")
plot(basis, color=color.white, title="Basis")
plot(MA1, color=color.rgb(4, 248, 216), linewidth=2, title="Middle MA")
plot(MA2, color=color.rgb(220, 7, 248), linewidth=2, title="Long MA")