FVVG tối ưu

This commit is contained in:
Bell
2026-03-11 19:34:20 +07:00
parent e384f21c9c
commit 77fa092420
2 changed files with 9 additions and 6 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ input int InpFVGMaxAgeBars = 50;
input double InpFVGMinBodyPct = 50.0;
input double InpFVGMinSizePoints = 0;
input double InpFVGTouchedPercent = 40.0;
input double InpFVGMinGapVsImpulsePct = 40.0;
input double InpFVGMinGapVsImpulsePct = 30.0;
input double InpFVGMaxOuterBarRatio = 2.0;
//--- Step 3: Trading ---
+8 -5
View File
@@ -177,15 +177,18 @@ void ScanForNewFVGs()
double rangeA = candleA_High - candleA_Low;
double rangeB = candleB_High - candleB_Low;
double rangeC = candleC_High - candleC_Low;
double bodyB = MathAbs(candleB_Close - candleB_Open);
if(rangeB <= 0)
continue;
if(bodyB <= 0)
continue;
double maxOuterRatio = InpFVGMaxOuterBarRatio;
if(rangeA > maxOuterRatio * rangeB || rangeC > maxOuterRatio * rangeB)
continue;
double minGapVsImpulse = InpFVGMinGapVsImpulsePct / 100.0;
double minGapVsBody = InpFVGMinGapVsImpulsePct / 100.0;
//--- Bullish FVG: gap between A.High and C.Low ---
if(candleA_High < candleC_Low
@@ -193,9 +196,9 @@ void ScanForNewFVGs()
&& IsImpulseCandleStrong(symbol, InpTimeframe, shiftB))
{
double gap = candleC_Low - candleA_High;
double gapRatio = gap / rangeB;
double gapRatio = gap / bodyB;
if(gapRatio >= minGapVsImpulse && !FVGAlreadyTracked(fvgTime, FVG_BULLISH))
if(gapRatio >= minGapVsBody && !FVGAlreadyTracked(fvgTime, FVG_BULLISH))
{
double slRef = candleB_Low; // bar2.low
AddFVGZone(FVG_BULLISH, candleC_Low, candleA_High, slRef, fvgTime);
@@ -208,9 +211,9 @@ void ScanForNewFVGs()
&& IsImpulseCandleStrong(symbol, InpTimeframe, shiftB))
{
double gap = candleA_Low - candleC_High;
double gapRatio = gap / rangeB;
double gapRatio = gap / bodyB;
if(gapRatio >= minGapVsImpulse && !FVGAlreadyTracked(fvgTime, FVG_BEARISH))
if(gapRatio >= minGapVsBody && !FVGAlreadyTracked(fvgTime, FVG_BEARISH))
{
double slRef = candleB_High; // bar2.high
AddFVGZone(FVG_BEARISH, candleA_Low, candleC_High, slRef, fvgTime);