last works ...
This commit is contained in:
@@ -387,6 +387,7 @@ int OnInit()
|
||||
//
|
||||
// Configure XFIMA POI Detector / Drawer ...
|
||||
detectorConfig.Default();
|
||||
detectorConfig.FullDetect();
|
||||
marketStructureDrawerConfig.FullDraw();
|
||||
|
||||
//
|
||||
@@ -456,91 +457,8 @@ void OnTick()
|
||||
fima1Signaller.OnTick();
|
||||
fima2Signaller.OnTick();
|
||||
|
||||
//
|
||||
// Initial Bar for Analysis ...
|
||||
XOHCL cBar;
|
||||
bool isInited = cBar.Init(
|
||||
_Symbol,
|
||||
_Period,
|
||||
0 //
|
||||
);
|
||||
|
||||
//
|
||||
// Here We Apply Custom Detecting ...
|
||||
detectorConfig.OffDetectors();
|
||||
detectorConfig.detectSupport = true;
|
||||
detectorConfig.detectResistance = true;
|
||||
detectorConfig.detectSignalKeyBarPattern = false;
|
||||
detectorConfig.supportAndResistanceValidationLength = 21;
|
||||
|
||||
//
|
||||
// Analyse Market ...
|
||||
fima2Signaller.poiDetector.AnalyseMarket(
|
||||
cBar,
|
||||
marketStructure,
|
||||
detectorConfig //
|
||||
);
|
||||
CArrayObj *iObjects;
|
||||
int drawnsCount = fima2Signaller.poiDrawer.DrawMarketStructure(
|
||||
marketStructure,
|
||||
marketStructureDrawerConfig,
|
||||
iObjects //
|
||||
);
|
||||
if (IsValidSize(drawnsCount))
|
||||
{
|
||||
//
|
||||
AddObjects(
|
||||
iObjects,
|
||||
eaDraws //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// TODO: Remove this ...
|
||||
XOHCL pBar;
|
||||
bool has = cBar.GetPreviousBar(pBar);
|
||||
if (marketStructure.isPTest)
|
||||
{
|
||||
//
|
||||
// Check For PrevZoneExistanse ...
|
||||
has = marketStructure.pTestedZone.IsValid();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Draw Prev Zone ...
|
||||
XCBoxObject *iPrevZoneObj;
|
||||
marketStructure.pTestedZone.to = pBar.time;
|
||||
has = fima2Signaller.poiDrawer.DrawBox(
|
||||
marketStructure.pTestedZone,
|
||||
iPrevZoneObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
XPOIStyle style;
|
||||
fima2Signaller.poiDrawer.GetBoxStyle(
|
||||
style,
|
||||
marketStructure.pTestedZone.dir //
|
||||
);
|
||||
style.clr = clrYellow;
|
||||
fima2Signaller.poiDrawer.ApplyBoxStyle(
|
||||
iPrevZoneObj,
|
||||
style //
|
||||
);
|
||||
|
||||
//
|
||||
style.Clean();
|
||||
eaDraws.Add(iPrevZoneObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
Print("Previous Tested ...");
|
||||
}
|
||||
pBar.Clean();
|
||||
|
||||
//
|
||||
cBar.Clean();
|
||||
// //
|
||||
// AnalyseMarket(0);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -694,9 +612,6 @@ void OnSignalTriggered(XSignal &signal)
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
return;
|
||||
|
||||
//
|
||||
// Draw Signal Vertical Line ...
|
||||
|
||||
@@ -727,6 +642,14 @@ void OnSignalTriggered(XSignal &signal)
|
||||
//
|
||||
// Alert Issued Signal ...
|
||||
string message = signal.GetMessage();
|
||||
|
||||
//
|
||||
int signalBarIndex = GetBarIndex(
|
||||
signal.symbol,
|
||||
signal.period,
|
||||
signal.time //
|
||||
);
|
||||
AnalyseMarket(signalBarIndex);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -855,4 +778,148 @@ void OnTradeStateChanged(const XOnTradeHandlerState &state)
|
||||
eaExpert.HandleOnTradeStateChanged(state);
|
||||
}
|
||||
|
||||
//
|
||||
void AnalyseMarket(int barIndex = 0)
|
||||
{
|
||||
//
|
||||
bool has = false;
|
||||
|
||||
//
|
||||
barIndex = NormalizeInt(barIndex, 0);
|
||||
|
||||
//
|
||||
string symbol = fima2Signaller.symbol;
|
||||
ENUM_TIMEFRAMES period = fima2Signaller.period;
|
||||
|
||||
//
|
||||
// Retrieve Signal Bar ...
|
||||
XOHCL bar;
|
||||
has = bar.Init(
|
||||
symbol,
|
||||
period,
|
||||
barIndex //
|
||||
);
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
bar.Clean();
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
// TODO: Remove this and add in OnInit() Method ...
|
||||
|
||||
//
|
||||
// Configuring Detector ...
|
||||
|
||||
//
|
||||
detectorConfig.detectOB = true;
|
||||
detectorConfig.detectFVG = true;
|
||||
|
||||
//
|
||||
detectorConfig.detectSupport = true;
|
||||
detectorConfig.detectResistance = true;
|
||||
detectorConfig.detectSwingTrend = true;
|
||||
|
||||
//
|
||||
detectorConfig.detectPinned = true;
|
||||
detectorConfig.detectMomentum = true;
|
||||
detectorConfig.detectEngulfed = true;
|
||||
detectorConfig.detectTrueGaped = true;
|
||||
|
||||
//
|
||||
detectorConfig.detectStarPattern = true;
|
||||
detectorConfig.detectFlagPattern = true;
|
||||
detectorConfig.detectRisingPattern = true;
|
||||
detectorConfig.detectPiercingPattern = true;
|
||||
detectorConfig.detectSignalKeyBarPattern = true;
|
||||
|
||||
//
|
||||
detectorConfig.analyseFIMAPVPivots = true;
|
||||
detectorConfig.analyseFIMAMAPivots = false;
|
||||
detectorConfig.analyseFIMASARPivots = false;
|
||||
detectorConfig.analyseFIMAZigZagPivots = false;
|
||||
|
||||
//
|
||||
// Configure Drawer ...
|
||||
|
||||
//
|
||||
// Recents ...
|
||||
marketStructureDrawerConfig.drawFakeBreakedZone = true;
|
||||
marketStructureDrawerConfig.drawRecentlyTestedZones = true;
|
||||
marketStructureDrawerConfig.drawRecentlyBreakedZones = true;
|
||||
|
||||
//
|
||||
// XPV ...
|
||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysis = true;
|
||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisZones = true;
|
||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisTrends = true;
|
||||
marketStructureDrawerConfig.drawFIMAPVPivotsAnalysisPivots = true;
|
||||
|
||||
//
|
||||
// XMA ...
|
||||
marketStructureDrawerConfig.drawFIMAMAPivotsAnalysis = false;
|
||||
marketStructureDrawerConfig.drawFIMAMAPivotsAnalysisZones = false;
|
||||
marketStructureDrawerConfig.drawFIMAMAPivotsAnalysisTrends = false;
|
||||
marketStructureDrawerConfig.drawFIMAMAPivotsAnalysisPivots = false;
|
||||
|
||||
//
|
||||
// XSAR ...
|
||||
marketStructureDrawerConfig.drawFIMASARPivotsAnalysis = false;
|
||||
marketStructureDrawerConfig.drawFIMASARPivotsAnalysisZones = false;
|
||||
marketStructureDrawerConfig.drawFIMASARPivotsAnalysisTrends = false;
|
||||
marketStructureDrawerConfig.drawFIMASARPivotsAnalysisPivots = false;
|
||||
|
||||
//
|
||||
// XZigZag ...
|
||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysis = false;
|
||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisZones = false;
|
||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisTrends = false;
|
||||
marketStructureDrawerConfig.drawFIMAZigZagPivotsAnalysisPivots = false;
|
||||
|
||||
//
|
||||
// Analyse Market on Signalling Bar ...
|
||||
fima2Signaller.poiDetector.AnalyseMarket(
|
||||
bar,
|
||||
marketStructure,
|
||||
detectorConfig //
|
||||
);
|
||||
|
||||
//
|
||||
// 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 ...");
|
||||
}
|
||||
|
||||
//
|
||||
bar.Clean();
|
||||
marketStructureObjects.Clear();
|
||||
}
|
||||
|
||||
//
|
||||
Reference in New Issue
Block a user