complete 121 market cycles generating in conditions ...

This commit is contained in:
2024-05-23 02:34:23 +03:30
parent 4a69e7edf8
commit 5142f47de3
2 changed files with 215 additions and 9 deletions
+110 -1
View File
@@ -458,6 +458,8 @@ public:
// Tenkan-sen < Kijun-sen --> bearish signal
bool isTenkanSenOverKijunSen;
bool isTenkanSenUnderKijunSen;
bool isTenkanSenCrossedOverKijunSen;
bool isTenkanSenCrossedUnderKijunSen;
//
// XMC ...
@@ -1074,6 +1076,12 @@ public:
{
bullScore++;
}
if (isTenkanSenCrossedOverKijunSen)
{
//
bullScore++;
bearScore--;
}
//
// BEARISH ...
@@ -1101,6 +1109,12 @@ public:
{
bearScore++;
}
if (isTenkanSenCrossedUnderKijunSen)
{
//
bullScore--;
bearScore++;
}
//
// XMC ...
@@ -2173,7 +2187,102 @@ public:
conditions.isCloseUnderVerifier = isCloseUnderVerifier;
//
// TODO: XICH ...
// XICH ...
//
ich.CopyTenkanSen(
barIndex,
mNumberOfItems,
conditions.ichTenkanSens //
);
ich.CopyKijunSen(
barIndex,
mNumberOfItems,
conditions.ichKijunSens //
);
ich.CopyChikouSpan(
barIndex,
mNumberOfItems,
conditions.ichChikouSpans //
);
ich.CopySenkouSpanA(
barIndex,
mNumberOfItems,
conditions.ichSenkouSpanBs //
);
ich.CopySenkouSpanB(
barIndex,
mNumberOfItems,
conditions.ichSenkouSpanAs //
);
//
double tenkanSen = ich.GetTenkanSen(barIndex);
double tenkanSenPrev = ich.GetTenkanSen(barIndex + 1);
//
double kijunSen = ich.GetKijunSen(barIndex);
double kijunSenPrev = ich.GetKijunSen(barIndex + 1);
//
double senkouSpanA = ich.GetSenkouSpanA(barIndex);
double senkouSpanAPrev = ich.GetSenkouSpanA(barIndex + 1);
//
double senkouSpanB = ich.GetSenkouSpanB(barIndex);
double senkouSpanBPrev = ich.GetSenkouSpanB(barIndex + 1);
//
double futureSenkouSpanA = ich.GetFutureSenkouSpanA(barIndex);
double futureSenkouSpanAPrev = ich.GetFutureSenkouSpanA(barIndex + 1);
//
double futureSenkouSpanB = ich.GetFutureSenkouSpanB(barIndex);
double futureSenkouSpanBPrev = ich.GetFutureSenkouSpanB(barIndex + 1);
//
bool isSenkouSpanAOverB = senkouSpanA > senkouSpanB;
bool isSenkouSpanAUnderB = senkouSpanA < senkouSpanB;
bool isSenkouSpanAOverLast = senkouSpanA > senkouSpanAPrev;
bool isSenkouSpanAUnderLast = senkouSpanA < senkouSpanAPrev;
bool isFutureSenkouSpanAOverB = futureSenkouSpanA > futureSenkouSpanB;
bool isFutureSenkouSpanAUnderB = futureSenkouSpanA < futureSenkouSpanB;
bool isFutureSenkouSpanAOverLast = futureSenkouSpanA > futureSenkouSpanAPrev;
bool isFutureSenkouSpanAUnderLast = futureSenkouSpanA < futureSenkouSpanAPrev;
bool isCloseOverKijunSen = pBar.close > kijunSenPrev;
bool isCloseUnderKijunSen = pBar.close < kijunSenPrev;
bool isTenkanSenOverKijunSen = tenkanSen > kijunSen;
bool isTenkanSenUnderKijunSen = tenkanSen < kijunSen;
bool isTenkanSenPrevOverKijunSen = tenkanSenPrev > kijunSenPrev;
bool isTenkanSenPrevUnderKijunSen = tenkanSenPrev < kijunSenPrev;
bool isTenkanSenCrossedOverKijunSen =
//
isTenkanSenOverKijunSen &&
!isTenkanSenPrevOverKijunSen
//
;
bool isTenkanSenCrossedUnderKijunSen =
//
isTenkanSenUnderKijunSen &&
!isTenkanSenPrevUnderKijunSen
//
;
//
conditions.isSenkouSpanAOverB = isSenkouSpanAOverB;
conditions.isSenkouSpanAUnderB = isSenkouSpanAUnderB;
conditions.isSenkouSpanAOverLast = isSenkouSpanAOverLast;
conditions.isSenkouSpanAUnderLast = isSenkouSpanAUnderLast;
conditions.isFutureSenkouSpanAOverB = isFutureSenkouSpanAOverB;
conditions.isFutureSenkouSpanAUnderB = isFutureSenkouSpanAUnderB;
conditions.isFutureSenkouSpanAOverLast = isFutureSenkouSpanAOverLast;
conditions.isFutureSenkouSpanAUnderLast = isFutureSenkouSpanAUnderLast;
conditions.isCloseOverKijunSen = isCloseOverKijunSen;
conditions.isCloseUnderKijunSen = isCloseUnderKijunSen;
conditions.isTenkanSenOverKijunSen = isTenkanSenOverKijunSen;
conditions.isTenkanSenUnderKijunSen = isTenkanSenUnderKijunSen;
conditions.isTenkanSenCrossedOverKijunSen = isTenkanSenCrossedOverKijunSen;
conditions.isTenkanSenCrossedUnderKijunSen = isTenkanSenCrossedUnderKijunSen;
//
// XOSC ...