last ...
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user