last ...
This commit is contained in:
@@ -2341,6 +2341,34 @@ class XCOHCLObject : public XCBaseObject
|
|||||||
mLowShadowRect.Fill(value);
|
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 ...
|
// Virtual ...
|
||||||
|
|
||||||
|
|||||||
@@ -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
+256
-3954
File diff suppressed because it is too large
Load Diff
@@ -25,6 +25,7 @@
|
|||||||
#include "../../Classes/x-saherelm.x-poi.drawer.class.mq5"
|
#include "../../Classes/x-saherelm.x-poi.drawer.class.mq5"
|
||||||
#include "../../Helpers/x-saherelm.x121.helper.mq5"
|
#include "../../Helpers/x-saherelm.x121.helper.mq5"
|
||||||
#include "../../Libraries/x-saherelm.common.lib.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-poi.lib.mq5"
|
||||||
#include "../../Libraries/x-saherelm.x-trade.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();
|
InitialHelpers();
|
||||||
|
|
||||||
//
|
//
|
||||||
mXWZSignalDetector = new XCX121SMCXWZSignalDetector();
|
mXWZSignalDetector = new XCX121SMCXWZSignalDetector(
|
||||||
|
_symbol,
|
||||||
|
_period //
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -582,8 +585,6 @@ class XCX121SMCStrategy : public XCX121SMCBaseStrategy
|
|||||||
//
|
//
|
||||||
// Detect Signal Setup ...
|
// Detect Signal Setup ...
|
||||||
isSetuped = mXWZSignalDetector.DetectSignalSetup(
|
isSetuped = mXWZSignalDetector.DetectSignalSetup(
|
||||||
symbol,
|
|
||||||
period,
|
|
||||||
mDecisionCycleHelper,
|
mDecisionCycleHelper,
|
||||||
mAnalyseCycleHelper,
|
mAnalyseCycleHelper,
|
||||||
mConsolidationCycleHelper,
|
mConsolidationCycleHelper,
|
||||||
|
|||||||
Reference in New Issue
Block a user