Strategi dagangan volum berbilang jangka masa dan pengagregatan trend

FRVP AVWAP EMA RSI ADX MACD SMA ATR
Tarikh penciptaan: 2025-04-02 16:15:52 Akhirnya diubah suai: 2025-04-02 16:15:52
Salin: 0 Bilangan klik: 375
2
fokus pada
319
Pengikut

Strategi dagangan volum berbilang jangka masa dan pengagregatan trend Strategi dagangan volum berbilang jangka masa dan pengagregatan trend

Gambaran keseluruhan

Ini adalah strategi perdagangan multi-indikator yang kompleks yang menggabungkan beberapa alat analisis teknikal seperti purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata purata

Prinsip Strategi

Strategi untuk menentukan isyarat masuk menggunakan pelbagai syarat:

  1. Persaingan harga dengan AVWAP
  2. Kedudukan harga berbanding EMA
  3. Penilaian Kekuatan RSI
  4. Kekuatan Trend MACD
  5. Pengesahan kekuatan trend ADX
  6. Penapis kuantiti

Strategi ini memberi tumpuan kepada sesi perdagangan Asia, London dan New York, yang biasanya lebih banyak kecairan dan isyarat perdagangan lebih dipercayai. Logik masuk merangkumi kedua-dua mod kedudukan panjang dan kosong, dan menetapkan mekanisme hentian dan hentian tangga.

Kelebihan Strategik

  1. Kombinasi pelbagai indikator untuk meningkatkan ketepatan isyarat
  2. Penapisan jumlah transaksi yang dinamik untuk mengelakkan transaksi yang kurang cair
  3. Strategi Stop Loss yang Fleksibel
  4. Pengoptimuman strategi berdasarkan tempoh dagangan yang berbeza
  5. Mekanisme pengurusan risiko dinamik
  6. Pemilihan bantuan visual

Risiko Strategik

  1. Kombinasi pelbagai indikator mungkin menyebabkan peningkatan kerumitan isyarat
  2. Data pengesanan mungkin mempunyai risiko kecocokan
  3. Prestasi mungkin tidak stabil dalam keadaan pasaran yang berbeza
  4. Kos transaksi dan titik tergelincir mungkin mempengaruhi pendapatan sebenar

Arah pengoptimuman strategi

  1. Masukkan parameter penyesuaian dinamik algoritma pembelajaran mesin
  2. Menambah kebolehan beradaptasi pada masa perdagangan
  3. Mengoptimumkan strategi hentian hentian
  4. Masukkan lebih banyak syarat penapisan
  5. Membangunkan model strategi keseragaman antara baka

ringkaskan

Ini adalah strategi perdagangan yang sangat disesuaikan dan pelbagai dimensi, yang berusaha meningkatkan kualiti dan ketepatan isyarat perdagangan dengan mengintegrasikan pelbagai petunjuk teknikal dan ciri-ciri masa perdagangan. Strategi ini menunjukkan kerumitan pengumpulan petunjuk dan pengurusan risiko dinamik dalam perdagangan kuantitatif.

Kod sumber strategi
/*backtest
start: 2024-04-02 00:00:00
end: 2024-12-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=6
strategy("FRVP + AVWAP by Grok", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// User Inputs
frvpLength = input.int(20, title="FRVP Length", minval=1)
emaLength = input.int(75, title="EMA Length", minval=1) // Adjusted for stronger trend confirmation
rsiLength = input.int(14, title="RSI Length", minval=1)
adxThreshold = input.int(20, title="ADX Strength Threshold", minval=0, maxval=100)
volumeMultiplier = input.float(1.0, title="Volume Multiplier", minval=0.1)

// Stop Loss & Take Profit for XAUUSD
stopLossPips = 25 // 25 pips SL for Asian, London, NY Sessions
takeProfit1Pips = 35 // TP1 at 35 pips
takeProfit2Pips = 80 // Final TP at 80 pips

// Stop-Loss & Take-Profit Multipliers (XAUUSD: 1 pip = 0.1 points on most platforms)
stopMultiplier = float(stopLossPips) * 0.1
tp1Multiplier = float(takeProfit1Pips) * 0.1
tp2Multiplier = float(takeProfit2Pips) * 0.1

// Indicators
avwap = ta.vwap(close)  // Volume Weighted Average Price (VWAP)
ema = ta.ema(close, emaLength)     // Exponential Moving Average
rsi = ta.rsi(close, rsiLength)     // Relative Strength Index
macdLine = ta.ema(close, 12) - ta.ema(close, 26)  // MACD Line
signalLine = ta.ema(macdLine, 9)   // MACD Signal Line
atr = ta.atr(14)                   // Average True Range

// Average Directional Index (ADX)
adxSmoothing = 14
[diplus, diminus, adx] = ta.dmi(14, adxSmoothing)  // Corrected syntax for ta.dmi()

// Volume Profile (FRVP - Fixed Range Volume Profile Midpoint)
highestHigh = ta.highest(high, frvpLength)
lowestLow = ta.lowest(low, frvpLength)
frvpMid = (highestHigh + lowestLow) / 2  // Midpoint of the range

// Detect Trading Sessions
currentHour = hour(time, "UTC")  // Renamed to avoid shadowing built-in 'hour'
isAsianSession = currentHour >= 0 and currentHour < 8
isLondonSession = currentHour >= 8 and currentHour < 16
isNYSession = currentHour >= 16 and currentHour < 23

// Entry Conditions
longCondition = ta.crossover(close, avwap) and close > ema and rsi > 30 and macdLine > signalLine and adx > adxThreshold
shortCondition = ta.crossunder(close, avwap) and close < ema and rsi < 70 and macdLine < signalLine and adx > adxThreshold

// Volume Filter
avgVolume = ta.sma(volume, 20)     // 20-period Simple Moving Average of volume
volumeFilter = volume > avgVolume * volumeMultiplier  // Trade only when volume exceeds its moving average

// Trade Execution with SL/TP for Sessions
if (longCondition and volumeFilter and (isAsianSession or isLondonSession or isNYSession))
    strategy.entry("LongEntry", strategy.long, qty=100)
    strategy.exit("LongTP1", from_entry="LongEntry", limit=close + tp1Multiplier)
    strategy.exit("LongExit", from_entry="LongEntry", stop=close - stopMultiplier, limit=close + tp2Multiplier)

if (shortCondition and volumeFilter and (isAsianSession or isLondonSession or isNYSession))
    strategy.entry("ShortEntry", strategy.short, qty=100)
    strategy.exit("ShortTP1", from_entry="ShortEntry", limit=close - tp1Multiplier)
    strategy.exit("ShortExit", from_entry="ShortEntry", stop=close + stopMultiplier, limit=close - tp2Multiplier)

// Plotting for Debugging and Visualization
plot(avwap, "AVWAP", color=color.purple, style=plot.style_line, offset=0)
plot(ema, "EMA", color=color.orange, style=plot.style_line, offset=0)
// plot(rsi, "RSI", color=color.yellow, style=plot.style_histogram, offset=0)  // Better in a separate pane
// plot(macdLine, "MACD Line", color=color.blue, style=plot.style_histogram, offset=0)  // Better in a separate pane
// plot(signalLine, "Signal Line", color=color.red, style=plot.style_histogram, offset=0)  // Better in a separate pane
plot(adx, "ADX", color=color.green, style=plot.style_line, offset=0)

// Optional: Plot entry/exit signals for visualization
plotshape(longCondition and volumeFilter ? close : na, title="Long Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(shortCondition and volumeFilter ? close : na, title="Short Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)