Sumber dimuat naik... memuat...

Strategi Perdagangan Divergensi Sistem Harga Volatiliti yang Dikuasakan AI

Penulis:ChaoZhang, Tarikh: 2024-12-27 13:51:33
Tag:VPSRSIATRWow.AL

img

Ringkasan

Strategi ini adalah sistem perdagangan trend-mengikuti maju yang menggabungkan teknologi kecerdasan buatan, terutamanya mengintegrasikan VPS (Volatility Price System) penunjuk perbezaan dan metodologi trend WOW. Ia menggunakan VPS untuk mengenal pasti turun naik pasaran dan kekuatan trend sambil menggabungkan perbezaan RSI untuk mengesan titik pembalikan harga yang berpotensi. Strategi ini boleh memberikan isyarat kemasukan yang tepat untuk kedua-dua perdagangan panjang dan pendek, meningkatkan ketepatan ramalan pasaran dengan memanfaatkan kedua-dua momentum trend dan analisis perbezaan.

Prinsip Strategi

Strategi ini beroperasi berdasarkan tiga komponen teras:

  1. Indikator trend WOW untuk mengesahkan perubahan trend (dari kenaikan kepada penurunan atau sebaliknya)
  2. Syarat VPS untuk mengesahkan turun naik dan kekuatan trend
  3. Analisis perbezaan RSI untuk mengenal pasti titik pembalikan yang berpotensi

Sistem ini mula-mula mengira saluran sokongan dan rintangan dinamik berdasarkan ATR, digabungkan dengan parameter panjang VPS (default 11) untuk menilai keadaan pasaran. Apabila harga menembusi tahap overbought (78) atau oversold (27), sistem mencetuskan isyarat perdagangan. Di samping itu, strategi memantau perbezaan antara indikator harga dan VPS untuk mengesahkan arah perdagangan.

Kelebihan Strategi

  1. Analisis Multidimensional: Menyediakan perspektif pasaran yang lebih komprehensif dengan menggabungkan trend mengikuti, turun naik, dan analisis perbezaan
  2. Kebolehsesuaian yang kuat: Menggunakan saluran ATR dinamik yang menyesuaikan diri secara automatik dengan turun naik pasaran
  3. Pengurusan Risiko Komprehensif: Mekanisme mengambil keuntungan dan menghentikan kerugian terbina dalam dengan penutupan kedudukan automatik berdasarkan sasaran keuntungan yang telah ditetapkan.
  4. Mekanisme Pengesahan Isyarat: Memerlukan beberapa syarat untuk dipenuhi secara serentak untuk pencetus perdagangan, mengurangkan isyarat palsu
  5. Keupayaan Dagangan Dua Arah: Dapat menangkap kedua-dua peluang dagangan panjang dan pendek, memanfaatkan sepenuhnya turun naik pasaran

Risiko Strategi

  1. Kebisingan pasaran: Boleh menghasilkan isyarat palsu di sisi atau persekitaran turun naik yang rendah
  2. Sensitiviti Parameter: Prestasi strategi sangat bergantung kepada tetapan parameter penunjuk (contohnya, panjang VPS, tahap overbought / oversold)
  3. Risiko tergelincir: Boleh menghadapi kesan tergelincir yang ketara dalam jangka masa yang singkat (contohnya, 5 minit)
  4. Penangguhan isyarat: Mekanisme pengesahan berbilang mungkin membawa kepada masa kemasukan yang agak tertunda
  5. Pengurusan Wang: Kaedah peruntukan modal tetap mungkin berfungsi secara berbeza di bawah keadaan pasaran yang berbeza

Arahan Pengoptimuman Strategi

  1. Penyesuaian Parameter Dinamik: Memperkenalkan mekanisme parameter adaptif untuk menyesuaikan panjang VPS secara dinamik dan ambang overbought / oversold berdasarkan keadaan pasaran
  2. Penapisan persekitaran pasaran: Tambah modul pengiktirafan persekitaran pasaran untuk menghentikan perdagangan semasa keadaan pasaran yang tidak baik
  3. Pengoptimuman Stop-Loss: Merancang mekanisme stop-loss yang lebih fleksibel berdasarkan ATR untuk meningkatkan ketepatan kawalan risiko
  4. Pengoptimuman Tempoh Masa: Sesuaikan parameter strategi dan peraturan dagangan untuk sesi dagangan yang berbeza
  5. Pengurusan Modal Optimum: Memperkenalkan pengurusan kedudukan dinamik untuk menyesuaikan saiz dagangan berdasarkan turun naik pasaran dan status keuntungan / kerugian

Ringkasan

Ini adalah strategi perdagangan komprehensif yang mengintegrasikan pelbagai penunjuk teknikal dan kaedah analisis. Dengan menggabungkan teknologi kecerdasan buatan dengan analisis teknikal tradisional, strategi ini dapat memberikan ketepatan perdagangan yang tinggi sambil mengekalkan ketahanan. Kelebihan utamanya terletak pada mekanisme pengesahan isyarat berlapis-lapis dan sistem pengurusan risiko yang komprehensif, sementara bidang utama untuk pengoptimuman adalah dalam penyesuaian parameter dinamik dan pengenalan persekitaran pasaran. Melalui pengoptimuman dan peningkatan berterusan, strategi ini mempunyai potensi untuk mengekalkan prestasi yang stabil dalam keadaan pasaran yang berbeza.


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

//@version=6
strategy("AI+VPS Vijay Prasad Strategy", overlay=true)

// --- VPS Divergence Strategy Inputs ---
vps_length = input.int(11, title="VPS Length")
vps_overbought = input.int(78, title="VPS Overbought Level")  // Overbought level for VPS
vps_oversold = input.int(27, title="VPS Oversold Level")  // Oversold level for VPS

