이 전략은 단순한 이동 평균 (SMA) 크로스오버와 공정 가치 격차 (FVG) 풀백을 결합한 포괄적인 거래 시스템이다. 이는 8 기간 및 20 기간 SMA의 크로스오버를 활용하여 잠재적 인 트렌드 변화를 식별하고, FVG를 사용하여 보다 정확한 입점 지점을 결정하는 데 사용됩니다. 이 접근법은 주요 지원 / 저항 영역에 대한 가격 풀백을 기다리는 것으로 입점 타이밍을 최적화하면서 시장 트렌드 변화를 포착하는 것을 목표로합니다.
SMA 크로스오버: 8개 기간 및 20개 기간의 간단한 이동 평균을 사용합니다. 단기 SMA가 장기 SMA를 넘을 때 상승 신호가 생성되며, 단기 SMA가 장기 SMA를 넘을 때 하락 신호가 생성됩니다.
공정 가치 격차 (FVG): 현재 촛불의 최고가 이전 촛불의 최고보다 높고 현재 촛불의 최저가 이전 촛불의 최저보다 낮을 때 FVG가 형성됩니다. 이 가격 범위는 시장이
입국 조건:
출구 조건: 반대 SMA 교차가 발생하면 포지션을 닫습니다.
트렌드 추종과 인기를 결합합니다. SMA 크로스오버와 FVG 인기를 통합함으로써 전략은 더 유리한 가격 수준으로 진입하면서 주요 트렌드를 포착 할 수 있습니다.
잘못된 신호를 줄여줍니다. 가격이 FVG로 되돌아갈 때까지 기다리는 것은 잠재적 인 잘못된 크로스오버 신호를 필터링하여 거래 정확도를 향상시킬 수 있습니다.
리스크 관리: FVG를 입구점으로 사용하는 것은 자연스럽게 더 엄격한 스톱 로스 투입을 제공하며 위험을 제어하는 데 도움이됩니다.
적응성: 전략은 SMA 기간과 FVG 매개 변수를 조정함으로써 다른 시장 환경과 거래 도구에 적응할 수 있습니다.
객관성: 명확한 기술 지표와 가격 행동에 기초하여 주관적 판단의 영향을 줄입니다.
혼란 시장 위험: 범위 또는 불안정한 시장에서 빈번한 SMA 교차가 과도한 거래와 손실로 이어질 수 있습니다.
지연: 지연 지표로서, SMA는 트렌드의 시작에서 몇 가지 기회를 놓칠 수 있습니다.
가짜 브레이크오웃 위험: 가격은 잠시 FVG를 뚫고 후퇴하여 잘못된 신호를 일으킬 수 있습니다.
시장 격차 위험: 변동성 있는 시장에서 FVG 영역을 넘어 가격 격차가 발생할 수 있어 거래 기회를 놓칠 수 있습니다.
매개 변수 민감성: 전략 성능은 SMA 기간과 FVG 정의 매개 변수에 민감할 수 있으므로 신중한 최적화가 필요합니다.
동적 SMA 기간: 다른 시장 조건에 적응하기 위해 시장 변동성에 기초한 동적 SMA 기간을 조정하는 것을 고려하십시오.
추가 필터: 추세를 확인하고 잘못된 신호를 줄이기 위해 추가 기술 지표 (RSI 또는 MACD) 를 도입하십시오.
FVG 정의를 개선: FVG 정의를 위해 여러 촛불을 사용하거나 FVG 효과를 검증하기 위해 볼륨을 고려하십시오.
출구 전략을 최적화: 수익을 더 잘 보호하기 위해 후속 중지 또는 변동성 기반 동적 중지를 구현하십시오.
시간 필터를 추가: FVG의 형성 시간을 고려하여 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")