
가격 지지 저항 다단계 이득 전략과 EMA 트렌드 필터링 시스템은 기술 분석의 지지 저항 수준과 이동 평균 경향을 결합하는 거래 전략이다. 이 전략은 주로 가격의 핵심 지지 수준 근처의 구매 신호와 저항 수준 근처의 판매 신호를 식별함으로써, EMA (지수 이동 평균) 를 사용하여 전체 시장 추세 방향을 교차 확인하여 큰 추세에 부합하지 않는 거래 신호를 필터링한다. 전략은 또한 3단계 이득 목표와 중지 지점을 설정하여 위험 관리와 이윤 극대화를 균형을 이룬다.
이 전략의 핵심 원칙은 지지점과 저항점 근처의 가격의 부진과 반동 경향을 기반으로 하며, EMA 지표와 결합하여 시장의 전반적인 경향 방향을 판단한다. 구체적으로:
해결책:
동적 지원 저항 지점: 고정된 지원 저항점을 자동으로 계산된 동적 수준으로 바꾸어, 예를 들어 지난 N 거래일 동안의 높은 낮은 점이나 피벗 포인트를 사용하여, 전략이 시장 구조의 변화에 적응할 수 있도록 한다.
변동률 조정: ATR (Average True Rate) 지표가 도입되어 시장의 변동성에 따라 자동으로 수익 목표와 중단 거리를 조정하여 전략이 다양한 변동 환경에서 최적의 성능을 유지할 수 있도록합니다.
시간 필터거래시간 창 제한을 늘리고, 유동성이 낮은 시간이나 중요한 경제 자료 발표 시간을 피하고, 비정상적인 변동으로 인한 위험을 줄입니다.
포지션 관리 최적화: 신호 강도 또는 현재 계정 순자치의 비율에 따라 포지션 크기를 동적으로 조정하고, 높은 승률 거래에서 포지션을 증가시키고, 반대로 감소한다.
다주기 확인: 다중 시간 프레임 분석을 도입하여 거래 방향과 일치하는 더 높은 시간 프레임 트렌드를 요구하고 신호 품질을 향상시킵니다.
손해 추적: 트래킹 스톱포드 기능이 도입되어 가격이 유리한 방향으로 움직일 때 스톱포드를 조정할 수 있게 되었고, 이윤의 일부를 잠금하고 가격에 더 많은 호흡 공간을 제공하였다.
리포트 변수 최적화: EMA 주기, 지지 저항 범위 비율, 수익 목표 비율 등의 파라미터에 대한 체계적인 피드백 최적화, 역사적으로 가장 좋은 성과를 낸 파라미터 조합을 찾는다.
이러한 최적화 방향은 전략의 완성도를 높이고, 다양한 시장 환경에서 적응성과 수익성을 향상시키며, 위험을 줄일 것입니다.
가격 지지 저항 다단계 수익 전략과 EMA 트렌드 필터링 시스템은 기술 분석의 기본 원칙을 결합한 양적 거래 전략이다. 그것은 가격의 핵심 지지 저항 지점 근처의 기회를 식별하고 EMA 트렌드 필터를 사용하여 순조를 보장함으로써 거래 성공률을 높인다. 다단계 수익 목표 디자인은 수익 잠재력을 극대화하고 가격 변동에 따라 수익을 점진적으로 잠금 할 수 있으며 명확한 스톱 손실은 위험을 효과적으로 제어합니다.
이 전략의 가장 큰 장점은 여러 정통 기술 분석 개념을 체계화된 프레임 워크로 통합하여 주관적 판단을 줄이고 거래 규율을 높이는 데 있습니다. 그러나 전략에는 잘못된 신호 위험과 파라미터 의존성 등의 문제가 있습니다. 확인 메커니즘과 동적 파라미터 조정을 추가하여 최적화해야합니다.
전반적으로, 이것은 기초적으로 완벽하고 논리적으로 명확한 전략 프레임워크이며, 기술적 분석 기반을 가진 거래자가 사용할 수 있으며, 개인의 위험 선호도와 시장 환경에 따라 추가로 사용자 정의 및 최적화 할 수 있습니다. 권장된 최적화 방향을 실행함으로써 전략은 더 안정적이고 적응력있는 거래 시스템으로 발전할 가능성이 있습니다.
/*backtest
start: 2024-05-30 00:00:00
end: 2025-05-29 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"DOT_USDT"}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ChemCrypto
//@version=5
strategy("DOT/USDT Strategy with TP/SL", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Inputs === //
supportLevel = input.float(4.34, title="Support Level")
resistanceLevel = input.float(4.83, title="Resistance Level")
emaFast = input.int(50, title="Fast EMA")
emaSlow = input.int(200, title="Slow EMA")
// TP and SL multipliers
tp1Mult = input.float(1.05, title="TP1 Multiplier (e.g. 1.05 = +5%)")
tp2Mult = input.float(1.10, title="TP2 Multiplier")
tp3Mult = input.float(1.20, title="TP3 Multiplier")
slMult = input.float(0.97, title="SL Multiplier (e.g. 0.97 = -3%)")
// === EMAs === //
ema50 = ta.ema(close, emaFast)
ema200 = ta.ema(close, emaSlow)
bullTrend = ema50 > ema200
bearTrend = ema50 < ema200
// === Plot EMAs === //
plot(ema50, title="EMA 50", color=color.orange)
plot(ema200, title="EMA 200", color=color.blue)
// === Support/Resistance === //
plot(supportLevel, title="Support", color=color.green)
plot(resistanceLevel, title="Resistance", color=color.red)
// === Conditions === //
nearSupport = close <= supportLevel * 1.01 and close >= supportLevel * 0.99
nearResistance = close <= resistanceLevel * 1.01 and close >= resistanceLevel * 0.99
longCondition = nearSupport and bullTrend
shortCondition = nearResistance and bearTrend
// === TP and SL levels === //
longTP1 = close * tp1Mult
longTP2 = close * tp2Mult
longTP3 = close * tp3Mult
longSL = close * slMult
shortTP1 = close * (2 - tp1Mult)
shortTP2 = close * (2 - tp2Mult)
shortTP3 = close * (2 - tp3Mult)
shortSL = close * (2 - slMult)
// === Execute Strategy === //
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("TP1", from_entry="Long", limit=longTP1, stop=longSL)
strategy.exit("TP2", from_entry="Long", limit=longTP2)
strategy.exit("TP3", from_entry="Long", limit=longTP3)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("TP1", from_entry="Short", limit=shortTP1, stop=shortSL)
strategy.exit("TP2", from_entry="Short", limit=shortTP2)
strategy.exit("TP3", from_entry="Short", limit=shortTP3)
// === Labels === //
plotshape(longCondition, title="Long Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(shortCondition, title="Short Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")
// === Alerts === //
alertcondition(longCondition, title="Long Signal", message="DOT Buy Signal near support with bullish trend")
alertcondition(shortCondition, title="Short Signal", message="DOT Sell Signal near resistance with bearish trend")