This commit is contained in:
2026-02-12 19:39:53 +03:30
parent 7a26df1194
commit 3ccaf9981d
@@ -136,7 +136,8 @@ class XCX121XKIPOIDetector : public XCMarketPatternDetector
} }
// //
if (minFVGAllowedPoints < 0) { if (minFVGAllowedPoints < 0)
{
minFVGAllowedPoints = 0; minFVGAllowedPoints = 0;
} }
@@ -168,48 +169,82 @@ class XCX121XKIPOIDetector : public XCMarketPatternDetector
// //
// Initialize Bar ... // Initialize Bar ...
has = tmpBar.Init(forSymbol, forPeriod, i); has = tmpBar.Init(forSymbol, forPeriod, i);
if (has) if (!has)
{ {
continue;
}
// //
// Next Step is Detect Sequence Same Directional Bars ... // Check Same Bars ...
has = HasSameBars(tmpBar, tmpDir, tmpCount, minAllowedSameDirectionalBars); has = HasSameBars(tmpBar, tmpDir, tmpCount, minAllowedSameDirectionalBars);
if (has)
{
//
// Zone Bar ...
XOHCL zoneBar;
has = zoneBar.Init(tmpBar.symbol, tmpBar.period, i + tmpCount + 1);
//
// Validate Zone Bar Direction ...
has = has && has = has &&
zoneBar.GetDirection() != tmpBar.GetDirection(); IsXBullish(tmpDir);
if (has) if (!has)
{ {
// //
// Validate FVG Exists ... tmpCount = 0;
CollectFVGs(tmpBar, tmpFVGs, 5, 0, zoneBar.Index() - tmpBar.Index());
FilterZones(tmpBar, tmpFVGs, tmpBar.GetDirection(), X_PRICE_CLOSE, tmpBar.GetDirection());
has = ArraySize(tmpFVGs) > 0;
if (has && minFVGAllowedPoints > 0) {
//
// Validate FVG Gap
}
//
if (has)
{
DebugBreak();
}
}
//
zoneBar.Clean();
}
//
tmpBar.Clean(); tmpBar.Clean();
tmpDir = X_DIRECTION_NONE;
//
continue;
} }
//
DebugBreak();
//
// Cleanup Resources ...
tmpCount = 0;
tmpBar.Clean();
tmpDir = X_DIRECTION_NONE;
//
// if (has)
// {
// //
// // Next Step is Detect Sequence Same Directional Bars ...
// has = HasSameBars(tmpBar, tmpDir, tmpCount, minAllowedSameDirectionalBars);
// if (has)
// {
// //
// // Zone Bar ...
// XOHCL zoneBar;
// has = zoneBar.Init(tmpBar.symbol, tmpBar.period, i + tmpCount + 1);
// //
// // Validate Zone Bar Direction ...
// has = has &&
// zoneBar.GetDirection() != tmpBar.GetDirection();
// if (has)
// {
// //
// // Validate FVG Exists ...
// CollectFVGs(tmpBar, tmpFVGs, 5, 0, zoneBar.Index() - tmpBar.Index());
// FilterZones(tmpBar, tmpFVGs, tmpBar.GetDirection(), X_PRICE_CLOSE, tmpBar.GetDirection());
// has = ArraySize(tmpFVGs) > 0;
// if (has && minFVGAllowedPoints > 0)
// {
// //
// // Validate FVG Gap
// }
// //
// if (has)
// {
// DebugBreak();
// }
// }
// //
// zoneBar.Clean();
// }
// //
// tmpBar.Clean();
// }
} }
// //