last works ...

This commit is contained in:
2025-09-27 19:49:17 +03:30
parent 21ce1ebf4f
commit 0d32543974
9 changed files with 1307 additions and 153 deletions
+76 -63
View File
@@ -154,7 +154,8 @@ XFIMAMarketStructureDrawerConfig marketStructureDrawerConfig; // POI Drawer Conf
//
// Drawer and eaDraws ...
CArrayObj eaDraws; // Drawn Objects ...
// CArrayObj *eaDraws; // Drawn Objects ...
CArrayObj *marketStructureObjects; // Market Structure Objects ...
//
XBarTracker eaBarTracker; // EA Bar Traker ...
@@ -387,6 +388,7 @@ int OnInit()
//
// Configure XFIMA POI Detector / Drawer ...
detectorConfig.Default();
// eaDraws = new CArrayObj();
detectorConfig.FullDetect();
marketStructureDrawerConfig.FullDraw();
@@ -457,8 +459,8 @@ void OnTick()
fima1Signaller.OnTick();
fima2Signaller.OnTick();
// //
// AnalyseMarket(0);
//
AnalyseMarket(1);
}
//
@@ -616,40 +618,40 @@ void OnSignalTriggered(XSignal &signal)
// Draw Signal Vertical Line ...
//
CChartObjectVLine *iObj = new CChartObjectVLine();
// CChartObjectVLine *iObj = new CChartObjectVLine();
// //
// string iName = signal.GetTag();
// color iColor = IsLong(signal.type) ? clrLime : clrRed;
// //
// bool has = iObj.Create(
// fima2Signaller.poiDrawer.ChartIdentification(),
// iName,
// fima2Signaller.poiDrawer.SubWindowIdentification(),
// signal.time //
// );
// if (has)
// {
// //
// iObj.Width(2);
// iObj.Color(iColor);
// //
// // eaDraws.Add(iObj);
// }
// //
// // Alert Issued Signal ...
// string message = signal.GetMessage();
//
string iName = signal.GetTag();
color iColor = IsLong(signal.type) ? clrLime : clrRed;
//
bool has = iObj.Create(
fima2Signaller.poiDrawer.ChartIdentification(),
iName,
fima2Signaller.poiDrawer.SubWindowIdentification(),
signal.time //
);
if (has)
{
//
iObj.Width(2);
iObj.Color(iColor);
//
eaDraws.Add(iObj);
}
//
// Alert Issued Signal ...
string message = signal.GetMessage();
//
int signalBarIndex = GetBarIndex(
signal.symbol,
signal.period,
signal.time //
);
AnalyseMarket(signalBarIndex);
// int signalBarIndex = GetBarIndex(
// signal.symbol,
// signal.period,
// signal.time //
// );
// AnalyseMarket(signalBarIndex);
}
//
@@ -843,15 +845,31 @@ void AnalyseMarket(int barIndex = 0)
//
// Configure Drawer ...
//
marketStructureDrawerConfig.drawOB = false;
marketStructureDrawerConfig.drawFVG = false;
//
marketStructureDrawerConfig.drawPinned = true;
marketStructureDrawerConfig.drawEngulfed = true;
marketStructureDrawerConfig.drawTrueGaped = false;
marketStructureDrawerConfig.drawMomentum = false;
marketStructureDrawerConfig.drawFlagPattern = false;
marketStructureDrawerConfig.drawStarPattern = false;
marketStructureDrawerConfig.drawRisingPattern = false;
marketStructureDrawerConfig.drawPiercingPattern = false;
marketStructureDrawerConfig.drawSignalKeyBarPattern = true;
//
// Recents ...
marketStructureDrawerConfig.drawRecentPatterns = false;
marketStructureDrawerConfig.drawFakeBreakedZone = true;
marketStructureDrawerConfig.drawRecentlyTestedZones = true;
marketStructureDrawerConfig.drawRecentlyBreakedZones = true;
marketStructureDrawerConfig.drawRecentlyTestedZones = false;
marketStructureDrawerConfig.drawRecentlyBreakedZones = false;
//
// XPV ...
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysis = true;
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysis = false;
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisZones = true;
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisTrends = true;
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisPivots = true;
@@ -885,41 +903,36 @@ void AnalyseMarket(int barIndex = 0)
detectorConfig //
);
//
if (marketStructureObjects == NULL) {
marketStructureObjects = new CArrayObj();
}
//
// marketStructureObjects.Clear();
//
// Draw Only ...
//
// Draw Market Structure ...
CArrayObj *marketStructureObjects;
int marketStructureObjectsCount = fima2Signaller.poiDrawer.DrawMarketStructure(
marketStructure,
marketStructureDrawerConfig,
marketStructureObjects //
);
if (IsValidIndex(marketStructureObjectsCount))
{
//
// Add Drawn Objects if Necessary ...
}
//
if (HasChild(marketStructure.recentlyTestedZones))
{
Print("Recently Tested Zones ...");
}
//
if (HasChild(marketStructure.recentlyBreakedZones))
{
Print("Recently Breaked Zones ...");
}
//
if (marketStructure.fakeBreakedZone.IsValid())
{
Print("Fake Breaked Zone ...");
}
// if (IsValidIndex(marketStructureObjectsCount))
// {
// //
// // Add Drawn Objects if Necessary ...
// // AddObjects(
// // marketStructureObjects,
// // eaDraws //
// // );
// }
//
bar.Clean();
marketStructureObjects.Clear();
}
//