This commit is contained in:
2025-03-03 02:29:55 +03:30
parent c9861773ec
commit 6a3fb91e9c
10 changed files with 14692 additions and 4394 deletions
+86 -16
View File
@@ -60,6 +60,12 @@ input group "ADX Detection";
input int adxLength = 14; // ADX Length
input double adxThreshold = 25; // ADX Threshold for Strong Trends
//
input group "POI Detection";
input ENUM_TIMEFRAMES orderBlockTF = PERIOD_H1; // Order Block Detection Time Frame
input ENUM_TIMEFRAMES fairValueGapTF = PERIOD_M15; // Fair Value Gap Detection Time Frame
input ENUM_TIMEFRAMES supDemTF = PERIOD_H4; // Supply and Demand Detection Time Frame
//
input group "Alert";
input bool mXWZEnableAlerts = true; // Enable Alerts
@@ -1880,11 +1886,26 @@ void DetectOrderBlock(XOHCL &bar)
return;
}
//
int iBarIndex = bar.Index(orderBlockTF);
//
XOHCL iBar;
bool isInited = iBar.Init(
bar.symbol,
orderBlockTF,
iBarIndex //
);
if (!isInited)
{
return;
}
//
XOHCL zoneBar;
ENUM_X_DIRECTION zoneDir;
has = mXWZBarAnalyser.HasOrderBlock(
bar,
iBar,
zoneBar,
zoneDir,
mXWZOBFVGSameBars //
@@ -1928,7 +1949,7 @@ void DetectOrderBlock(XOHCL &bar)
zoneDir,
startedBar,
isBodyOut,
bar.period //
iBar.period //
);
//
@@ -1960,7 +1981,7 @@ void DetectOrderBlock(XOHCL &bar)
activationBar,
isActivationBarBodyIn,
false,
bar.period //
iBar.period //
);
//
@@ -2005,7 +2026,7 @@ void DetectOrderBlock(XOHCL &bar)
breakedBar,
isBodyOut,
false,
bar.period //
iBar.period //
);
//
@@ -2078,6 +2099,7 @@ void DetectOrderBlock(XOHCL &bar)
}
//
iBar.Clean();
zoneBar.Clean();
}
@@ -2096,12 +2118,27 @@ void DetectFairValueGap(XOHCL &bar)
return;
}
//
int iBarIndex = bar.Index(fairValueGapTF);
//
XOHCL iBar;
bool isInited = iBar.Init(
bar.symbol,
fairValueGapTF,
iBarIndex //
);
if (!isInited)
{
return;
}
//
XOHCL zoneEndBar;
XOHCL zoneStartBar;
ENUM_X_DIRECTION zoneDir;
has = mXWZBarAnalyser.HasFairValueGap(
bar,
iBar,
zoneStartBar,
zoneEndBar,
zoneDir,
@@ -2149,7 +2186,7 @@ void DetectFairValueGap(XOHCL &bar)
zoneDir,
startedBar,
isBodyOut,
bar.period //
iBar.period //
);
//
@@ -2182,7 +2219,7 @@ void DetectFairValueGap(XOHCL &bar)
activationBar,
isActivationBarBodyIn,
false,
bar.period //
iBar.period //
);
//
@@ -2215,7 +2252,7 @@ void DetectFairValueGap(XOHCL &bar)
breakedBar,
isBodyOut,
false,
bar.period //
iBar.period //
);
//
@@ -2291,6 +2328,7 @@ void DetectFairValueGap(XOHCL &bar)
}
//
iBar.Clean();
zoneEndBar.Clean();
zoneStartBar.Clean();
}
@@ -2310,6 +2348,21 @@ void DetectSupplyZone(XOHCL &bar)
return;
}
//
int iBarIndex = bar.Index(supDemTF);
//
XOHCL iBar;
bool isInited = iBar.Init(
bar.symbol,
supDemTF,
iBarIndex //
);
if (!isInited)
{
return;
}
//
int range = mXWZSuResRange * 2;
@@ -2317,7 +2370,7 @@ void DetectSupplyZone(XOHCL &bar)
XOHCL zoneBar;
ENUM_X_DIRECTION zoneDir = X_DIRECTION_BEARISH;
has = mXWZBarAnalyser.HasResistance(
bar,
iBar,
zoneBar,
range //
);
@@ -2361,7 +2414,7 @@ void DetectSupplyZone(XOHCL &bar)
zoneDir,
startedBar,
isBodyOut,
bar.period //
iBar.period //
);
//
@@ -2393,7 +2446,7 @@ void DetectSupplyZone(XOHCL &bar)
activationBar,
isActivationBarBodyIn,
false,
bar.period //
iBar.period //
);
//
@@ -2425,7 +2478,7 @@ void DetectSupplyZone(XOHCL &bar)
breakedBar,
isBodyOut,
false,
bar.period //
iBar.period //
);
//
@@ -2498,6 +2551,7 @@ void DetectSupplyZone(XOHCL &bar)
}
//
iBar.Clean();
zoneBar.Clean();
}
@@ -2516,6 +2570,21 @@ void DetectDemandZone(XOHCL &bar)
return;
}
//
int iBarIndex = bar.Index(supDemTF);
//
XOHCL iBar;
bool isInited = iBar.Init(
bar.symbol,
supDemTF,
iBarIndex //
);
if (!isInited)
{
return;
}
//
int range = mXWZSuResRange * 2;
@@ -2523,7 +2592,7 @@ void DetectDemandZone(XOHCL &bar)
XOHCL zoneBar;
ENUM_X_DIRECTION zoneDir = X_DIRECTION_BULLISH;
has = mXWZBarAnalyser.HasSupport(
bar,
iBar,
zoneBar,
range //
);
@@ -2567,7 +2636,7 @@ void DetectDemandZone(XOHCL &bar)
zoneDir,
startedBar,
isBodyOut,
bar.period //
iBar.period //
);
//
@@ -2599,7 +2668,7 @@ void DetectDemandZone(XOHCL &bar)
activationBar,
isActivationBarBodyIn,
false,
bar.period //
iBar.period //
);
//
@@ -2631,7 +2700,7 @@ void DetectDemandZone(XOHCL &bar)
breakedBar,
isBodyOut,
false,
bar.period //
iBar.period //
);
//
@@ -2704,6 +2773,7 @@ void DetectDemandZone(XOHCL &bar)
}
//
iBar.Clean();
zoneBar.Clean();
}