last ...
This commit is contained in:
@@ -246,6 +246,34 @@ struct X121X3MAConditions
|
||||
bool isMediumCrossedOverSlow;
|
||||
bool isMediumCrossedUnderSlow;
|
||||
|
||||
//
|
||||
bool is3MaBullishOrdered;
|
||||
bool is3MaBearishOrdered;
|
||||
|
||||
//
|
||||
bool is3MaSwitchedToBullishOrdered;
|
||||
bool is3MaSwitchedToBearishOrdered;
|
||||
|
||||
//
|
||||
bool is3MaBullishState;
|
||||
bool is3MaBearishState;
|
||||
|
||||
//
|
||||
bool is3MaSwitchedToBullishState;
|
||||
bool is3MaSwitchedToBearishState;
|
||||
|
||||
//
|
||||
bool is3MaBullish;
|
||||
bool is3MaBearish;
|
||||
|
||||
//
|
||||
bool is3MaSwitchedToBullish;
|
||||
bool is3MaSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool is3MaFinishedFromBullish;
|
||||
bool is3MaFinishedFromBearish;
|
||||
|
||||
//
|
||||
// Constructor ...
|
||||
X121X3MAConditions()
|
||||
@@ -312,6 +340,34 @@ struct X121X3MAConditions
|
||||
//
|
||||
isMediumCrossedOverSlow = false;
|
||||
isMediumCrossedUnderSlow = false;
|
||||
|
||||
//
|
||||
is3MaBullishOrdered = false;
|
||||
is3MaBearishOrdered = false;
|
||||
|
||||
//
|
||||
is3MaSwitchedToBullishOrdered = false;
|
||||
is3MaSwitchedToBearishOrdered = false;
|
||||
|
||||
//
|
||||
is3MaBullishState = false;
|
||||
is3MaBearishState = false;
|
||||
|
||||
//
|
||||
is3MaSwitchedToBullishState = false;
|
||||
is3MaSwitchedToBearishState = false;
|
||||
|
||||
//
|
||||
is3MaBullish = false;
|
||||
is3MaBearish = false;
|
||||
|
||||
//
|
||||
is3MaSwitchedToBullish = false;
|
||||
is3MaSwitchedToBearish = false;
|
||||
|
||||
//
|
||||
is3MaFinishedFromBullish = false;
|
||||
is3MaFinishedFromBearish = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -360,6 +416,36 @@ struct X121X3MAConditions
|
||||
bullishScore += score;
|
||||
}
|
||||
|
||||
//
|
||||
if (is3MaBullish)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (is3MaBullishState)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (is3MaBullishOrdered)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (is3MaSwitchedToBullish)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (is3MaFinishedFromBearish)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (is3MaSwitchedToBullishState)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (is3MaSwitchedToBullishOrdered)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
|
||||
//
|
||||
if (isFastUnderSlow)
|
||||
{
|
||||
@@ -385,6 +471,36 @@ struct X121X3MAConditions
|
||||
{
|
||||
bearishScore += score;
|
||||
}
|
||||
|
||||
//
|
||||
if (is3MaBearish)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (is3MaBearishState)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (is3MaBearishOrdered)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (is3MaSwitchedToBearish)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (is3MaFinishedFromBullish)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (is3MaSwitchedToBearishState)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (is3MaSwitchedToBearishOrdered)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -453,6 +569,20 @@ struct X121X3MAConditions
|
||||
ToString("isMediumUnderSlow", isMediumUnderSlow, ignoreFalseConditions, separator) +
|
||||
ToString("isMediumCrossedOverSlow", isMediumCrossedOverSlow, ignoreFalseConditions, separator) +
|
||||
ToString("isMediumCrossedUnderSlow", isMediumCrossedUnderSlow, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaBullishOrdered", is3MaBullishOrdered, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaBearishOrdered", is3MaBearishOrdered, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaSwitchedToBullishOrdered", is3MaSwitchedToBullishOrdered, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaSwitchedToBearishOrdered", is3MaSwitchedToBearishOrdered, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaBullishState", is3MaBullishState, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaBearishState", is3MaBearishState, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaSwitchedToBullishState", is3MaSwitchedToBullishState, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaSwitchedToBearishState", is3MaSwitchedToBearishState, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaBullish", is3MaBullish, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaBearish", is3MaBearish, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaSwitchedToBullish", is3MaSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaSwitchedToBearish", is3MaSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaFinishedFromBullish", is3MaFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||
ToString("is3MaFinishedFromBearish", is3MaFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||
//
|
||||
""
|
||||
//
|
||||
@@ -1151,18 +1281,108 @@ class XCX121X3MAHelper : public XCBaseHelper
|
||||
!isMediumUnderSlowPrev;
|
||||
|
||||
//
|
||||
bool is3MaBullishOrdered =
|
||||
isFastOverMedium &&
|
||||
isMediumOverSlow;
|
||||
bool is3MaBullishOrderedPrev =
|
||||
isFastOverMediumPrev &&
|
||||
isMediumOverSlowPrev;
|
||||
|
||||
//
|
||||
bool is3MaBearishOrdered =
|
||||
isFastUnderMedium &&
|
||||
isMediumUnderSlow;
|
||||
bool is3MaBearishOrderedPrev =
|
||||
isFastUnderMediumPrev &&
|
||||
isMediumUnderSlowPrev;
|
||||
|
||||
//
|
||||
bool is3MaSwitchedToBullishOrdered = is3MaBullishOrdered &&
|
||||
!is3MaBullishOrderedPrev;
|
||||
bool is3MaSwitchedToBearishOrdered = is3MaBearishOrdered &&
|
||||
!is3MaBearishOrderedPrev;
|
||||
|
||||
//
|
||||
bool is3MaBullishState =
|
||||
cFastState > 0 &&
|
||||
cMediumState > 0 &&
|
||||
cSlowState > 0;
|
||||
bool is3MaBullishStatePrev =
|
||||
pFastState > 0 &&
|
||||
pMediumState > 0 &&
|
||||
pSlowState > 0;
|
||||
|
||||
//
|
||||
bool is3MaBearishState =
|
||||
cFastState < 0 &&
|
||||
cMediumState < 0 &&
|
||||
cSlowState < 0;
|
||||
bool is3MaBearishStatePrev =
|
||||
pFastState < 0 &&
|
||||
pMediumState < 0 &&
|
||||
pSlowState < 0;
|
||||
|
||||
//
|
||||
bool is3MaSwitchedToBullishState = is3MaBullishState &&
|
||||
!is3MaBullishStatePrev;
|
||||
bool is3MaSwitchedToBearishState = is3MaBearishState &&
|
||||
!is3MaBearishStatePrev;
|
||||
|
||||
//
|
||||
bool is3MaBullish =
|
||||
is3MaBullishState &&
|
||||
is3MaBullishOrdered;
|
||||
bool is3MaBullishPrev =
|
||||
is3MaBullishStatePrev &&
|
||||
is3MaBullishOrderedPrev;
|
||||
|
||||
//
|
||||
bool is3MaBearish =
|
||||
is3MaBearishState &&
|
||||
is3MaBearishOrdered;
|
||||
bool is3MaBearishPrev =
|
||||
is3MaBearishStatePrev &&
|
||||
is3MaBearishOrderedPrev;
|
||||
|
||||
//
|
||||
bool is3MaSwitchedToBullish = is3MaBullish &&
|
||||
!is3MaBullishPrev;
|
||||
bool is3MaSwitchedToBearish = is3MaBearish &&
|
||||
!is3MaBearishPrev;
|
||||
|
||||
//
|
||||
bool is3MaFinishedFromBullish = !is3MaBullish &&
|
||||
is3MaBullishPrev;
|
||||
bool is3MaFinishedFromBearish = !is3MaBearish &&
|
||||
is3MaBearishPrev;
|
||||
|
||||
//
|
||||
conditions.is3MaBullish = is3MaBullish;
|
||||
conditions.is3MaBearish = is3MaBearish;
|
||||
conditions.isFastOverSlow = isFastOverSlow;
|
||||
conditions.isFastUnderSlow = isFastUnderSlow;
|
||||
conditions.isFastOverMedium = isFastOverMedium;
|
||||
conditions.isMediumOverSlow = isMediumOverSlow;
|
||||
conditions.isFastUnderMedium = isFastUnderMedium;
|
||||
conditions.isMediumUnderSlow = isMediumUnderSlow;
|
||||
conditions.is3MaBullishState = is3MaBullishState;
|
||||
conditions.is3MaBearishState = is3MaBearishState;
|
||||
conditions.is3MaBullishOrdered = is3MaBullishOrdered;
|
||||
conditions.is3MaBearishOrdered = is3MaBearishOrdered;
|
||||
conditions.isFastCrossedOverSlow = isFastCrossedOverSlow;
|
||||
conditions.is3MaSwitchedToBullish = is3MaSwitchedToBullish;
|
||||
conditions.is3MaSwitchedToBearish = is3MaSwitchedToBearish;
|
||||
conditions.isFastCrossedUnderSlow = isFastCrossedUnderSlow;
|
||||
conditions.isFastCrossedOverMedium = isFastCrossedOverMedium;
|
||||
conditions.isMediumCrossedOverSlow = isMediumCrossedOverSlow;
|
||||
conditions.is3MaFinishedFromBullish = is3MaFinishedFromBullish;
|
||||
conditions.is3MaFinishedFromBearish = is3MaFinishedFromBearish;
|
||||
conditions.isFastCrossedUnderMedium = isFastCrossedUnderMedium;
|
||||
conditions.isMediumCrossedUnderSlow = isMediumCrossedUnderSlow;
|
||||
conditions.is3MaSwitchedToBullishState = is3MaSwitchedToBullishState;
|
||||
conditions.is3MaSwitchedToBearishState = is3MaSwitchedToBearishState;
|
||||
conditions.is3MaSwitchedToBullishOrdered = is3MaSwitchedToBullishOrdered;
|
||||
conditions.is3MaSwitchedToBearishOrdered = is3MaSwitchedToBearishOrdered;
|
||||
|
||||
//
|
||||
Cleanup();
|
||||
@@ -1226,7 +1446,7 @@ class XCX121X3MAHelper : public XCBaseHelper
|
||||
X121_X3MA_FAST_STATE,
|
||||
barIndex,
|
||||
maxRequiredBars,
|
||||
mediumBuffer //
|
||||
fastStateBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
@@ -1238,7 +1458,7 @@ class XCX121X3MAHelper : public XCBaseHelper
|
||||
X121_X3MA_MEDIUM,
|
||||
barIndex,
|
||||
maxRequiredBars,
|
||||
mediumStateBuffer //
|
||||
mediumBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
@@ -1247,7 +1467,7 @@ class XCX121X3MAHelper : public XCBaseHelper
|
||||
X121_X3MA_MEDIUM_STATE,
|
||||
barIndex,
|
||||
maxRequiredBars,
|
||||
slowStateBuffer //
|
||||
mediumStateBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
@@ -1268,7 +1488,7 @@ class XCX121X3MAHelper : public XCBaseHelper
|
||||
X121_X3MA_SLOW_STATE,
|
||||
barIndex,
|
||||
maxRequiredBars,
|
||||
fastStateBuffer //
|
||||
slowStateBuffer //
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user