last works ...

Resolve all XPOI XPivot and XPivotAnalysis Refactoring Side Affects on XFIMA ...
This commit is contained in:
2025-09-23 01:47:54 +03:30
parent bb2aff17a9
commit 11811624d9
6 changed files with 244 additions and 2153 deletions
-174
View File
@@ -159,7 +159,6 @@ int eaCTHandler = INVALID_HANDLE; // Candle Timer Handler ...
//
bool eaIsNewBar; // Check New Bar ...
XZigZagAnalysis zigzagAnalysis;
ENUM_X_DIRECTION trendDir = X_DIRECTION_NONE;
//
@@ -816,7 +815,6 @@ void DetectPatterns()
//
// XFIMA Patetrns ...
bool detectFIMAPatterns = true;
bool detectZIGZAGPatterns = true;
//
// Checking Momentum Bar ...
@@ -1145,178 +1143,6 @@ void DetectPatterns()
// Detecting FIMA Patterns ...
if (detectFIMAPatterns)
{
//
// ZIGZAG Pattern ...
// if (detectZIGZAGPatterns)
// {
// //
// // Detect Market Analysis ...
// XZigZagAnalysis zAnalysis;
// has = fima2Signaller.fimaPOIDetector.AnalyseMarketUsingZigZag(
// cBar,
// cBar.period,
// fima2Signaller.fimaHelper,
// zAnalysis,
// 15 //
// );
// if (has)
// {
// //
// Print(ShortName + zAnalysis.GetMessage());
// //
// XCZigZagAnalysisObject *iObj;
// has = fima2Signaller.fimaPOIDrawer.DrawZigZagMarketAnalysisByPV(
// iObj,
// zAnalysis //
// );
// if (has)
// {
// draws.Add(iObj);
// }
// }
// }
//
// Reading Pivots ...
double iLows[];
double iHighs[];
double lowTo = 0;
double highTo = 0;
double lowFrom = 0;
double highFrom = 0;
datetime lowToTime = NULL;
datetime highToTime = NULL;
datetime lowFromTime = NULL;
datetime highFromTime = NULL;
double lowsSlope = EMPTY_VALUE;
double highsSlope = EMPTY_VALUE;
double lowsIntercept = EMPTY_VALUE;
double highsIntercept = EMPTY_VALUE;
//
int iLoopbackLength = 50;
for (int i = 0; i < iLoopbackLength; i++)
{
//
double iLowPrice = iLow(_Symbol, _Period, i);
double iHighPrice = iHigh(_Symbol, _Period, i);
//
Add(
iLowPrice,
iLows //
);
Add(
iHighPrice,
iHighs //
);
}
has = CalculateLinearRegression(
lowsSlope,
lowsIntercept,
iLows,
0,
0 //
);
if (has)
{
//
lowToTime = GetBarTime(
_Symbol,
_Period,
0 //
);
lowTo = CalculateValueBySlopeIntercept(
lowsSlope,
lowsIntercept,
0 //
);
//
lowFromTime = GetBarTime(
_Symbol,
_Period,
iLoopbackLength //
);
lowFrom = CalculateValueBySlopeIntercept(
lowsSlope,
lowsIntercept,
iLoopbackLength //
);
}
//
has = CalculateLinearRegression(
highsSlope,
highsIntercept,
iHighs,
0,
0 //
);
if (has)
{
//
highToTime = GetBarTime(
_Symbol,
_Period,
0 //
);
highTo = CalculateValueBySlopeIntercept(
highsSlope,
highsIntercept,
0 //
);
//
highFromTime = GetBarTime(
_Symbol,
_Period,
iLoopbackLength //
);
highFrom = CalculateValueBySlopeIntercept(
highsSlope,
highsIntercept,
iLoopbackLength //
);
}
//
// Try to Draw ...
//
// Low ...
CChartObjectTrend *iLowTrend;
has = fima2Signaller.fimaPOIDrawer.DrawTrendLine(
lowFrom,
lowFromTime,
lowTo,
lowToTime,
iLowTrend,
"LOW_TREMD",
true // Ray Right ...
);
if (has)
{
draws.Add(iLowTrend);
}
//
// High ...
CChartObjectTrend *iHighTrend;
has = fima2Signaller.fimaPOIDrawer.DrawTrendLine(
highFrom,
highFromTime,
highTo,
highToTime,
iHighTrend,
"HIGH_TREMD",
true // Ray Right ...
);
if (has)
{
draws.Add(iHighTrend);
}
}
//