
이 전략은 일련의 기술적 지표들을 결합한 복잡한 거래 시스템으로, 시장 흐름을 식별하고, 동력의 강도를 검증하고 가격 위치를 확인하기 위해 시장 클라우드 (Ichimoku Cloud), 평균 트렌드 지수 (ADX) 및 거래량 중화 평균 가격 (VWAP) 을 이용한다. 이 전략은 다차원 분석을 통해 거래의 정확성과 신뢰성을 높이고, 특히 중장기 트렌드 거래에 적합하다.
이 전략은 3단계 인증 메커니즘을 사용합니다.
거래 신호는 다음과 같은 조건으로 생성됩니다. 구매 신호: 가격은 선행 A와 B의 위에 + ADX>25 + 가격은 VWAP의 위에 판매 신호: 가격이 선행 A와 B 아래 + ADX>25 + 가격이 VWAP 아래
불안정한 시장에서 거래 신호가 자주 발생하여 거래 비용이 증가할 수 있습니다. 해결책: 최소 보유 시간 제한을 늘리거나, 변동 지표에 필터링을 추가할 수 있습니다.
시장이 급격히 변할 때 큰 반전이 일어날 수 있다. 해결 방법: 적절한 스톱 포지션을 설정하고 ATR 지표를 사용하여 스톱을 동적으로 조정하는 것을 고려할 수 있습니다.
다중 조건 설정은 잠재적인 거래 기회를 놓치게 할 수 있습니다. 해결책: 다른 시장 조건에 따라 변수를 동적으로 조정하거나 다른 변수 조합을 설정할 수 있습니다.
이 전략은 여러 정통하고 신뢰할 수 있는 기술 지표를 결합하여 완전한 거래 시스템을 구축한다. 시스템은 트렌드 식별, 동력 확인 및 가격 검증과 같은 핵심 기능을 포함할 뿐만 아니라 명확한 거래 규칙과 위험 제어 장치를 제공합니다. 약간의 최적화 공간이 있지만, 전체적으로 논리적으로 엄격하고 실용적인 거래 전략이다.
/*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")