last ...
This commit is contained in:
@@ -257,7 +257,8 @@ class XCPOIDrawer : public XCBase
|
|||||||
int width = 3,
|
int width = 3,
|
||||||
ENUM_ARROW_ANCHOR anchor = ANCHOR_BOTTOM,
|
ENUM_ARROW_ANCHOR anchor = ANCHOR_BOTTOM,
|
||||||
string name = NULL,
|
string name = NULL,
|
||||||
bool ignoreBarTag = true //
|
bool ignoreBarTag = true,
|
||||||
|
int threshold = 5 //
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
@@ -300,7 +301,8 @@ class XCPOIDrawer : public XCBase
|
|||||||
window,
|
window,
|
||||||
arrow,
|
arrow,
|
||||||
bar,
|
bar,
|
||||||
priceType //
|
priceType,
|
||||||
|
threshold //
|
||||||
);
|
);
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -264,8 +264,6 @@ int OnInit()
|
|||||||
// This is Default Configuration ...
|
// This is Default Configuration ...
|
||||||
fimaInputs.Default();
|
fimaInputs.Default();
|
||||||
fimaInputs.Hide();
|
fimaInputs.Hide();
|
||||||
fimaInputs.showPV = true;
|
|
||||||
fimaInputs.showZigZag = true;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Here we Attach Inputs to Indicator ...
|
// Here we Attach Inputs to Indicator ...
|
||||||
@@ -840,7 +838,7 @@ void AnalyseMarket(int barIndex = 0)
|
|||||||
detectorConfig.analyseFIMAPVPivots = true;
|
detectorConfig.analyseFIMAPVPivots = true;
|
||||||
detectorConfig.analyseFIMAMAPivots = false;
|
detectorConfig.analyseFIMAMAPivots = false;
|
||||||
detectorConfig.analyseFIMASARPivots = false;
|
detectorConfig.analyseFIMASARPivots = false;
|
||||||
detectorConfig.analyseFIMAZigZagPivots = false;
|
detectorConfig.analyseFIMAZigZagPivots = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Configure Drawer ...
|
// Configure Drawer ...
|
||||||
@@ -850,7 +848,7 @@ void AnalyseMarket(int barIndex = 0)
|
|||||||
marketStructureDrawerConfig.drawFVG = false;
|
marketStructureDrawerConfig.drawFVG = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
marketStructureDrawerConfig.drawPinned = true;
|
marketStructureDrawerConfig.drawPinned = false;
|
||||||
marketStructureDrawerConfig.drawEngulfed = true;
|
marketStructureDrawerConfig.drawEngulfed = true;
|
||||||
marketStructureDrawerConfig.drawTrueGaped = false;
|
marketStructureDrawerConfig.drawTrueGaped = false;
|
||||||
marketStructureDrawerConfig.drawMomentum = false;
|
marketStructureDrawerConfig.drawMomentum = false;
|
||||||
@@ -863,13 +861,13 @@ void AnalyseMarket(int barIndex = 0)
|
|||||||
//
|
//
|
||||||
// Recents ...
|
// Recents ...
|
||||||
marketStructureDrawerConfig.drawRecentPatterns = false;
|
marketStructureDrawerConfig.drawRecentPatterns = false;
|
||||||
marketStructureDrawerConfig.drawFakeBreakedZone = true;
|
marketStructureDrawerConfig.drawFakeBreakedZone = false;
|
||||||
marketStructureDrawerConfig.drawRecentlyTestedZones = false;
|
marketStructureDrawerConfig.drawRecentlyTestedZones = false;
|
||||||
marketStructureDrawerConfig.drawRecentlyBreakedZones = false;
|
marketStructureDrawerConfig.drawRecentlyBreakedZones = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// XPV ...
|
// XPV ...
|
||||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysis = false;
|
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysis = true;
|
||||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisZones = true;
|
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisZones = true;
|
||||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisTrends = true;
|
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisTrends = true;
|
||||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisPivots = true;
|
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisPivots = true;
|
||||||
@@ -890,8 +888,8 @@ void AnalyseMarket(int barIndex = 0)
|
|||||||
|
|
||||||
//
|
//
|
||||||
// XZigZag ...
|
// XZigZag ...
|
||||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysis = false;
|
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysis = true;
|
||||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisZones = false;
|
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisZones = true;
|
||||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisTrends = false;
|
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisTrends = false;
|
||||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisPivots = false;
|
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisPivots = false;
|
||||||
|
|
||||||
@@ -904,7 +902,8 @@ void AnalyseMarket(int barIndex = 0)
|
|||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
if (marketStructureObjects == NULL) {
|
if (marketStructureObjects == NULL)
|
||||||
|
{
|
||||||
marketStructureObjects = new CArrayObj();
|
marketStructureObjects = new CArrayObj();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -916,11 +915,11 @@ void AnalyseMarket(int barIndex = 0)
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Draw Market Structure ...
|
// Draw Market Structure ...
|
||||||
int marketStructureObjectsCount = fima2Signaller.poiDrawer.DrawMarketStructure(
|
// int marketStructureObjectsCount = fima2Signaller.poiDrawer.DrawMarketStructure(
|
||||||
marketStructure,
|
// marketStructure,
|
||||||
marketStructureDrawerConfig,
|
// marketStructureDrawerConfig,
|
||||||
marketStructureObjects //
|
// marketStructureObjects //
|
||||||
);
|
// );
|
||||||
// if (IsValidIndex(marketStructureObjectsCount))
|
// if (IsValidIndex(marketStructureObjectsCount))
|
||||||
// {
|
// {
|
||||||
// //
|
// //
|
||||||
@@ -931,8 +930,107 @@ void AnalyseMarket(int barIndex = 0)
|
|||||||
// // );
|
// // );
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
//
|
||||||
|
HandleSignalLookup(bar);
|
||||||
|
|
||||||
//
|
//
|
||||||
bar.Clean();
|
bar.Clean();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Handle Signal Looking Up ...
|
||||||
|
void HandleSignalLookup(XOHCL &bar)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
bool has =
|
||||||
|
bar.IsValid();
|
||||||
|
if (!has)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
string iName = NULL;
|
||||||
|
bool isBullish = false;
|
||||||
|
int barIndex = bar.Index();
|
||||||
|
double iPrice = EMPTY_VALUE;
|
||||||
|
ENUM_X_PRICE iPriceType = X_PRICE_NONE;
|
||||||
|
ENUM_X_DIRECTION iDir = X_DIRECTION_NONE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Check Required Pattern Exists ...
|
||||||
|
bool hasEngulfedBar = HasDirection(marketStructure.engulfedDir);
|
||||||
|
bool hasSignalKeyBar = HasDirection(marketStructure.signalKeyBarPatternDir);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Selecting Price Type of Bar based on Dir ...
|
||||||
|
has = hasEngulfedBar ||
|
||||||
|
hasSignalKeyBar;
|
||||||
|
if (has)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// Retrieve Direction ...
|
||||||
|
if (hasEngulfedBar)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
iDir = marketStructure.engulfedDir;
|
||||||
|
iName = "XEngulf_" + ToXString(iDir) + ToXString(TimeToSeconds(bar.time));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iDir = marketStructure.signalKeyBarPatternDir;
|
||||||
|
iName = "XEngulf_" + ToXString(iDir) + ToXString(TimeToSeconds(bar.time));
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
isBullish = IsSpecifiedBullish(iDir);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Retrieve Price Type for Validate ...
|
||||||
|
iPriceType = isBullish
|
||||||
|
? X_PRICE_LOW
|
||||||
|
: X_PRICE_HIGH;
|
||||||
|
iPrice = bar.GetPrice(iPriceType);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Retrieve MA Band for Validation ...
|
||||||
|
double iMABandUpper = fima2Signaller.fimaHelper.GetMABandUpper(barIndex);
|
||||||
|
double iMABandLower = fima2Signaller.fimaHelper.GetMABandLower(barIndex);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Validate ...
|
||||||
|
has = isBullish
|
||||||
|
? iPrice < iMABandLower
|
||||||
|
: iPrice > iMABandUpper;
|
||||||
|
if (has)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
int iWidth = 1;
|
||||||
|
int iCode = 159;
|
||||||
|
color iClr = isBullish
|
||||||
|
? clrYellow
|
||||||
|
: clrDarkOrange;
|
||||||
|
ENUM_ARROW_ANCHOR iAnchor = isBullish
|
||||||
|
? ANCHOR_TOP
|
||||||
|
: ANCHOR_BOTTOM;
|
||||||
|
XCBarArrowObject *iObj;
|
||||||
|
has = fima2Signaller.poiDrawer.DrawBarArrow(
|
||||||
|
bar,
|
||||||
|
iObj,
|
||||||
|
iPriceType,
|
||||||
|
iCode,
|
||||||
|
iClr,
|
||||||
|
iWidth,
|
||||||
|
iAnchor,
|
||||||
|
iName,
|
||||||
|
true, // Ignore Bar Tag ...
|
||||||
|
10 // Threshold ...
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
Print("Detect a Potential Place for Price Movement: ", ToXString(iDir), ", Time: ", bar.time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -299,7 +299,7 @@ class XCXFIMAPOIDrawer : public XCPOIDrawer
|
|||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
style.width = 3;
|
style.width = 2;
|
||||||
style.style = STYLE_DASH;
|
style.style = STYLE_DASH;
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -414,7 +414,7 @@ class XCXFIMAPOIDrawer : public XCPOIDrawer
|
|||||||
//
|
//
|
||||||
// Prepare ...
|
// Prepare ...
|
||||||
arrowCode = 159;
|
arrowCode = 159;
|
||||||
arrowWidth = 3;
|
arrowWidth = 2;
|
||||||
arrowColor = CLR_NONE;
|
arrowColor = CLR_NONE;
|
||||||
arrowAnchor = ANCHOR_BOTTOM;
|
arrowAnchor = ANCHOR_BOTTOM;
|
||||||
arrowPriceType = X_PRICE_CLOSE;
|
arrowPriceType = X_PRICE_CLOSE;
|
||||||
|
|||||||
Reference in New Issue
Block a user