
이 전략은 간단한 이동 평균 ((SMA) 교차와 공정 가치 격차 ((FVG) 재조정을 결합한 통합 거래 시스템입니다. 8주기 및 20주기 SMA의 교차를 사용하여 잠재적인 트렌드 변화를 식별하고 동시에 FVG를 사용하여 더 정확한 진입 지점을 결정합니다. 이 방법은 시장의 트렌드 변화를 포착하는 동시에 중요한 지지/저항 지역으로의 가격 재조정을 기다리는 것으로 진입 기회를 최적화합니다.
SMA 교차: 8주기와 20주기의 간단한 이동 평균을 사용한다. 단기 SMA 상에서 긴 SMA를 뚫을 때, 상향 신호로 간주한다. 단기 SMA 아래에서 긴 SMA를 뚫을 때, 상향 신호로 간주한다.
공정 가치 격차 (Fair Value Gap, FVG): FVG는 현재 의 고점이 이전 의 고점보다 높고, 현재 의 저점은 이전 의 저점보다 낮을 때 형성되는 가격 범위를 의미한다. 이 범주는 시장이 “공정한 가치를” 찾고 있다고 여겨진다.
입장 조건:
출구 조건: 반대 방향으로 SMA가 교차할 때 평점.
트렌드 추적과 회귀 결합: SMA 교차와 FVG 회귀를 결합함으로써, 전략은 큰 트렌드를 포착할 수 있고, 더 유리한 가격 수준에서 진입할 수 있다.
가짜 신호를 줄여라: 가격을 FVG로 되돌리는 것을 기다리는 것은 가짜 교차 신호를 필터링하여 거래의 정확도를 높일 수 있다.
위험 관리: FVG를 입력 포인트로 사용하면 자연적으로 더 긴밀한 손해 중지 위치를 제공하여 위험을 제어하는 데 도움이 됩니다.
적응성: SMA 주기와 FVG 파라미터를 조정하여 전략은 다른 시장 환경과 거래 품종에 적응할 수 있습니다.
객관성: 명확한 기술 지표와 가격 행동에 기반하여 주관적 판단의 영향을 줄인다.
흔들리는 시장 위험: 수평 또는 흔들리는 시장에서, 자주 SMA 교차는 과도한 거래와 손실을 초래할 수 있다.
뒤처진성: SMA는 뒤처진 지표로, 트렌드 초기에 몇 가지 기회를 놓칠 수 있다.
가짜 돌파 위험: 가격이 잠시 FVG를 돌파한 후 다시 떨어질 수 있으며, 이는 가짜 신호로 이어진다.
시장 구멍 위험: 급격한 변동 시장에서 가격이 FVG 영역을 건너뛰고 거래 기회를 놓치게 될 수 있습니다.
매개 변수 민감성: 전략 성능은 SMA 주기 및 FVG 정의 매개 변수에 민감할 수 있으며, 신중한 최적화가 필요합니다.
동적 SMA 주기: 시장의 변동성에 따라 동적으로 SMA 주기 조정하는 것을 고려할 수 있습니다.
필터링 조건을 추가: 추세를 확인하기 위해 추가 기술 지표 (RSI 또는 MACD와 같은) 를 도입하여 가짜 신호를 줄이십시오.
FVG 정의를 개선: FVG를 정의하기 위해 다중 K선을 사용하거나, FVG의 유효성을 검증하기 위해 트래픽을 고려할 수 있다.
최적화된 출전 전략: 이윤을 더 잘 보호하기 위해 추적 중지 또는 변동율 기반의 동적 중지를 도입할 수 있습니다.
시간 필터를 추가합니다. FVG의 형성 시간을 고려하여 FVG의 유효성을 보장하기 위해 시간 창을 설정해야 할 수 있습니다.
리스크 관리 최적화: 시장의 변동성 동력에 따라 포지션 크기를 조정하여 보다 세밀한 리스크 통제를 실현한다.
“SMA 교차 전략과 공정 가치 격차 회귀를 결합한 통합 거래 시스템”은 트렌드 추적과 가격 회귀를 결합한 지능형 거래 전략이다. SMA 교차 신호와 FVG 회귀를 결합하여 트렌드 초기에 더 나은 가격 수준으로 거래하는 것을 목표로 한다. 전략은 트렌드를 포착하고 진입 지점을 최적화하는 잠재력을 가지고 있지만, 흔들리는 시장과 변수 최적화와 같은 도전을 직면한다.
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("8 SMA and 20 SMA with FVG Pullback", overlay=true)
// Input parameters
smaShortLength = input.int(8, title="Short SMA Length")
smaLongLength = input.int(20, title="Long SMA Length")
// Calculate SMAs
smaShort = ta.sma(close, smaShortLength)
smaLong = ta.sma(close, smaLongLength)
// Plot SMAs
plot(smaShort, title="8 SMA", color=color.blue)
plot(smaLong, title="20 SMA", color=color.red)
// Identify SMA crossovers
longCondition = ta.crossover(smaShort, smaLong)
shortCondition = ta.crossunder(smaShort, smaLong)
// Fair Value Gaps (FVG) logic
var float fvgHigh = na
var float fvgLow = na
if (ta.valuewhen(high[1] < high and low[1] > low, high, 0) and ta.valuewhen(high[1] < high and low[1] > low, low, 0))
fvgHigh := high
fvgLow := low
plot(fvgHigh, title="FVG High", color=color.purple, linewidth=1, style=plot.style_line)
plot(fvgLow, title="FVG Low", color=color.orange, linewidth=1, style=plot.style_line)
// Entry conditions
if (longCondition)
if (low <= fvgLow)
strategy.entry("Long", strategy.long)
if (shortCondition)
if (high >= fvgHigh)
strategy.entry("Short", strategy.short)
// Exit conditions (optional, you can modify these as per your risk management strategy)
if (ta.crossunder(smaShort, smaLong))
strategy.close("Long")
if (ta.crossover(smaShort, smaLong))
strategy.close("Short")