This commit is contained in:
2025-04-17 01:46:46 +03:30
parent d912210e68
commit c6e3c78e06
9 changed files with 3038 additions and 37 deletions
+167
View File
@@ -598,9 +598,176 @@ bool DetectXCAEAConditions(
isCBarBearishMomentum ||
isCBarBearishEngulfed);
//
// Score ...
//
double bullishScore = 0;
double bearishScore = 0;
conditions.GenerateScore(
bullishScore,
bearishScore //
);
//
bool isScoreBullish =
bullishScore > bearishScore;
//
bool isScoreBearish =
bearishScore > bullishScore;
//
string summary =
conditions
.GenerateSummary();
//
// Conditions ...
//
// Reading Values ...
//
// KI ...
//
double cKI = conditions.kiBuffer[cIDX];
double pKI = conditions.kiBuffer[pIDX];
double p2KI = conditions.kiBuffer[ppIDX];
//
double cKIState = conditions.kiStateBuffer[cIDX];
double pKIState = conditions.kiStateBuffer[pIDX];
double p2KIState = conditions.kiStateBuffer[ppIDX];
//
// TKI ...
//
double cTKI = conditions.tkiBuffer[cIDX];
double pTKI = conditions.tkiBuffer[pIDX];
double p2TKI = conditions.tkiBuffer[ppIDX];
//
double cTKIState = conditions.tkiStateBuffer[cIDX];
double pTKIState = conditions.tkiStateBuffer[pIDX];
double p2TKIState = conditions.tkiStateBuffer[ppIDX];
//
// TREND ...
//
double cTrend = conditions.trendBuffer[cIDX];
double pTrend = conditions.trendBuffer[pIDX];
double p2Trend = conditions.trendBuffer[ppIDX];
//
double ctrendState = conditions.trendStateBuffer[cIDX];
double ptrendState = conditions.trendStateBuffer[pIDX];
double p2trendState = conditions.trendStateBuffer[ppIDX];
//
// SWING Low ...
//
double cSWL = conditions.swingLowBuffer[cIDX];
double pSWL = conditions.swingLowBuffer[pIDX];
double p2SWL = conditions.swingLowBuffer[ppIDX];
//
// SWING High ...
//
double cSWH = conditions.swingHighBuffer[cIDX];
double pSWH = conditions.swingHighBuffer[pIDX];
double p2SWH = conditions.swingHighBuffer[ppIDX];
//
// PEAK ...
//
double cPeak = conditions.peakBuffer[cIDX];
double pPeak = conditions.peakBuffer[pIDX];
double p2Peak = conditions.peakBuffer[ppIDX];
//
// VALE ...
//
double cVale = conditions.valeBuffer[cIDX];
double pVale = conditions.valeBuffer[pIDX];
double p2Vale = conditions.valeBuffer[ppIDX];
//
// COMPLEX ...
//
double iKTIRNDs[] = {
cKI,
cTKI,
cTrend //
};
//
double iKTIRNDMax = GetMax(iKTIRNDs);
double iKTIRNDMin = GetMin(iKTIRNDs);
//
// Conditions Preparing ...
//
bool isTKITRNDBullish =
cKIState > 0 &&
cTKIState > 0 &&
ctrendState > 0;
//
bool isTKITRNDBullishPrev =
pKIState > 0 &&
pTKIState > 0 &&
ptrendState > 0;
//
bool isTKITRNDBearish =
cKIState < 0 &&
cTKIState < 0 &&
ctrendState < 0;
//
bool isTKITRNDBearishPrev =
pKIState < 0 &&
pTKIState < 0 &&
ptrendState < 0;
//
bool isTKITRNDSwitchedToBullish =
isTKITRNDBullish &&
!isTKITRNDBullishPrev;
//
bool isTKITRNDSwitchedToBearish =
isTKITRNDBearish &&
!isTKITRNDBearishPrev;
//
bool isCond1Bullish =
conditions.isValeIsPivot &&
isTKITRNDSwitchedToBullish;
//
bool isCond1Bearish =
conditions.isPeakIsPivot &&
isTKITRNDSwitchedToBearish;
//
if (isCond1Bullish ||
isCond1Bearish)
{
//
Print("Cond1");
}
//
// Summarise Conditions ...