
Strategi ini adalah sistem perdagangan yang kompleks yang menggabungkan sekumpulan petunjuk teknikal, yang menggunakan tiga petunjuk teras awan pasaran (Ichimoku Cloud), indeks trend purata (ADX) dan harga purata bertimbangan kuantiti (VWAP) untuk mengenal pasti trend pasaran, mengesahkan kekuatan momentum dan mengesahkan kedudukan harga. Strategi ini meningkatkan ketepatan dan kebolehpercayaan perdagangan melalui analisis pelbagai dimensi, terutama untuk perdagangan trend jangka menengah dan panjang.
Strategi ini menggunakan mekanisme pengesahan tiga peringkat:
Sinyal perdagangan menghasilkan syarat: isyarat beli: harga berada di atas band A dan B + ADX> 25 + harga di atas VWAP Isyarat jual: harga di bawah A dan B + ADX> 25 + harga di bawah VWAP
Ia boleh menghasilkan isyarat dagangan yang kerap dalam pasaran yang bergolak, meningkatkan kos dagangan. Penyelesaian: Anda boleh menambah had minimum untuk tempoh pegangan, atau penapisan dengan penunjuk getaran.
Ia mungkin berlaku apabila pasaran berubah dengan cepat. Penyelesaian: Tetapkan kedudukan hentian yang sesuai, dan pertimbangkan untuk menyesuaikan hentian secara dinamik menggunakan penunjuk ATR.
Tetapan pelbagai syarat mungkin menyebabkan kehilangan beberapa peluang dagangan yang berpotensi. Penyelesaian: Anda boleh menyesuaikan parameter secara dinamik mengikut keadaan pasaran yang berbeza, atau menetapkan kombinasi parameter yang berbeza.
Strategi ini membina satu sistem perdagangan yang lengkap dengan menggabungkan beberapa petunjuk teknikal yang mapan dan boleh dipercayai. Sistem ini tidak hanya mengandungi fungsi teras seperti pengenalan trend, pengesahan momentum dan pengesahan harga, tetapi juga menyediakan peraturan perdagangan yang jelas dan mekanisme kawalan risiko. Walaupun terdapat ruang untuk pengoptimuman, secara keseluruhannya adalah strategi perdagangan yang logik dan praktikal.
/*backtest
start: 2025-02-12 00:00:00
end: 2025-02-15 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"TRUMP_USDT"}]
*/
//@version=5
strategy("Ichimoku + ADX + VWAP Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// --- Ichimoku Cloud Parameters ---
conversionPeriods = 9
basePeriods = 26
laggingSpan2Periods = 52
displacement = 26
// --- Ichimoku Cloud Calculation ---
conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadingSpanA = (conversionLine + baseLine) / 2
leadingSpanB = (ta.highest(high, laggingSpan2Periods) + ta.lowest(low, laggingSpan2Periods)) / 2
// Plot Ichimoku Cloud
plot(conversionLine, color=color.blue, title="Conversion Line")
plot(baseLine, color=color.red, title="Base Line")
plot(leadingSpanA, color=color.green, title="Leading Span A", offset=displacement)
plot(leadingSpanB, color=color.orange, title="Leading Span B", offset=displacement)
fill(plot(leadingSpanA, offset=displacement), plot(leadingSpanB, offset=displacement),
color=leadingSpanA > leadingSpanB ? color.new(color.green, 90) : color.new(color.red, 90),
title="Ichimoku Cloud")
// --- ADX Calculation ---
adx_length = 14
upMove = high - high[1]
downMove = low[1] - low
plusDM = upMove > downMove and upMove > 0 ? upMove : 0
minusDM = downMove > upMove and downMove > 0 ? downMove : 0
tr = ta.tr(true)
smoothedPlusDM = ta.rma(plusDM, adx_length)
smoothedMinusDM = ta.rma(minusDM, adx_length)
smoothedTR = ta.rma(tr, adx_length)
plusDI = (smoothedPlusDM / smoothedTR) * 100
minusDI = (smoothedMinusDM / smoothedTR) * 100
dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.rma(dx, adx_length)
// Plot ADX
adx_threshold = 25
hline(adx_threshold, "ADX Threshold", color=color.gray)
plot(adx, color=color.purple, title="ADX")
// --- VWAP Calculation ---
vwap_val = ta.vwap(close)
plot(vwap_val, color=color.blue, title="VWAP", linewidth=2)
// --- Buy and Sell Conditions ---
// Buy Condition:
// - Cena je nad oboma Leading Span A a B
// - ADX je nad prahovou hodnotou
// - Cena je nad VWAP
buyCondition = close > leadingSpanA and close > leadingSpanB and adx > adx_threshold and close > vwap_val
// Sell Condition:
// - Cena je pod oboma Leading Span A a B
// - ADX je nad prahovou hodnotou
// - Cena je pod VWAP
sellCondition = close < leadingSpanA and close < leadingSpanB and adx > adx_threshold and close < vwap_val
// Plot Buy/Sell Signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// --- Execute Trades ---
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")