Files
MQL5Data/Documents/BKP/1/x.oepv.tmp.mq5
T
2024-12-28 23:28:14 +03:30

76 lines
2.5 KiB
Plaintext

//
// Decision ...
//
// Peak ...
bool isDecisionNewPeak = decisionConditions.x121Conditions.isNewPeak;
bool isDecisionNewPeakOverLast = decisionConditions.x121Conditions.isNewPeakOverLast;
bool isDecisionNewPeakUnderLast = decisionConditions.x121Conditions.isNewPeakUnderLast;
double decisionPeak = decisionConditions.x121Conditions.peaksBuffer[1];
XPVPivotPoint decisionPeakPivots[];
XPVPivotPoint decisionLastPeakPivot;
XPVPivotPoint decisionPrevPeakPivot;
int decisionPeakPivotsCount = decisionCycleHelper
.FillPeakPivotPoints(decisionPeakPivots);
bool hasDecisionPeak = decisionPeakPivotsCount >= 2;
if (hasDecisionPeak)
{
//
decisionLastPeakPivot = decisionPeakPivots[decisionPeakPivotsCount - 1];
decisionPrevPeakPivot = decisionPeakPivots[decisionPeakPivotsCount - 2];
}
//
// Vale ...
bool isDecisionNewVale = decisionConditions.x121Conditions.isNewVale;
bool isDecisionNewValeOverLast = decisionConditions.x121Conditions.isNewValeOverLast;
bool isDecisionNewValeUnderLast = decisionConditions.x121Conditions.isNewValeUnderLast;
double decisionVale = decisionConditions.x121Conditions.valesBuffer[1];
XPVPivotPoint decisionValePivots[];
XPVPivotPoint decisionLastValePivot;
XPVPivotPoint decisionPrevValePivot;
int decisionValePivotsCount = decisionCycleHelper
.FillValePivotPoints(decisionValePivots);
bool hasDecisionVale = decisionValePivotsCount >= 2;
if (hasDecisionVale)
{
//
decisionLastValePivot = decisionValePivots[decisionValePivotsCount - 1];
decisionPrevValePivot = decisionValePivots[decisionValePivotsCount - 2];
}
//
bool isDecisionBullish =
//
hasDecisionVale &&
isDecisionNewVale &&
isDecisionNewValeUnderLast &&
decisionLastValePivot.value > decisionPrevValePivot.value
//
;
//
bool isDecisionBearish =
//
false &&
hasDecisionPeak &&
decisionLastPeakPivot.value
//
;
//
if (isDecisionBullish ||
isDecisionBearish)
{
//
conditions.pivot =
isDecisionBullish
? decisionVale
: decisionPeak;
conditions.dir =
isDecisionBullish
? X_DIRECTION_BULLISH
: X_DIRECTION_BEARISH;
conditions.cycle = X_CYCLE_DECISION;
}