
다주기 변동 추적량화 전략은 가격 변동 범위를 기반으로 한 거래 시스템으로, 월간, 주간 및 일간 시간 주기의 가격 변동 범위를 계산하여 역동적인 지원 및 저항 수준을 구축하고 잠재적인 거래 기회를 식별합니다. 이 전략의 핵심 아이디어는 역사적 변동률을 기반으로 한 가격 범위를 계산하고, 다주기 분석 방법을 사용하여 교차 검증하고, 특정 변동 범위를 돌파 할 때 거래 신호를 생성합니다. 이 시스템은 주간 및 월급 라인 수준의 지원 저항 수준에 특별한 관심을 기울이며, 이러한 중요한 가격 지점의 상호 작용을 통해 높은 확률의 입구와 출구를 식별합니다.
이 전략의 기본 원칙은 가격 변동의 범위와 다중 주기 분석에 기초하고 있습니다. 구체적으로, 이 전략은 다음과 같은 방식으로 작동합니다:
다중 주기 데이터 취득“전략을 먼저 통과하라”request.security함수는 월 (M), 주 (W), 일 (D) 의 3 시간 주기 가격 데이터를 얻습니다.
동적 변동 간격 계산이 전략은 가격 데이터를 활용하여 변동성을 기반으로 한 여러 가격 수준을 계산합니다.
(((高点-低点)*(1.1/系数))+(收盘价)), 그 중 계수는 각각 2과 4로, 서로 다른 거리에 대응하는 저항 지점이다.((收盘价)-((高点-低点)*(1.1/系数))) () 은 () 의 () 의 () 을 나타냅니다.입력 논리:
출장 논리:
그래픽 디스플레이전략: 중요한 지지 저항 지점을 도표에 그리며, 주로 달선과 둘레의 H3 및 L3 수준을 표시하며, 상인이 시각적으로 분석하기 위해 다른 색상을 사용하여 구분합니다. 또한, 수익이 종료되는 신호가 발생하면 도표에 해당하는 화살표가 표시됩니다.
다주기 연동 분석월선, 주선 및 일선 데이터를 통합하여 전략은 다른 시간 주기의 시장 구조를 캡처 할 수 있으며 신호의 신뢰성을 향상시킵니다. 단일 시간 주기의 전략에 비해 다주기 분석은 시장 추세를 더 포괄적으로 파악 할 수 있습니다.
변동율에 따른 적응력이 전략은 고정된 값이 아닌, 역사적 가격 변동에 기초하여 지원 저항 수준을 계산합니다. 이것은 전략이 다양한 시장 환경과 변동률 변화에 자동으로 적응할 수 있도록 합니다.
명확한 위험 관리 프레임워크: 변동성에 기반한 출구 조건을 설정함으로써, 전략은 거래자에게 상대적으로 객관적인 중지 손실과 수익을 얻은 종료 메커니즘을 제공하여 단일 거래 위험을 제어하는 데 도움이됩니다.
트렌드 확인 메커니즘이 전략은 가격의 지지를 넘어 K선 형태를 상승시키는 것을 요구합니다. 이러한 조합 조건은 거짓된 돌파 신호를 필터링하는 데 도움이 됩니다.
시각적 직관: 중요한 가격 수준과 신호를 차트에 표시함으로써 거래자는 시장 구조와 잠재적인 거래 기회를 직관적으로 이해할 수 있으며 실시간 의사 결정과 전략 조정을 용이하게합니다.
지연 위험전략: 이전 주기의 데이터를 사용하여 저항 지점을 계산합니다. 빠르게 변동하는 시장에서 이러한 지연은 최적의 입문 지점을 놓치거나 조기 출전을 초래할 수 있습니다.
가짜 침입 위험: 복수의 확인 조건이 존재하더라도, 시장에서 가짜 돌파구가 발생할 수 있습니다. 특히 낮은 유동성 또는 높은 변동성 시장 환경에서는. 해결 방법은 거래량 확인을 늘리거나 더 엄격한 돌파구 조건을 설정하는 것입니다.
매개변수 민감도: 전략이 사용하는 계수 ((1.1⁄2 및 1.1⁄4) 는 결과에 큰 영향을 미치며, 다른 시장과 기간에는 다른 최적화 매개 변수가 필요할 수 있습니다. 충분한 역사 재검토와 매개 변수 최적화를 권장합니다.
연관성 위험: 코드에 BTCUSD에 대한 언급이 포함되어 있습니다 (결정 조건에서 코팅되었지만), 이는 전략이 자산 간 연관성을 고려했을 수 있음을 나타냅니다. 시장 연관성이 변하면 전략 성능이 영향을받을 수 있습니다.
완전한 손해 방지 장치의 부재이 전략은 출전 조건을 정의하고 있지만, 가격 기반의 명확한 중지 손실 설정이 없으며, 이는 극단적인 시장 조건에서 과도한 손실을 초래할 수 있습니다. 고정 중지 또는 ATR 기반의 동적 중지 장치를 추가하는 것이 좋습니다.
위험 관리 개선: ATR (Average True Range) 에 기반한 동적 스톱이나 최대 손실 비율을 설정하는 것과 같은 명확한 스톱 메커니즘을 추가할 수 있다. 동시에, 다양한 가격 수준에서 단계적으로 지분을 줄이는 배당 수익 메커니즘을 도입할 수 있다.
변수 적응: 현재 전략은 고정된 변동률 계수를 사용한다 ((1.1⁄2 및 1.1⁄4), 이러한 파라미터를 시장의 변동성에 따라 자동으로 조정하는 것을 고려할 수 있다. 예를 들어, 높은 변동기에는 더 큰 계수를 사용할 수 있고, 낮은 변동기에는 더 작은 계수를 사용할 수 있다.
필터를 추가: 트렌드 강도 지표 (ADX와 같은) 또는 변동률 지표 (ATR와 같은) 를 추가 필터링 조건으로 도입하고, 트렌드가 명확하거나 변동성이 적절한 환경에서만 거래하고, 평형 또는 과도한 변동성이있는 시장에서 자주 거래하는 것을 피하십시오.
시간 필터시간 필터링 메커니즘을 추가하여 주요 경제 데이터 발표 또는 낮은 유동성 시기의 거래를 피하고 신호 품질을 향상시킵니다.
통합량 분석가격 돌파가 지속되기 위해서는 충분한 거래량 지원이 필요합니다. 전략에 거래량 확인 조건을 추가하는 것이 좋습니다. 예를 들어, 돌파 할 때 거래량이 이전 몇 주기의 평균보다 높을 것을 요구합니다.
최적화 시스템 변수: 깊이 있는 역사 회수 및 단계 분석을 통해 다양한 시장 환경에서 최적의 파라미터 조합을 찾아내거나, 심지어 동적 파라미터 조정 메커니즘을 개발하는 것을 고려할 수 있다.
다중주기 변동 추적 수치화 전략은 가격 변동의 범위를 기반으로 한 거래 시스템으로, 여러 시간 주기 가격 데이터를 통합하여, 역동적인 지원 저항 수준을 계산하고, 높은 확률의 거래 기회를 식별합니다. 이 전략의 가장 큰 특징은 서로 다른 시간 주기의 조화를 활용하여 교차 검증을 통해 거래 신호의 신뢰성을 높이는 것입니다.
전략의 핵심 장점은 다양한 시장 환경에서 유효성을 유지할 수 있는 적응성과 다중 주기 분석 프레임워크에 있습니다. 그러나 사용자는 전략의 지연성, 가짜 돌파구 위험 및 변수 민감성 등의 문제에 주의를 기울이고, 완벽한 위험 관리 조치를 통해 잠재적 인 손실을 제어해야합니다.
전략에 대한 지속적인 최적화, 특히 위험 관리, 변수 적응 및 필터링 메커니즘의 개선으로 전략은 안정적인 거래 시스템으로 발전할 잠재력이 있습니다. 무엇보다도 거래자는 전략의 배후 논리를 이해하고 신호를 기계적으로 실행하는 것보다는 시장 조건의 변화에 따라 적절한 조정을 할 수 있습니다.
/*backtest
start: 2025-03-25 00:00:00
end: 2025-03-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=6
strategy("DOGE/USDT 5X Scalping Strategy", overlay=true, margin_long=20, margin_short=0)
// === Core Parameters ===
fastEMA = input.int(3, "Fast EMA Length", minval=1, maxval=20)
slowEMA = input.int(8, "Slow EMA Length", minval=2, maxval=50)
trendEMA = input.int(55, "Trend EMA Length", minval=10, maxval=200)
atrPeriod = input.int(14, "ATR Period", minval=1, maxval=50)
tradeInterval = input.int(72, "Minutes Between Trades", minval=1, maxval=1440)
// Risk Management
slMultiplier = input.float(1.2, "Stop-Loss (ATR Multiple)", minval=0.5, maxval=5.0, step=0.1)
tpMultiplier = input.float(2.0, "Take-Profit (ATR Multiple)", minval=0.5, maxval=10.0, step=0.1)
riskPct = input.float(1.0, "Risk Per Trade (%)", minval=0.1, maxval=10.0, step=0.1)
leverage = 5.0 // Fixed 5x leverage
// === Calculate Indicators ===
fastLine = ta.ema(close, fastEMA)
slowLine = ta.ema(close, slowEMA)
trendLine = ta.ema(close, trendEMA)
atrValue = ta.atr(atrPeriod)
// === Visualize Indicators ===
// Using explicit colors to ensure visibility
fastColor = #2196F3 // Blue
slowColor = #FF9800 // Orange
trendColor = #757575 // Gray
p1 = plot(fastLine, "Fast EMA", color=fastColor, linewidth=2)
p2 = plot(slowLine, "Slow EMA", color=slowColor, linewidth=2)
p3 = plot(trendLine, "Trend EMA", color=trendColor, linewidth=1)
// Cross detection for visualization
crossUp = ta.crossover(fastLine, slowLine)
crossDown = ta.crossunder(fastLine, slowLine)
plotshape(crossUp, "EMA Cross Up", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(crossDown, "EMA Cross Down", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// === Trade Logic ===
// Cooldown mechanism
var int lastTradeBarIndex = 0
timeElapsed = (bar_index - lastTradeBarIndex) >= tradeInterval
noActivePosition = strategy.position_size == 0
// Entry conditions
emaCross = ta.crossover(fastLine, slowLine)
trendFilter = close > trendLine
validEntry = emaCross and trendFilter and timeElapsed and noActivePosition
// Position sizing calculation
equity = strategy.equity
riskAmount = equity * (riskPct / 100)
stopDistance = atrValue * slMultiplier
positionSize = math.round((riskAmount / stopDistance) * leverage) // Round to whole tokens for DOGE
// Visualize entry signals
plotshape(validEntry, "Entry Signal", style=shape.circle, location=location.belowbar, color=color.lime, size=size.normal)
// === Strategy Execution ===
if (validEntry)
// Entry
strategy.entry("Long", strategy.long, qty=positionSize)
// Set exit points
stopPrice = close - (atrValue * slMultiplier)
targetPrice = close + (atrValue * tpMultiplier)
strategy.exit("Exit", "Long", stop=stopPrice, limit=targetPrice)
// Reset cooldown timer
lastTradeBarIndex := bar_index