// Calculate VPS (Relative Strength Index alternative) - here using a custom divergence condition
vps = ta.rsi(close, vps_length)

// Plot VPS on the chart
plot(vps, title="VPS", color=color.blue, linewidth=2)
hline(vps_overbought, "Overbought", color=color.red, linewidth=1)
hline(vps_oversold, "Oversold", color=color.green, linewidth=1)

// Define Buy and Sell Conditions based on Overbought/Oversold VPS
vps_buy_condition = vps < vps_oversold  // Buy signal when VPS is oversold
vps_sell_condition = vps > vps_overbought  // Sell signal when VPS is overbought

// Define Bullish and Bearish Divergence conditions
bullish_divergence = (low[1] < low[2] and vps[1] > vps[2] and low < low[1] and vps > vps[1])
bearish_divergence = (high[1] > high[2] and vps[1] < vps[2] and high > high[1] and vps < vps[1])

// Combine Buy and Sell signals: 
// Buy when VPS is oversold or Bullish Divergence occurs
vps_buy_condition_final = vps_buy_condition or bullish_divergence
// Sell when VPS is overbought or Bearish Divergence occurs
vps_sell_condition_final = vps_sell_condition or bearish_divergence

// Plot Buy and Sell Signals
plotshape(series=vps_buy_condition_final, title="VPS Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, text="BUY")
plotshape(series=vps_sell_condition_final, title="VPS Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, text="SELL")

// VPS Divergence Highlight
bgcolor(bullish_divergence ? color.new(color.green, 90) : na)  // Highlight background for Bullish Divergence
bgcolor(bearish_divergence ? color.new(color.red, 90) : na)  // Highlight background for Bearish Divergence

// Strategy: Buy and Sell with target
if vps_buy_condition_final
    strategy.entry("Buy", strategy.long)

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

// Capital settings for the strategy (for backtesting purposes)
capital_per_trade = input.float(1000, title="Capital per Trade (INR)", minval=1)
buy_target_inr = 1500  // Profit target for Buy in INR
sell_target_inr = 1000  // Profit target for Sell in INR

trade_value = close * (capital_per_trade / close)  // Value of one contract at current price

// Profit threshold calculation
buy_profit_target = buy_target_inr / trade_value  // Profit in price movement for Buy
sell_profit_target = sell_target_inr / trade_value  // Profit in price movement for Sell

// Exit based on profit targets
if strategy.position_size > 0
    profit_inr = (close - strategy.position_avg_price) * strategy.position_size
    if profit_inr >= buy_target_inr
        strategy.close("Buy", comment="Profit Target Reached")

if strategy.position_size < 0
    profit_inr = (strategy.position_avg_price - close) * -strategy.position_size
    if profit_inr >= sell_target_inr
        strategy.close("Sell", comment="Profit Target Reached")

// --- WoW Trends + VPS (Vijay Prasad Strategy) Logic ---
Periods = input.int(title="ATR Period", defval=10)
src = input.source(close, title="Source")
Multiplier = input.float(title="ATR Multiplier", step=0.1, defval=1.7)
changeATR = input.bool(title="Change ATR Calculation Method ?", defval=true)
showsignals = input.bool(title="Show Buy/Sell Signals ?", defval=true)

// --- ATR Calculation ---
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = src - (Multiplier * atr)
up1 = na(up[1]) ? up : up[1]
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + (Multiplier * atr)
dn1 = na(dn[1]) ? dn : dn[1]
dn := close[1] < dn1 ? math.min(dn, dn1) : dn

// --- WoW Trends Logic ---
var trend = 1
trend := na(trend[1]) ? 1 : trend
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

// --- VPS Logic (Vijay Prasad Strategy) ---
vpsVolatilityCondition = (high - low) > (1.5 * ta.sma(ta.tr, 20))  // VPS condition based on volatility
vpsTrendCondition = trend == 1  // VPS condition to check if trend is up
vpsSignal = vpsVolatilityCondition and vpsTrendCondition  // Combine both VPS conditions

// --- Buy/Sell Signal Logic ---
buySignal = trend == 1 and trend[1] == -1  // Signal to Buy (when trend switches to up)
sellSignal = trend == -1 and trend[1] == 1  // Signal to Sell (when trend switches to down)

// --- Combined Buy/Sell Signal Logic (WoW Trends + VPS) ---
combinedBuySignal = buySignal and vpsSignal
combinedSellSignal = sellSignal and vpsSignal

// --- Plot WoW Trends Lines using plot() ---
plot(trend == 1 ? up : na, title="Up Trend", color=color.green, linewidth=2)
plot(trend == -1 ? dn : na, title="Down Trend", color=color.red, linewidth=2)

// --- Plot VPS Signals ---
plotshape(vpsSignal and showsignals, title="VPS Signal", text="VPS", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.blue, textcolor=color.white)

// --- Plot Combined Buy/Sell Signals ---
plotshape(combinedBuySignal and showsignals, title="Combined Buy Signal", text="BUY", location=location.belowbar, style=shape.labelup, size=size.small, color=color.green, textcolor=color.white)
plotshape(combinedSellSignal and showsignals, title="Combined Sell Signal", text="SELL", location=location.abovebar, style=shape.labeldown, size=size.small, color=color.red, textcolor=color.white)

// --- Strategy Entries ---
if (combinedBuySignal)
    strategy.entry("BUY", strategy.long)

if (combinedSellSignal)
    strategy.entry("SELL", strategy.short)

// --- Highlight Bars for Buy/Sell Signals ---
barcolor(combinedBuySignal ? color.green : na, offset=-1)
barcolor(combinedSellSignal ? color.red : na, offset=-1)


Berkaitan

Lebih lanjut