76 lines
2.5 KiB
Plaintext
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;
|
|
}
|