이 전략은 FVG 기반의 모멘텀 스칼핑 전략이다. 이 전략은 FVG 지표에서 상승 및 하락 신호를 인식함으로써 시장에서 잠재적 인 단기 거래 기회를 식별합니다. 이 전략은 잠재적 인 손실을 제한하고 이익을 극대화하기 위해 긴 스톱 손실과 수익 목표를 사용합니다. 단기 시간 프레임 (예: 1 분 또는 5 분 차트) 을 위해 설계되었습니다.
이 전략은 잠재적 인 거래 기회를 식별하기 위해 FVG 지표를 사용합니다. FVG 지표는 현재 폐쇄 가격을 이전 세 개의 촛불의 가장 높고 가장 낮은 가격과 비교하여 상승과 하락 신호를 결정합니다. 현재 종료 가격이 이전 세 개의 촛불의 가장 높은 가격보다 높으면 상승 신호가 유발됩니다. 반대로 현재 종료 가격이 이전 세 개의 촛불의 가장 낮은 가격보다 낮으면 하락 신호가 유발됩니다.
거래 신호가 결정되면 전략은 FVG 범위의 중간 지점에서 구매 또는 판매 명령을 실행합니다. 긴 거래의 경우 스톱 손실은 FVG 최저치보다 1% 낮고 수익 목표물은 FVG 최고치보다 2% 높습니다. 짧은 거래의 경우 스톱 손실은 FVG 최고치보다 1% 높고 수익 목표물은 FVG 최저치보다 2% 낮습니다.
이 전략은 잠재적 인 거래 기회를 식별하기 위해 간단하면서도 효과적인 FVG 지표를 사용합니다. FVG 지표는 단기 가격 동력을 포착하여 트렌드 형성의 초기 단계에서 거래를 돕습니다.
이 전략은 잠재적 인 손실을 제한하고 이익을 극대화하기 위해 긴 정지 손실과 수익 목표를 사용합니다. 이것은 위험을 관리하고 전반적인 수익성을 향상시키는 데 도움이됩니다.
이 전략은 시장의 단기 변동을 활용하여 단기 시간 프레임에 적합합니다. 이것은 전략이 변화하는 시장 조건에 신속하게 적응 할 수있게합니다.
이 전략은 FVG 지표가 제공하는 거래 신호에 의존합니다. FVG 지표가 가격 동력을 파악하는 데 효과적이지만 모든 거래에서 성공을 보장하지는 않습니다. 잘못된 신호는 거래 손실로 이어질 수 있습니다.
이 전략은 고정된 스톱 손실과 수익 목표를 사용합니다. 이것은 위험을 관리하는 데 도움이되지만 잠재적 인 이윤을 제한 할 수도 있습니다. 강한 트렌드 동안 가격은 미리 정의된 수익 목표를 초과 할 수 있습니다.
스칼핑 전략은 높은 거래 빈도와 비용에 직면합니다. 빈번한 거래는 상당한 미끄러짐과 수수료를 발생시켜 전반적인 수익성에 영향을 줄 수 있습니다.
전략에 동적 스톱 손실 및 이익 목표를 포함하는 것을 고려하십시오. 시장 변동성과 트렌드 강도에 따라 스톱 손실 및 이익 목표를 조정하면 다른 시장 조건에 더 잘 적응 할 수 있습니다.
다른 기술적 지표 (예를 들어, 이동 평균 또는 상대 강도 지표) 를 FVG 지표와 결합하여 추가 확인 및 필터링을 제공합니다. 이것은 잘못된 신호를 줄이고 거래 정확성을 향상시키는 데 도움이 될 수 있습니다.
최적의 매개 변수 설정 (예를 들어, FVG 기간, 스톱 손실 및 이익 목표 비율) 을 결정하기 위해 전략을 백테스트하고 최적화하십시오. 이러한 매개 변수를 정밀 조정하면 전략의 전반적인 성능을 향상시킬 수 있습니다.
요약하자면, FVG 모멘텀 스칼핑 전략은 FVG 지표를 사용하여 단기 시간 프레임 내에서 가격 모멘텀을 포착하는 간단하면서도 효과적인 전략입니다. 긴 스톱 손실과 이익 목표를 사용하여 전략은 위험을 관리하고 이익을 극대화합니다. 그러나 전략은 또한 잘못된 신호, 고정 스톱 손실 및 이익 목표 및 높은 거래 빈도와 같은 위험에 직면합니다. 전략을 더 최적화하기 위해, 다른 기술적 지표와 결합하여 동적 스톱 손실 및 이익 목표를 구현하고 전략 매개 변수를 최적화하는 것을 고려하십시오. 이러한 개선으로, FVG 모멘텀 스칼핑 전략은 더 견고하고 신뢰할 수있는 거래 도구가 될 수 있습니다.
/*backtest start: 2023-05-22 00:00:00 end: 2024-05-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ScalpingStrategy", overlay=true) // Define the FVG calculation fvgLow = ta.lowest(low, 3) fvgHigh = ta.highest(high, 3) var float entrySL=0 // Define the Bullish and Bearish FVG conditions bullishFVG = low[1] > high[3] bearishFVG = high[1] < low[3] // Define the mid-point of the FVG range fvgMid = (fvgLow + fvgHigh) / 2 // Define the buy and sell conditions buyCondition = bullishFVG and close >= fvgMid and low<=fvgHigh sellCondition = bearishFVG and close <= fvgMid and high>=fvgLow // Plot buy and sell signals plotshape(buyCondition, style=shape.labelup, location=location.belowbar, color=color.green, text="B") plotshape(sellCondition, style=shape.labeldown, location=location.abovebar, color=color.red, text="S") // Execute buy and sell orders var float targetLong = 0 var float targetShort = 0 if (buyCondition) strategy.entry("Buy", strategy.long) targetLong := high * 1.0012 // Calculate target price 2% above high strategy.exit("Target", "Buy", limit=targetLong) entrySL=fvgLow*0.994 if (sellCondition) strategy.entry("Sell", strategy.short) targetShort := low * 0.994 // Calculate target price 2% below low strategy.exit("Target", "Sell", limit=targetShort) entrySL=fvgHigh*1.0028 // Trailing stoploss //stopLossLong = fvgLow * 0.997 // strategy.position_avg_price * 0.995 //stopLossShort = fvgHigh * 1.003 // strategy.position_avg_price * 1.005 stopLossLong = math.max(fvgLow * 0.997, strategy.position_avg_price * 0.995) stopLossShort = math.min(fvgHigh * 1.003, strategy.position_avg_price * 1.005) // Plot stoploss lines with small length plot(stopLossLong, title="Stop Loss Long", color= strategy.position_size > 0 ? color.red : na, linewidth=1) plot(stopLossShort, title="Stop Loss Short", color= strategy.position_size < 0 ? color.red : na, linewidth=1) plot(targetLong, title="TLong", color= strategy.position_size > 0 ? color.green : na, linewidth=1) plot(targetShort, title="TShort",color= strategy.position_size < 0 ? color.green : na, linewidth=1) // Exit with stoploss strategy.exit("Stop Loss", "Buy", stop=stopLossLong) strategy.exit("Stop Loss", "Sell", stop=stopLossShort)