Sumber dimuat naik... memuat...

Strategi Optimum Dagangan Dinamik Multi-Indikator

Penulis:ChaoZhang, Tarikh: 2024-12-20 16:31:21
Tag:CCIRSIPFIWMAIFT

img

Ringkasan

Strategi ini adalah sistem dagangan berdasarkan pelbagai penunjuk teknikal, mengintegrasikan penunjuk CCI, RSI, Stochastic, dan MFI dengan pelunturan eksponensial untuk membina kerangka analisis pasaran yang komprehensif.

Prinsip Strategi

Inti strategi ini adalah untuk menyediakan isyarat perdagangan yang lebih boleh dipercayai melalui penggabungan pelbagai penunjuk.

  1. Mengira dan menormalkan penunjuk CCI, RSI, Stochastic, dan MFI
  2. Mempakai penghalusan WMA kepada nilai penunjuk
  3. Mengubah nilai kepada selang bersatu menggunakan IFT
  4. Mengira purata empat penunjuk yang ditukar sebagai isyarat akhir
  5. Menghasilkan isyarat panjang apabila melintasi -0.5 dan isyarat pendek apabila melintasi 0.5
  6. Tetapkan 0.5% stop loss dan 1% mengambil keuntungan untuk kawalan risiko

Kelebihan Strategi

  1. Penggabungan pelbagai penunjuk memberikan perspektif pasaran yang komprehensif
  2. Transformasi IFT memastikan konsistensi output penunjuk
  3. Penghapusan WMA berkesan mengurangkan isyarat palsu
  4. Tetapan stop loss dan take profit yang munasabah
  5. Mekanisme penjanaan isyarat yang jelas untuk penyesuaian dan pengoptimuman

Risiko Strategi

  1. Pelbagai penunjuk mungkin tertinggal di pasaran yang tidak menentu
  2. Parameter stop loss dan mengambil keuntungan tetap mungkin tidak sesuai dengan semua keadaan pasaran
  3. Pembersihan WMA mungkin menyebabkan kelewatan isyarat
  4. Parameter penunjuk memerlukan pengoptimuman untuk pasaran yang berbeza Cadangan: Melaksanakan pengurusan risiko dinamik, memperkenalkan penunjuk turun naik, mengoptimumkan parameter penyelarasan

Arahan pengoptimuman

  1. Memperkenalkan mekanisme berhenti rugi dan mengambil keuntungan yang bersesuaian
  2. Tambah penapisan persekitaran pasaran
  3. Mengoptimumkan sintesis isyarat dengan purata tertimbang
  4. Melaksanakan mekanisme yang ditimbang berdasarkan jumlah dan disesuaikan dengan turun naik
  5. Membangunkan sistem pengoptimuman parameter automatik

Ringkasan

Strategi ini membina sistem perdagangan yang agak lengkap melalui penggabungan multi-penunjuk dan pengoptimuman isyarat. Kekuatannya terletak pada kebolehpercayaan isyarat dan kawalan risiko yang komprehensif, tetapi parameter masih memerlukan pengoptimuman berdasarkan ciri pasaran. Melalui arah pengoptimuman yang dicadangkan, strategi ini berpotensi untuk melakukan lebih baik dalam pelbagai persekitaran pasaran.


/*backtest
start: 2024-11-19 00:00:00
end: 2024-12-18 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('wombocombo', overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// IFTCOMBO Hesaplamaları
ccilength = input.int(5, 'CCI Length')
wmalength = input.int(9, 'Smoothing Length')
rsilength = input.int(5, 'RSI Length')
stochlength = input.int(5, 'STOCH Length')
mfilength = input.int(5, 'MFI Length')

// CCI
v11 = 0.1 * (ta.cci(close, ccilength) / 4)
v21 = ta.wma(v11, wmalength)
INV1 = (math.exp(2 * v21) - 1) / (math.exp(2 * v21) + 1)

// RSI
v12 = 0.1 * (ta.rsi(close, rsilength) - 50)
v22 = ta.wma(v12, wmalength)
INV2 = (math.exp(2 * v22) - 1) / (math.exp(2 * v22) + 1)

// Stochastic
v1 = 0.1 * (ta.stoch(close, high, low, stochlength) - 50)
v2 = ta.wma(v1, wmalength)
INVLine = (math.exp(2 * v2) - 1) / (math.exp(2 * v2) + 1)

// MFI
source = hlc3
up = math.sum(volume * (ta.change(source) <= 0 ? 0 : source), mfilength)
lo = math.sum(volume * (ta.change(source) >= 0 ? 0 : source), mfilength)
mfi = 100.0 - 100.0 / (1.0 + up / lo)
v13 = 0.1 * (mfi - 50)
v23 = ta.wma(v13, wmalength)
INV3 = (math.exp(2 * v23) - 1) / (math.exp(2 * v23) + 1)

// Ortalama IFTCOMBO değeri
AVINV = (INV1 + INV2 + INVLine + INV3) / 4

// Sinyal çizgileri
hline(0.5, color=color.red, linestyle=hline.style_dashed)
hline(-0.5, color=color.green, linestyle=hline.style_dashed)

// IFTCOMBO çizgisi
plot(AVINV, color=color.red, linewidth=2, title='IFTCOMBO')

// Long Trading Sinyalleri
longCondition = ta.crossover(AVINV, -0.5) 
longCloseCondition = ta.crossunder(AVINV, 0.5) 

// Short Trading Sinyalleri
shortCondition = ta.crossunder(AVINV, 0.5) 
shortCloseCondition = ta.crossover(AVINV, -0.5) 

// Stop-loss seviyesi (%0.5 kayıp)
stopLoss = strategy.position_avg_price * (1 - 0.005) // Long için
takeProfit = strategy.position_avg_price * (1 + 0.01) // Long için


// Long Strateji Kuralları
if longCondition
    strategy.entry('Long', strategy.long)
    strategy.exit('Long Exit', 'Long', stop=stopLoss, limit=takeProfit) // Stop-loss eklendi


if longCloseCondition
    strategy.close('Long')

// Stop-loss seviyesi (%0.5 kayıp)
stopLossShort = strategy.position_avg_price * (1 + 0.005) // Short için
takeProfitShort = strategy.position_avg_price * (1 - 0.01) // Short için

// Short Strateji Kuralları
if shortCondition
    strategy.entry('Short', strategy.short)
    strategy.exit('Short Exit', 'Short', stop=stopLossShort, limit=takeProfitShort) // Stop-loss eklendi


if shortCloseCondition
    strategy.close('Short')

// Sinyal noktalarını plotlama
plotshape(longCondition, title='Long Signal', location=location.belowbar, color=color.purple, size=size.small)
plotshape(shortCondition, title='Short Signal', location=location.abovebar, color=color.yellow, size=size.small)

Berkaitan

Lebih lanjut