This commit is contained in:
2025-02-20 14:25:32 +03:30
parent 39b9dc0388
commit 195276c221
8 changed files with 6853 additions and 4546 deletions
+28
View File
@@ -2341,6 +2341,34 @@ class XCOHCLObject : public XCBaseObject
mLowShadowRect.Fill(value);
}
void BarSpes(
int width = 1,
color clr = clrNONE,
ENUM_LINE_STYLE style = STYLE_SOLID,
bool fill = false //
)
{
//
BodyWidth(width);
LowShadowWidth(width);
HighShadowWidth(width);
//
BodyColor(clr);
LowShadowColor(clr);
HighShadowColor(clr);
//
BodyStyle(style);
LowShadowStyle(style);
HighShadowStyle(style);
//
BodyFill(fill);
LowShadowFill(fill);
HighShadowFill(fill);
}
//
// Virtual ...
+213
View File
@@ -927,13 +927,226 @@ else if (isPriceRejected)
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// When FVg is Worked ...
else
{
//
XCFVG *fvgs[];
if (isBullish)
{
//
Copy(
analyseState.bullishFairValueGaps,
fvgs //
);
}
else
{
//
Copy(
analyseState.bearishFairValueGaps,
fvgs //
);
}
//
// int count = ArraySize(fvgs);
// bool has = IsValidSize(count);
// if (has)
// {
// //
// for (int i = 0; i < count; i++)
// {
// //
// XCBaseObject *iObj;
// bool isCreate = visionCycleHelper
// .mPOIDrawer
// .CreateFairValueGap(
// fvgs[i],
// iObj //
// );
// }
// }
//
// Extract UnActivated FVGs ...
int fvgsCount = FilterZones(
//
fvgs,
//
trend,
NULL, // For Period ...
workerBar.time,
//
// Start ...
XZONE_STATE_IGNORED,
true, // Force Body Out ...
//
// Activation ...
XZONE_STATE_FAILED,
false, // Force Body Out ...
//
// Breaktion ...
XZONE_STATE_IGNORED,
false, // Force Body Out ...
//
// Works ...
XZONE_STATE_IGNORED,
false, // Body Out ...
//
true, // Apply Sorting ...
true // Ignore Inside ...
);
//
bool has = IsValidSize(fvgsCount);
if (has)
{
//
int youngestIDX = GetYoungest(fvgs);
has = IsValidIndex(youngestIDX);
if (has)
{
//
workingZone
.orderFlow[youngestOBFVGIDX]
.fvg = fvgs[youngestIDX];
//
workingZone.UpdateTo(cTime);
//
XCBaseObject *iFVGObj;
bool isCreated = visionCycleHelper
.mPOIDrawer.CreateFairValueGap(
fvgs[youngestIDX],
iFVGObj //
);
if (isCreated)
{
Print("");
}
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// TODO: Neews to Review ...
else if (
isOBWorked &&
isFVGWorked &&
isOBActivated &&
isFVGActivated &&
fvgActivationBar.time >= obActivationBar.time &&
fvgActivationBar.time <= obActivationBar.NextAt() &&
obWorkerBar.time > fvgWorkerBar.time)
{
//
XOHCL iBar;
bool isBarPassed = iBar.Init(
symbol,
period,
zIndex //
);
//
if (isBarPassed)
{
//
bool isBarInsideFVG =
isBullish
? (
//
iBar.low < workingZone.orderFlow[youngestOBFVGIDX].fvg.Upper() &&
iBar.high > workingZone.orderFlow[youngestOBFVGIDX].fvg.Lower() &&
//
consolidationZBar.low < workingZone.orderFlow[youngestOBFVGIDX].fvg.Upper()
//
)
: (
//
iBar.high > workingZone.orderFlow[youngestOBFVGIDX].fvg.Lower() &&
iBar.low < workingZone.orderFlow[youngestOBFVGIDX].fvg.Upper() &&
//
consolidationZBar.high > workingZone.orderFlow[youngestOBFVGIDX].fvg.Lower()
//
);
if (isBarInsideFVG)
{
Print("");
}
}
//
iBar.Clean();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
//
// TODO:
// Remove Drawn Objects ...
// //
// if (hasNewOB)
// {
// //
// XCBaseObject *iObj;
// bool isCreated = visionCycleHelper
// .mPOIDrawer
// .CreateOrderBlock(
// newOB,
// iObj //
// );
// Print("New OB");
// }
// //
// if (hasNewFVG)
// {
// //
// XCBaseObject *iObj;
// bool isCreated = visionCycleHelper
// .mPOIDrawer
// .CreateFairValueGap(
// newFVG,
// iObj //
// );
// Print("New FVG");
// }
// //
// if (hasNewAnalyseOB)
// {
// //
// XCBaseObject *iObj;
// bool isCreated = analyseCycleHelper
// .mPOIDrawer
// .CreateOrderBlock(
// newAnalyseOB,
// iObj //
// );
// Print("New OB");
// }
// //
// if (hasNewAnalyseFVG)
// {
// //
// XCBaseObject *iObj;
// bool isCreated = analyseCycleHelper
// .mPOIDrawer
// .CreateFairValueGap(
// newAnalyseFVG,
// iObj //
// );
// Print("New FVG");
// }
/////////////////////////////////////////////////////////////////////////////////////////////////////
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1
View File
@@ -25,6 +25,7 @@
#include "../../Classes/x-saherelm.x-poi.drawer.class.mq5"
#include "../../Helpers/x-saherelm.x121.helper.mq5"
#include "../../Libraries/x-saherelm.common.lib.mq5"
#include "../../Libraries/x-saherelm.x-poi.extensions.lib.mq5"
#include "../../Libraries/x-saherelm.x-poi.lib.mq5"
#include "../../Libraries/x-saherelm.x-trade.lib.mq5"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -58,7 +58,10 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
InitialHelpers();
//
mXWZSignalDetector = new XCX121SMCXWZSignalDetector();
mXWZSignalDetector = new XCX121SMCXWZSignalDetector(
_symbol,
_period //
);
}
//
@@ -582,8 +585,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
//
// Detect Signal Setup ...
isSetuped = mXWZSignalDetector.DetectSignalSetup(
symbol,
period,
mDecisionCycleHelper,
mAnalyseCycleHelper,
mConsolidationCycleHelper,