Strategi Belian CCI+Double Moving Average Crossover Retracement

CCI MA
Tarikh penciptaan: 2024-05-24 17:45:49 Akhirnya diubah suai: 2024-05-24 17:45:49
Salin: 3 Bilangan klik: 680
1
fokus pada
1617
Pengikut

Strategi Belian CCI+Double Moving Average Crossover Retracement

Gambaran keseluruhan

CCI+ crossover buyback strategi adalah strategi perdagangan kuantitatif yang menggunakan gabungan indikator trend ((CCI) dan isyarat crossover double line. Strategi ini membeli selepas pembentukan garpu garpu double line, menunggu harga kembali ke dekat garis cepat dan membeli apabila isyarat CCI oversold, dan menjual apabila isyarat CCI oversold dan membeli apabila isyarat CCI oversold dan membeli apabila isyarat CCI oversold. Dengan menggabungkan CCI dan isyarat crossover double line, strategi ini dapat menangkap peluang tren dengan lebih baik, dan mendapatkan peluang masuk dan keluar yang lebih baik dengan menunggu untuk membeli dan melabur.

Prinsip Strategi

  1. Mengira Indeks CCI Mengira nilai CCI semasa berdasarkan parameter CCI yang ditetapkan oleh pengguna (data sumber, kitaran, jenis purata bergerak, overbought dan oversold).
  2. Untuk menilai CCI overbought dan oversold, apabila CCI lebih besar daripada had overbought, warna latar belakang ditetapkan menjadi merah, dan apabila ia lebih kecil daripada had oversold, warna latar belakang ditetapkan menjadi hijau.
  3. Hitung garis rata-rata laju, berdasarkan parameter garis rata-rata laju yang ditetapkan oleh pengguna (data sumber, tempoh, jenis purata bergerak) dan mengira nilai garis rata-rata laju semasa.
  4. Untuk menilai garpu emas, apabila garpu emas terbentuk melalui garpu perlahan pada garpu cepat, isyarat multihead digambarkan, dan apabila garpu mati terbentuk melalui garpu perlahan di bawah garpu cepat, isyarat kosong digambarkan.
  5. Keputusan transaksi:
    • Masuk berganda: Beli dan buka posisi berganda apabila garis cepat berada di atas garis lambat dan harga penutupan garis K sebelumnya berada di bawah garis cepat, garis K semasa adalah garis yang, dan CCI lebih kecil daripada nilai terhad oversold
    • Masuk kosong: Apabila garis cepat berada di bawah garis lambat, dan harga penutupan garis K sebelumnya berada di atas garis cepat, garis K semasa adalah garis negatif, dan CCI lebih besar daripada nilai ambang beli untuk menjual kedudukan terbuka

Kelebihan Strategik

  1. Pengesanan Trend: Mengesan arah trend dengan menggunakan isyarat silang dua garis sejajar, untuk lebih mematuhi trend pasaran.
  2. Masuk ke belakang: menunggu harga untuk menarik balik pembelian atau melonjakkan jualan selepas trend ditubuhkan, untuk mendapatkan harga masuk yang lebih baik dan meningkatkan nisbah risiko / keuntungan.
  3. Mengurangkan isyarat palsu: menggabungkan petunjuk CCI dengan isyarat persilangan garis rata-rata, dapat mengurangkan isyarat palsu yang dihasilkan oleh satu petunjuk.
  4. Fleksibiliti parameter: Pengguna boleh menyesuaikan CCI dan parameter rata-rata mengikut keutamaan mereka untuk mengoptimumkan prestasi strategi.

Risiko Strategik

  1. Risiko pasaran goyah: Dalam pasaran goyah, goyah yang kerap boleh menyebabkan strategi menghasilkan lebih banyak perdagangan yang rugi.
  2. Risiko Parameter: Tetapan parameter yang tidak sesuai boleh menyebabkan prestasi strategi yang kurang baik, yang memerlukan pengulangan dan analisis yang mencukupi terhadap kombinasi parameter optimum dalam keadaan pasaran yang berbeza.
  3. Risiko trend: Strategi mungkin menangguhkan keluar dan mengambil risiko penarikan balik yang lebih besar apabila trend pasaran berbalik.

Arah pengoptimuman strategi

  1. Memperkenalkan pengurusan kedudukan, menyesuaikan kedudukan setiap dagangan secara dinamik mengikut kekuatan dan turun naik trend pasaran semasa, untuk mengawal risiko dengan lebih baik.
  2. Mengoptimumkan syarat kemasukan, seperti penambahan penunjuk jumlah dagangan atau penunjuk penilaian lain yang membantu, meningkatkan kebolehpercayaan isyarat kemasukan.
  3. Mengoptimumkan keadaan keluar, seperti menetapkan henti bergerak atau henti masa, untuk mengurangkan kerugian maksimum dalam satu perdagangan.
  4. Mengoptimumkan parameter untuk pasaran dan varieti yang berbeza, meningkatkan adaptasi dan kestabilan strategi.

ringkaskan

CCI + strategi crossover crossover crossover adalah strategi perdagangan kuantitatif yang menggabungkan kelebihan trend-tracking dan masuk ke arah yang berlawanan. Dengan menangkap arah trend dengan dua garis rata, dan menggunakan indikator CCI untuk membezakan antara kawasan yang lebih banyak dan lebih banyak, sambil menunggu harga untuk menarik balik dan bangkit untuk mendapatkan harga masuk yang lebih baik, anda boleh meningkatkan potensi keuntungan strategi dan risiko keuntungan hingga tahap tertentu. Tetapi strategi ini juga menghadapi risiko seperti pengoptimuman parameter, gegaran pasaran dan perubahan trend, yang perlu dipertingkatkan dengan pengoptimuman dan penambahbaikan lebih lanjut.

Kod sumber strategi
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
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/
// © tradedots

//@version=5
strategy("CCI + MA Crossover Pullback Buy Strategy [TradeDots]", overlay=true)


ma(source, length, type) =>
  type == "SMA" ? ta.sma(source[1], length) :
  type == "EMA" ? ta.ema(source[1], length) :
  type == "SMMA (RMA)" ? ta.rma(source[1], length) :
  type == "WMA" ? ta.wma(source[1], length) :
  type == "VWMA" ? ta.vwma(source[1], length) :
  na

//CCI settings
cci_coloring  = input.bool(true, "CCI Background Color", group = "Commodity channel index")
cci_length    = input.int(20,"CCI Length", group = "Commodity channel index")
cci_ma_type   = input.string("EMA","CCI MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group = "Commodity channel index")
cci_soruce    = input(hlc3, "CCI Source", group = "Commodity channel index")
cci_threshold = input.int(100, "CCI Threshold", group = "Commodity channel index")
cci_ma = ma(cci_soruce, cci_length, cci_ma_type)
cci = (cci_soruce - cci_ma) / (0.015 * ta.dev(cci_soruce, cci_length))

bgcolor(cci > cci_threshold and cci_coloring ? color.new(#f9396a, 80) : cci < -cci_threshold and cci_coloring? color.new(#9cff87, 80) : na, title = "CCI Overbought / Oversold")

//ma crossover settings
input_crossover_labels = input.bool(true, "Show Crossover Labels", group="Moving average")

fastma_type   = input.string("EMA","", inline="fastma", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Moving average")
fastma_source = input(close, "", inline="fastma", group="Moving average")
fastma_length = input.int(10, "", inline="fastma", minval=1,group="Moving average")
fastma_color  = input(#e2fdff, "", inline="fastma",group="Moving average")
fastma = ma(fastma_source, fastma_length, fastma_type)
fastmaPlot = plot(fastma, color = #b7e4c7, linewidth = 2, title = "Fast MA")

slowma_type   = input.string("EMA","", inline="slowma", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Moving average")
slowma_source = input(close, "", inline="slowma", group="Moving average")
slowma_length = input.int(30, "", inline="slowma", minval=1,group="Moving average")
slowma_color  = input(#e2fdff, "", inline="slowma",group="Moving average")
slowma = ma(slowma_source, slowma_length, slowma_type)
slowmaPlot = plot(slowma, color = #2d6a4f, linewidth = 2, title = "Slow MA")

bullish_crossover = ta.crossover(fastma, slowma)
bearish_crossover = ta.crossunder(fastma, slowma)

// // strategy
// if bullish_crossover and input_crossover_labels
//     line.new(bar_index, close, bar_index, close * 1.01, extend = extend.both, color = color.new(#9cff87, 30), style = line.style_dotted, width = 3)
//     label.new(bar_index,low, "Bullish Crossover", style = label.style_label_up, color = #9cff87)

// else if bearish_crossover and input_crossover_labels
//     line.new(bar_index, close, bar_index, close * 1.01, extend = extend.both, color = color.new(#f9396a, 30), style = line.style_dotted, width = 3)
//     label.new(bar_index, high, "Bearish Crossover", style = label.style_label_down, color = #f9396a, textcolor = color.white)

if fastma > slowma and close[1] < fastma and close > open and cci < -cci_threshold
    strategy.entry("Long", strategy.long)
    // if strategy.opentrades == 0 or strategy.opentrades.size(strategy.opentrades -1) < 0
    //     label.new(bar_index,low, "🟢 Long", style = label.style_label_up, color = #9cff87)

if fastma < slowma and close[1] > fastma and close < open and cci > cci_threshold
    strategy.entry("Short", strategy.short)
    // if strategy.opentrades == 0 or strategy.opentrades.size(strategy.opentrades -1) > 0
    //     label.new(bar_index, high, "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white)