
이것은 고정된 가격 레벨 ((5달러 전체 관문) 을 기반으로 한 단선 거래 전략으로, 가격 심리 관문, 트렌드 필터, 그리고 변동율이 정지점에 적응하는 장점을 결합합니다. 이 전략은 금 1분 차트에 초점을 맞추고, 가격이 5달러 전체 관문을 만지거나 넘을 때 거래하며, EMA 필터 트렌드 방향을 사용하며, 고정된 정지 손실과 ATR 기반의 동적 정지점을 설정합니다. 중요한 심리 가격에서 높은 주파수 거래를 함으로써, 이 전략은 단기 가격 변동을 포착하여 신속하고 통제 가능한 수익을 달성합니다.
이 전략의 핵심 논리는 다음과 같은 몇 가지 핵심 요소에 기반합니다.
가격 레벨 계산사용:math.round(close/step) * step현재 가격을 가장 가까운 5달러의 정수까지 둥글게 묶어서 거래 기준점을 만들어 보세요.
트렌드 필터50주기 EMA를 이용해서ta.ema(close, emaLen)) 전체적인 트렌드 방향을 결정하고, 가격이 EMA보다 높을 때만 더 많이 하고, EMA보다 낮을 때 더 많이 하지 않는다.
변동률 계산14주기 ATR을 사용한다.ta.atr(atrLen)) 시장의 변동성을 측정하여 동적으로 정지 목표를 조정합니다.
출입 신호:
ta.crossover(close, lvl) and close > emaTrend)ta.crossunder(close, lvl) and close < emaTrend)위험 관리:
간단하고 명확한 입시 논리전략: 거래의 발동점으로 정수 가격 문을 사용하는 전략. 이러한 심리적 가격은 시장 참가자들의 관심의 중심이 되어 신호의 신뢰성을 증가시킨다.
추세와 가격행동의 결합: EMA 트렌드 필터와 함께 가격의 심리적 문을 뚫는 행동은 입시 신호의 품질을 향상시키고 역동적인 거래를 피합니다.
위험 적응 관리: 고정된 스톱로즈와 변동성에 기반한 동적 스톱로즈와 결합하여, 거래당 최대 위험을 엄격하게 통제할 수 있고, 시장 상황에 따라 수익 목표를 유연하게 조정할 수 있다.
자동 반전 평정 메커니즘: 역전 신호가 발생했을 때 자동으로 포지션을 청산하여 역전 포지션을 보유하지 않고 잠재적인 손실을 줄인다.
매개 변수 조정: 전략은 여러 가지 조정 가능한 파라미터를 제공합니다 (EMA 길이는, ATR 주기는, 가격 단계 길이는, 중단 범위, 중지 곱하기), 다른 시장 조건과 개인 위험 선호도에 따라 최적화 할 수 있습니다.
고주파 거래의 위험1분 차트에서의 단선 전략으로 거래 빈도가 높을 수 있으며, 거래 비용 (점차와 수수료) 이 누적되어 전체 수익을 훼손합니다. 해결 방법: 추가 필터링 조건을 추가하여 거래 횟수를 줄이거나 더 높은 시간 주기로 조정하는 것을 고려하십시오.
고정 손실의 한계5달러의 고정된 스톱은 급격한 높은 변동성 상황에 대응하기에는 충분하지 않을 수 있습니다. 해결책: 스톱을 ATR 기반의 동적인 값으로 설계하여 다양한 변동 환경에 더 잘 적응하는 것을 고려하십시오.
가짜 침입 위험: 가격이 잠시 심리적 문을 뚫고 나서 급격히 물러나기 때문에 잘못된 신호가 자주 발생합니다. 해결 방법: 최소 시간 동안 문 근처에 머무르는 것을 요구하거나 추가 지표를 사용하여 확인하는 것과 같은 확인 메커니즘을 추가하십시오.
추세 변화 후기: EMA는 트렌드 지표로서 약간의 지연성을 가지고 있으며, 트렌드가 막 변했을 때 잘못된 신호를 일으킬 수 있습니다. 해결 방법: 더 민감한 트렌드 지표 또는 가격 형태 분석과 결합하는 것을 고려하십시오.
시장 소음: 1분 차트에서의 잡음이 너무 많은 오류 신호를 유발할 수 있다. 해결 방법: 신호 확인 메커니즘을 추가하거나 EMA 주기를 적절히 높여 감수성을 낮추는 것을 고려한다.
동적 상쇄 설계: 현재 고정된 5달러의 스톱로드를 ATR 기반의 동적인 값으로 바꾸어 다양한 변동률 환경에 더 잘 적응하도록 한다. 이렇게 하면 높은 변동률 시에는 가격에 더 큰 공간을 주고, 낮은 변동률 시에는 위험을 더 엄격하게 통제할 수 있다.
다중 시간 주기 확인: 더 높은 시간 주기를 추가하기 (예: 5분 또는 15분) 트렌드 확인, 여러 시간 주기의 트렌드가 일치할 때만 거래하면 신호 품질이 크게 향상됩니다.
거래 시간 필터: 시간 필터를 추가하여 낮은 유동성 또는 높은 변동성 시기를 피하십시오 (중요한 데이터 발표 시기와 같은)
수량 확인: 거래량 분석을 결합하여 가격의 심리적 경계를 돌파 할 때 충분한 시장 참여가 있는지 확인하고 가짜 돌파의 위험을 줄입니다.
최적화 매개 변수가 적응: 시장 조건에 따라 설계 매개 변수가 자동으로 조정되는 메커니즘 (예: 변동률의 주기적 변화) 이 전략이 다른 시장 환경에 더 잘 적응할 수 있도록합니다.
반전 가격 패턴 식별에 참여: 가격 형태 분석과 결합하여 (예: 삼키기 형태, 십자성 등) 신호 신뢰성을 강화합니다. 특히 심리 가격 근처에서 나타나는 중요한 반전 형태입니다.
고정밀 5달러 레벨 ATR 변동률 추적 고정 손실 전략은 가격 심리학과 기술 분석을 결합한 정교한 단선 거래 시스템이다. 가격과 정수 게이트의 상호작용을 포착하고, 트렌드 필터링과 지능적인 위험 관리를 결합하여 간단하고 효과적인 거래 방법을 만든다. 이 전략의 주요 장점은 명확한 입점 논리와 유연한 위험 제어 장치이며, 특히 빠른 속도로 짧은 거래자를위한 것이다.
고정 스톱과 동적 스톱을 결합함으로써 이 전략은 위험을 통제할 수 있게 하는 동시에 수익이 자연스럽게 확장될 수 있게 한다. 그러나 사용자는 고주파 거래 비용과 가짜 돌파의 위험에 주의를 기울여야 하며, 다중 시간 주기의 분석, 동적 스톱, 거래량 확인 등의 방법을 통해 시스템을 더욱 최적화하는 것을 고려해야 한다.
결국, 이 전략은 시장의 기술적 구조를 존중하면서 (EMA와 ATR을 통해) 시장 참여자의 심리적 행동을 활용하는 균형 잡힌 거래 방법을 나타냅니다. (원수 가격 문을 통해) 짧은 라인 거래자에게 신뢰할 수있는 프레임 워크를 제공합니다.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-21 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Scalping 5$ con SL Fisso & TP ATR", overlay=true)
// ───── INPUTS ─────
step = input.int(5, "Step livello (in $)", minval=1)
emaLen = input.int(50, "EMA Trend Length", minval=1)
atrLen = input.int(14, "ATR Length", minval=1)
slStep = input.int(5, "Stop Loss (fisso, in $)", minval=1)
tpMult = input.float(1.5, "TP ATR Multiplier", minval=0.1, step=0.1)
// ───── CALCOLI ─────
// Livelli arrotondati
lvl = math.round(close/step) * step
// Filtro di trend
emaTrend = ta.ema(close, emaLen)
// Volatilità ATR
atr = ta.atr(atrLen)
// ───── SEGNALI DI INGRESSO ─────
longTouch = ta.crossover(close, lvl) and close > emaTrend
shortTouch = ta.crossunder(close, lvl) and close < emaTrend
// ───── ORDINI LONG ─────
if longTouch
slPrice = close - slStep
tpPrice = close + tpMult * atr
strategy.entry("Long@5", strategy.long)
strategy.exit("Exit Long", "Long@5", stop=slPrice, limit=tpPrice)
// ───── ORDINI SHORT ─────
if shortTouch
slPrice = close + slStep
tpPrice = close - tpMult * atr
strategy.entry("Short@5", strategy.short)
strategy.exit("Exit Short", "Short@5", stop=slPrice, limit=tpPrice)
// ───── CHIUSURA SU SEGNALE OPPOSTO ─────
if strategy.position_size > 0 and shortTouch
strategy.close("Long@5")
if strategy.position_size < 0 and longTouch
strategy.close("Short@5")
// ───── PLOT ─────
plot(lvl, color=color.gray, title="Livello 5$")
plot(emaTrend, color=color.blue, title="EMA Trend")