This commit is contained in:
2025-02-19 00:16:57 +03:30
parent 6ab805765c
commit 8bb5a6cb06
4 changed files with 644 additions and 107 deletions
+148 -11
View File
@@ -553,6 +553,7 @@ struct X121SMCStrategyXWZSignalConditions
ENUM_X_DIRECTION forDir,
XPOIState &htfState,
XPOIState &mtfState,
XPOIState &stfState,
int barIndex = 0,
ENUM_TIMEFRAMES forPeriod = NULL,
XCPOIDrawer *drawer = NULL //
@@ -568,6 +569,7 @@ struct X121SMCStrategyXWZSignalConditions
IsValid(period) &&
htfState.HasChild() &&
mtfState.HasChild() &&
stfState.HasChild() &&
HasDirection(forDir)
//
;
@@ -595,7 +597,7 @@ struct X121SMCStrategyXWZSignalConditions
count = ExtractOBFVGZones(
htfState,
mtfState,
mtfState,
stfState,
tmpOBFVGs,
forDir,
NULL, // For Period ...
@@ -620,7 +622,11 @@ struct X121SMCStrategyXWZSignalConditions
true, // From Filter ...
true, // Place Filter ...
//
true // Ignore Inside in Place Filter ...
true, // Ignore Inside in Place Filter ...
//
true, // Detect Inside OB POI(s) ...
false, // Detect Inside FVG POI(s) ...
true // Apply From Filter to Selected POI(s) ...
);
has = IsValidSize(count);
if (has)
@@ -630,20 +636,151 @@ struct X121SMCStrategyXWZSignalConditions
{
//
XOBFVG iOBFVG = tmpOBFVGs[i];
iOBFVG.UpdateTo(NULL);
// //
// if (iOBFVG.HasOB())
// {
// //
// XCBaseObject *iObj;
// drawer.CreateOrderBlock(
// iOBFVG.ob,
// iObj //
// );
// //
// if (stfState.HasSupplyZones())
// {
// //
// for (int j = 0; j < stfState.CountSupplyZones(); j++)
// {
// //
// XCSupplyZone *jZone = stfState.supplyZones[j];
// //
// bool isInside = IsInsideDiff(
// jZone,
// iOBFVG.ob,
// false //
// );
// //
// if (isInside)
// {
// //
// XCSupplyZoneObject *iObj;
// drawer.CreateSupplyZone(
// jZone,
// iObj //
// );
// }
// }
// }
// //
// if (stfState.HasDemandZones())
// {
// //
// for (int j = 0; j < stfState.CountDemandZones(); j++)
// {
// //
// XCDemandZone *jZone = stfState.demandZones[j];
// //
// bool isInside = IsInsideDiff(
// jZone,
// iOBFVG.ob,
// false //
// );
// //
// if (isInside)
// {
// //
// XCDemandZoneObject *iObj;
// drawer.CreateDemandZone(
// jZone,
// iObj //
// );
// }
// }
// }
// //
// if (stfState.HasSupportZones())
// {
// //
// for (int j = 0; j < stfState.CountSupportZones(); j++)
// {
// //
// XCSupportZone *jZone = stfState.supportZones[j];
// //
// bool isInside = IsInsideDiff(
// jZone,
// iOBFVG.ob,
// false //
// );
// //
// if (isInside)
// {
// //
// XCSupportZoneObject *iObj;
// drawer.CreateSupportZone(
// jZone,
// iObj //
// );
// }
// }
// }
// //
// if (stfState.HasResistanceZones())
// {
// //
// for (int j = 0; j < stfState.CountResistanceZones(); j++)
// {
// //
// XCResistanceZone *jZone = stfState.resistanceZones[j];
// //
// bool isInside = IsInsideDiff(
// jZone,
// iOBFVG.ob,
// false //
// );
// //
// if (isInside)
// {
// //
// XCResistanceZoneObject *iObj;
// drawer.CreateResistanceZone(
// jZone,
// iObj //
// );
// }
// }
// }
// }
//
XCBaseObject *iOBObjs[];
int drawnCount = drawer.DrawOrderBlock(
iOBFVG.ob,
iOBObjs //
XCBaseObject *drawnObjects[];
int drawnObjectsCount = drawer.DrawOBFVG(
iOBFVG,
drawnObjects,
//
true, // Draw Order Block ...
true, // Draw Fair Value Gap ...
true, // Draw Supply Zones ...
true, // Draw Demand Zones ...
true, // Draw Support Zones ...
true // Draw Resistance Zones ...
);
//
XCBaseObject *iFVGObjs[];
drawnCount = drawer.DrawFairValueGap(
iOBFVG.fvg,
iFVGObjs //
);
iOBFVG.Clean();
}
}