implement valeSupSWL Pivots ...
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -221,6 +221,10 @@ struct XCAEAConditions
|
||||
bool isKISwitchedToBullish;
|
||||
bool isKISwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isKIFinishedFromBullish;
|
||||
bool isKIFinishedFromBearish;
|
||||
|
||||
//
|
||||
// TKI ...
|
||||
|
||||
@@ -236,6 +240,10 @@ struct XCAEAConditions
|
||||
bool isTKISwitchedToBullish;
|
||||
bool isTKISwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isTKIFinishedFromBullish;
|
||||
bool isTKIFinishedFromBearish;
|
||||
|
||||
//
|
||||
// VIDYA ...
|
||||
|
||||
@@ -251,6 +259,10 @@ struct XCAEAConditions
|
||||
bool isVidyaSwitchedToBullish;
|
||||
bool isVidyaSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isVidyaFinishedFromBullish;
|
||||
bool isVidyaFinishedFromBearish;
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
|
||||
@@ -262,6 +274,10 @@ struct XCAEAConditions
|
||||
bool isSarSwitchedToBullish;
|
||||
bool isSarSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isSarFinishedFromBullish;
|
||||
bool isSarFinishedFromBearish;
|
||||
|
||||
//
|
||||
// PEAK ...
|
||||
|
||||
@@ -293,6 +309,10 @@ struct XCAEAConditions
|
||||
bool isTrendSwitchedToBullish;
|
||||
bool isTrendSwitchedToBearish;
|
||||
|
||||
//
|
||||
bool isTrendFinishedFromBullish;
|
||||
bool isTrendFinishedFromBearish;
|
||||
|
||||
//
|
||||
// SUPPORT ...
|
||||
|
||||
@@ -348,6 +368,14 @@ struct XCAEAConditions
|
||||
bool isPeakIsPivot;
|
||||
bool isValeIsPivot;
|
||||
|
||||
//
|
||||
bool isPeakSwitchedToPivot;
|
||||
bool isValeSwitchedToPivot;
|
||||
|
||||
//
|
||||
bool isPeakFinishedFromPivot;
|
||||
bool isValeFinishedFromPivot;
|
||||
|
||||
//
|
||||
bool isSwingLowSameAsVale;
|
||||
bool isSwingHighSameAsPeak;
|
||||
@@ -408,7 +436,6 @@ struct XCAEAConditions
|
||||
double stochasticOSLevel;
|
||||
double stochasticReversalLevel;
|
||||
|
||||
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
@@ -730,6 +757,10 @@ struct XCAEAConditions
|
||||
isKISwitchedToBullish = false;
|
||||
isKISwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isKIFinishedFromBullish = false;
|
||||
isKIFinishedFromBearish = false;
|
||||
|
||||
//
|
||||
// TKI ...
|
||||
|
||||
@@ -745,6 +776,10 @@ struct XCAEAConditions
|
||||
isTKISwitchedToBullish = false;
|
||||
isTKISwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isTKIFinishedFromBullish = false;
|
||||
isTKIFinishedFromBearish = false;
|
||||
|
||||
//
|
||||
// VIDYA ...
|
||||
|
||||
@@ -760,6 +795,10 @@ struct XCAEAConditions
|
||||
isVidyaSwitchedToBullish = false;
|
||||
isVidyaSwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isVidyaFinishedFromBullish = false;
|
||||
isVidyaFinishedFromBearish = false;
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
|
||||
@@ -771,6 +810,10 @@ struct XCAEAConditions
|
||||
isSarSwitchedToBullish = false;
|
||||
isSarSwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isSarFinishedFromBullish = false;
|
||||
isSarFinishedFromBearish = false;
|
||||
|
||||
//
|
||||
// PEAK ...
|
||||
|
||||
@@ -802,6 +845,10 @@ struct XCAEAConditions
|
||||
isTrendSwitchedToBullish = false;
|
||||
isTrendSwitchedToBearish = false;
|
||||
|
||||
//
|
||||
isTrendFinishedFromBullish = false;
|
||||
isTrendFinishedFromBearish = false;
|
||||
|
||||
//
|
||||
// SUPPORT ...
|
||||
|
||||
@@ -857,6 +904,14 @@ struct XCAEAConditions
|
||||
isPeakIsPivot = false;
|
||||
isValeIsPivot = false;
|
||||
|
||||
//
|
||||
isPeakSwitchedToPivot = false;
|
||||
isValeSwitchedToPivot = false;
|
||||
|
||||
//
|
||||
isPeakFinishedFromPivot = false;
|
||||
isValeFinishedFromPivot = false;
|
||||
|
||||
//
|
||||
isSwingLowSameAsVale = false;
|
||||
isSwingHighSameAsPeak = false;
|
||||
@@ -1875,7 +1930,6 @@ struct XCAEAConditions
|
||||
|
||||
//
|
||||
string conditionsStr =
|
||||
//
|
||||
//
|
||||
"-----------------------" + separator +
|
||||
"XCA: " + separator +
|
||||
@@ -1885,23 +1939,31 @@ struct XCAEAConditions
|
||||
ToString("isKIBullish", isKIBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isKIBearish", isKIBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isKISwitchedToBullish", isKISwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isKIFinishedFromBullish", isKIFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isKISwitchedToBearish", isKISwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isKIFinishedFromBearish", isKIFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isTKIRejectUp", isTKIRejectUp, ignoreFalseConditions, separator) +
|
||||
ToString("isTKIRejectDown", isTKIRejectDown, ignoreFalseConditions, separator) +
|
||||
ToString("isTKIBullish", isTKIBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTKIBearish", isTKIBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isTKISwitchedToBullish", isTKISwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTKIFinishedFromBullish", isTKIFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTKISwitchedToBearish", isTKISwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isTKIFinishedFromBearish", isTKIFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaRejectUp", isVidyaRejectUp, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaRejectDown", isVidyaRejectDown, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaBullish", isVidyaBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaBearish", isVidyaBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaSwitchedToBullish", isVidyaSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaFinishedFromBullish", isVidyaFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaSwitchedToBearish", isVidyaSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isVidyaFinishedFromBearish", isVidyaFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarBullish", isSarBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarBearish", isSarBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarSwitchedToBullish", isSarSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarFinishedFromBullish", isSarFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarFinishedFromBearish", isSarFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) +
|
||||
ToString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) +
|
||||
ToString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) +
|
||||
@@ -1913,7 +1975,9 @@ struct XCAEAConditions
|
||||
ToString("isTrendBullish", isTrendBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendBearish", isTrendBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendSwitchedToBullish", isTrendSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendFinishedFromBullish", isTrendFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendSwitchedToBearish", isTrendSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isTrendFinishedFromBearish", isTrendFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isSupportSameLast", isSupportSameLast, ignoreFalseConditions, separator) +
|
||||
ToString("isSupportOverLast", isSupportOverLast, ignoreFalseConditions, separator) +
|
||||
ToString("isSupportUnderLast", isSupportUnderLast, ignoreFalseConditions, separator) +
|
||||
@@ -1936,6 +2000,10 @@ struct XCAEAConditions
|
||||
ToString("isLastSwingHighRejected", isLastSwingHighRejected, ignoreFalseConditions, separator) +
|
||||
ToString("isPeakIsPivot", isPeakIsPivot, ignoreFalseConditions, separator) +
|
||||
ToString("isValeIsPivot", isValeIsPivot, ignoreFalseConditions, separator) +
|
||||
ToString("isPeakSwitchedToPivot", isPeakSwitchedToPivot, ignoreFalseConditions, separator) +
|
||||
ToString("isPeakFinishedFromPivot", isPeakFinishedFromPivot, ignoreFalseConditions, separator) +
|
||||
ToString("isValeSwitchedToPivot", isValeSwitchedToPivot, ignoreFalseConditions, separator) +
|
||||
ToString("isValeFinishedFromPivot", isValeFinishedFromPivot, ignoreFalseConditions, separator) +
|
||||
ToString("isSwingLowSameAsVale", isSwingLowSameAsVale, ignoreFalseConditions, separator) +
|
||||
ToString("isSwingHighSameAsPeak", isSwingHighSameAsPeak, ignoreFalseConditions, separator) +
|
||||
ToString("isSupportSameAsVale", isSupportSameAsVale, ignoreFalseConditions, separator) +
|
||||
@@ -2899,6 +2967,8 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.isKISwitchedToBearish = xcaConditions.isKISwitchedToBearish;
|
||||
conditions.isLastSwingLowBreaked = xcaConditions.isLastSwingLowBreaked;
|
||||
conditions.isSwingHighSameAsPeak = xcaConditions.isSwingHighSameAsPeak;
|
||||
conditions.isPeakSwitchedToPivot = xcaConditions.isPeakSwitchedToPivot;
|
||||
conditions.isValeSwitchedToPivot = xcaConditions.isValeSwitchedToPivot;
|
||||
conditions.isTKISwitchedToBullish = xcaConditions.isTKISwitchedToBullish;
|
||||
conditions.isTKISwitchedToBearish = xcaConditions.isTKISwitchedToBearish;
|
||||
conditions.isLastSwingLowRejected = xcaConditions.isLastSwingLowRejected;
|
||||
@@ -2906,14 +2976,26 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.isSarSwitchedToBearish = xcaConditions.isSarSwitchedToBearish;
|
||||
conditions.isLastSwingHighBreaked = xcaConditions.isLastSwingHighBreaked;
|
||||
conditions.isResistanceSameAsPeak = xcaConditions.isResistanceSameAsPeak;
|
||||
conditions.isPeakFinishedFromPivot = xcaConditions.isPeakFinishedFromPivot;
|
||||
conditions.isValeFinishedFromPivot = xcaConditions.isValeFinishedFromPivot;
|
||||
conditions.isLastSwingHighRejected = xcaConditions.isLastSwingHighRejected;
|
||||
conditions.isLastResistanceBreaked = xcaConditions.isLastResistanceBreaked;
|
||||
conditions.isSupportSameAsSwingLow = xcaConditions.isSupportSameAsSwingLow;
|
||||
conditions.isKIFinishedFromBullish = xcaConditions.isKIFinishedFromBullish;
|
||||
conditions.isKIFinishedFromBearish = xcaConditions.isKIFinishedFromBearish;
|
||||
conditions.isTKIFinishedFromBullish = xcaConditions.isTKIFinishedFromBullish;
|
||||
conditions.isTKIFinishedFromBearish = xcaConditions.isTKIFinishedFromBearish;
|
||||
conditions.isSarFinishedFromBullish = xcaConditions.isSarFinishedFromBullish;
|
||||
conditions.isSarFinishedFromBearish = xcaConditions.isSarFinishedFromBearish;
|
||||
conditions.isVidyaSwitchedToBullish = xcaConditions.isVidyaSwitchedToBullish;
|
||||
conditions.isVidyaSwitchedToBearish = xcaConditions.isVidyaSwitchedToBearish;
|
||||
conditions.isLastResistanceRejected = xcaConditions.isLastResistanceRejected;
|
||||
conditions.isTrendSwitchedToBullish = xcaConditions.isTrendSwitchedToBullish;
|
||||
conditions.isTrendSwitchedToBearish = xcaConditions.isTrendSwitchedToBearish;
|
||||
conditions.isVidyaFinishedFromBullish = xcaConditions.isVidyaFinishedFromBullish;
|
||||
conditions.isVidyaFinishedFromBearish = xcaConditions.isVidyaFinishedFromBearish;
|
||||
conditions.isTrendFinishedFromBullish = xcaConditions.isTrendFinishedFromBullish;
|
||||
conditions.isTrendFinishedFromBearish = xcaConditions.isTrendFinishedFromBearish;
|
||||
conditions.isResistanceSameAsSwingHigh = xcaConditions.isResistanceSameAsSwingHigh;
|
||||
|
||||
//
|
||||
@@ -3040,11 +3122,11 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.momentumBearishLevel = xocsConditions.momentumBearishLevel;
|
||||
conditions.stochasticOBLevel = xocsConditions.stochasticOBLevel;
|
||||
conditions.stochasticOSLevel = xocsConditions.stochasticOSLevel;
|
||||
conditions.stochasticReversalLevel = xocsConditions.stochasticReversalLevel;
|
||||
conditions.stochasticReversalLevel = xocsConditions.stochasticReversalLevel;
|
||||
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
|
||||
//
|
||||
conditions.isCCIOB = xocsConditions.isCCIOB;
|
||||
conditions.isCCIOS = xocsConditions.isCCIOS;
|
||||
@@ -3185,4 +3267,4 @@ class XCXCAEAHelper : XCBase
|
||||
int stochasticHandler;
|
||||
};
|
||||
|
||||
//
|
||||
//
|
||||
@@ -559,6 +559,21 @@ bool DetectXCAEAConditions(
|
||||
double p2Vale = conditions.valeBuffer[p2IDX];
|
||||
double p3Vale = conditions.valeBuffer[p3IDX];
|
||||
|
||||
//
|
||||
// VIDYA ...
|
||||
double zVidya = conditions.vidyaBuffer[zIDX];
|
||||
double cVidya = conditions.vidyaBuffer[cIDX];
|
||||
double pVidya = conditions.vidyaBuffer[pIDX];
|
||||
double p2Vidya = conditions.vidyaBuffer[p2IDX];
|
||||
double p3Vidya = conditions.vidyaBuffer[p3IDX];
|
||||
|
||||
//
|
||||
double zVidyaState = conditions.vidyaStateBuffer[zIDX];
|
||||
double cVidyaState = conditions.vidyaStateBuffer[cIDX];
|
||||
double pVidyaState = conditions.vidyaStateBuffer[pIDX];
|
||||
double p2VidyaState = conditions.vidyaStateBuffer[p2IDX];
|
||||
double p3VidyaState = conditions.vidyaStateBuffer[p3IDX];
|
||||
|
||||
//
|
||||
// RSI ...
|
||||
double zRSI = conditions.rsiBuffer[zIDX];
|
||||
@@ -776,8 +791,11 @@ bool DetectXCAEAConditions(
|
||||
|
||||
//
|
||||
// Detect Selected Box ...
|
||||
XBoxZone oscBoxes[];
|
||||
XBoxZone lastOSCBox;
|
||||
double providedSL = 0;
|
||||
bool isBoxFVG = false;
|
||||
bool hasOSCBox = false;
|
||||
bool hasPivotBox = false;
|
||||
bool isBoxPeakVale = false;
|
||||
bool isBoxRejected = false;
|
||||
@@ -831,6 +849,32 @@ bool DetectXCAEAConditions(
|
||||
isBoxPeakVale;
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
bool isOSC = Contains(
|
||||
"XCA_CCI_VALE",
|
||||
iBox.type //
|
||||
) ||
|
||||
Contains(
|
||||
"XCA_CCI_PEAK",
|
||||
iBox.type //
|
||||
) ||
|
||||
Contains(
|
||||
"XCA_RSI_VALE",
|
||||
iBox.type //
|
||||
) ||
|
||||
Contains(
|
||||
"XCA_RSI_PEAK",
|
||||
iBox.type //
|
||||
);
|
||||
if (isOSC)
|
||||
{
|
||||
//
|
||||
AddRef(
|
||||
iBox,
|
||||
oscBoxes //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
|
||||
@@ -918,33 +962,78 @@ bool DetectXCAEAConditions(
|
||||
Clean(tmp);
|
||||
}
|
||||
|
||||
//
|
||||
// Check OSC Boxes ...
|
||||
bool hasOSCBoxes = HasChild(oscBoxes);
|
||||
if (hasOSCBoxes)
|
||||
{
|
||||
//
|
||||
// Detect Newest OSC Box ...
|
||||
idx = GetYoungest(oscBoxes);
|
||||
has = IsValidIndex(idx);
|
||||
if (has)
|
||||
{
|
||||
lastOSCBox = oscBoxes[idx];
|
||||
}
|
||||
|
||||
//
|
||||
// Validate OSC Box is Valid or not ...
|
||||
has = lastOSCBox.IsValid();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Check Bar is Inside OSC Box or not ...
|
||||
has = cBar.time > lastOSCBox.from &&
|
||||
cBar.time <= lastOSCBox.to;
|
||||
if (!has)
|
||||
{
|
||||
lastOSCBox.Clean();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
hasOSCBox = lastOSCBox.IsValid();
|
||||
if (hasOSCBox)
|
||||
{
|
||||
// //
|
||||
// XCBoxObject *iObj;
|
||||
// has = helper.poiDrawer.DrawBox(
|
||||
// lastOSCBox,
|
||||
// iObj //
|
||||
// );
|
||||
// if (has) {
|
||||
// iObj.BoxWidth(4);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Force Conditions to Have Selected Box ...
|
||||
hasPivotBox = hasBoxes &&
|
||||
pivotBox.IsValid();
|
||||
if (hasPivotBox)
|
||||
{
|
||||
//
|
||||
pivotBox.to = TimeCurrent();
|
||||
// //
|
||||
// pivotBox.to = TimeCurrent();
|
||||
|
||||
//
|
||||
// Draw Pivot Box Here ...
|
||||
if (isBoxPeakVale)
|
||||
{
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = helper.poiDrawer.DrawBox(
|
||||
pivotBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iObj.BoxWidth(5);
|
||||
iObj.BoxColor(clrDodgerBlue);
|
||||
Print("Draw Pivot Box ...");
|
||||
}
|
||||
}
|
||||
// //
|
||||
// // Draw Pivot Box Here ...
|
||||
// if (isBoxPeakVale)
|
||||
// {
|
||||
// //
|
||||
// XCBoxObject *iObj;
|
||||
// has = helper.poiDrawer.DrawBox(
|
||||
// pivotBox,
|
||||
// iObj //
|
||||
// );
|
||||
// if (has)
|
||||
// {
|
||||
// //
|
||||
// iObj.BoxWidth(5);
|
||||
// iObj.BoxColor(clrDodgerBlue);
|
||||
// Print("Draw Pivot Box ...");
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
//
|
||||
@@ -977,6 +1066,7 @@ bool DetectXCAEAConditions(
|
||||
//
|
||||
bool isCond1Bullish =
|
||||
//
|
||||
false &&
|
||||
hasPivotBox &&
|
||||
isBoxPeakVale &&
|
||||
isScoreBullish &&
|
||||
@@ -992,6 +1082,7 @@ bool DetectXCAEAConditions(
|
||||
//
|
||||
bool isCond1Bearish =
|
||||
//
|
||||
false &&
|
||||
hasPivotBox &&
|
||||
isBoxPeakVale &&
|
||||
isScoreBearish &&
|
||||
@@ -1023,19 +1114,25 @@ bool DetectXCAEAConditions(
|
||||
}
|
||||
|
||||
//
|
||||
// Cond2 Act Using Box Rejection ...
|
||||
// Cond2 Act Using OSC Box and Vydia ...
|
||||
|
||||
//
|
||||
bool isCond2Bullish =
|
||||
//
|
||||
false
|
||||
hasOSCBox &&
|
||||
// cVidyaState < 0 &&
|
||||
lastOSCBox.IsBullish() // &&
|
||||
// lastOSCBox.upper < cVidya
|
||||
//
|
||||
;
|
||||
|
||||
//
|
||||
bool isCond2Bearish =
|
||||
//
|
||||
false
|
||||
hasOSCBox &&
|
||||
// cVidyaState > 0 &&
|
||||
lastOSCBox.IsBearish() // &&
|
||||
// lastOSCBox.lower > cVidya
|
||||
//
|
||||
;
|
||||
|
||||
@@ -1052,6 +1149,8 @@ bool DetectXCAEAConditions(
|
||||
|
||||
//
|
||||
Print("Cond2");
|
||||
isCond2Bullish = false;
|
||||
isCond2Bearish = false;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1168,6 +1267,7 @@ bool DetectXCAEAConditions(
|
||||
p2Bar.Clean();
|
||||
p3Bar.Clean();
|
||||
p4Bar.Clean();
|
||||
Clean(oscBoxes);
|
||||
pConditions.Clean();
|
||||
|
||||
//
|
||||
|
||||
@@ -182,6 +182,11 @@ class XCXCAEASignaller : XCBase
|
||||
detector.Update(
|
||||
zIndex //
|
||||
);
|
||||
|
||||
//
|
||||
if (detector.newValeSupSWLPivotDetected) {
|
||||
Print("Salam");
|
||||
}
|
||||
|
||||
//
|
||||
// Validate Pivots ...
|
||||
@@ -197,29 +202,29 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
// Retrieve Valid Boxes ...
|
||||
|
||||
//
|
||||
// Bullish ...
|
||||
int bullishBoxesCount =
|
||||
detector
|
||||
.FillBullishBoxes(bullishBoxes);
|
||||
// //
|
||||
// // Bullish ...
|
||||
// int bullishBoxesCount =
|
||||
// detector
|
||||
// .FillBullishBoxes(bullishBoxes);
|
||||
|
||||
//
|
||||
// Bearish ...
|
||||
int bearishBoxesCount =
|
||||
detector
|
||||
.FillBearishBoxes(bearishBoxes);
|
||||
// //
|
||||
// // Bearish ...
|
||||
// int bearishBoxesCount =
|
||||
// detector
|
||||
// .FillBearishBoxes(bearishBoxes);
|
||||
|
||||
//
|
||||
Copy(
|
||||
bullishBoxes,
|
||||
boxes,
|
||||
false //
|
||||
);
|
||||
Copy(
|
||||
bearishBoxes,
|
||||
boxes,
|
||||
false //
|
||||
);
|
||||
// //
|
||||
// Copy(
|
||||
// bullishBoxes,
|
||||
// boxes,
|
||||
// false //
|
||||
// );
|
||||
// Copy(
|
||||
// bearishBoxes,
|
||||
// boxes,
|
||||
// false //
|
||||
// );
|
||||
int boxesCount = ArraySize(boxes);
|
||||
bool hasBoxes = IsValidSize(boxesCount);
|
||||
|
||||
@@ -267,32 +272,33 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
|
||||
//
|
||||
if (hasBoxes)
|
||||
// if (hasBoxes)
|
||||
// {
|
||||
// }
|
||||
|
||||
//
|
||||
// Detect Sinal Box ...
|
||||
hasSignalBox = DetectXCAEAConditions(
|
||||
boxes,
|
||||
conditions,
|
||||
pivotBox,
|
||||
signalBox,
|
||||
additionalSL,
|
||||
signalBoxDir,
|
||||
helper,
|
||||
zIndex,
|
||||
loopback //
|
||||
);
|
||||
|
||||
//
|
||||
// Make Pivot Box UnAvailable ...
|
||||
if (pivotBox.IsValid())
|
||||
{
|
||||
//
|
||||
// Detect Sinal Box ...
|
||||
hasSignalBox = DetectXCAEAConditions(
|
||||
boxes,
|
||||
conditions,
|
||||
AddRef(
|
||||
pivotBox,
|
||||
signalBox,
|
||||
additionalSL,
|
||||
signalBoxDir,
|
||||
helper,
|
||||
zIndex,
|
||||
loopback //
|
||||
unAvailableBoxes //
|
||||
);
|
||||
|
||||
//
|
||||
// Make Pivot Box UnAvailable ...
|
||||
if (pivotBox.IsValid())
|
||||
{
|
||||
//
|
||||
AddRef(
|
||||
pivotBox,
|
||||
unAvailableBoxes //
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
@@ -701,9 +707,10 @@ class XCXCAEASignaller : XCBase
|
||||
|
||||
//
|
||||
inputs.caInputs.showKI = true;
|
||||
inputs.caInputs.showTKI = true;
|
||||
inputs.caInputs.showSar = true;
|
||||
inputs.caInputs.showTrend = true;
|
||||
inputs.caInputs.showTKI = false;
|
||||
inputs.caInputs.showSar = false;
|
||||
inputs.caInputs.showVidya = true;
|
||||
inputs.caInputs.showTrend = false;
|
||||
inputs.caInputs.showSwings = false;
|
||||
inputs.caInputs.showLongCycle = false;
|
||||
inputs.caInputs.showHindCycle = false;
|
||||
@@ -746,103 +753,33 @@ class XCXCAEASignaller : XCBase
|
||||
detector = new XCXCAEAPOIDetector(helper);
|
||||
|
||||
//
|
||||
detector.detectSWHPivot = false;
|
||||
detector.detectSWLPivot = false;
|
||||
detector.detectPeakPivot = false;
|
||||
detector.detectValePivot = false;
|
||||
detector.detectRSIPeakPivot = true;
|
||||
detector.detectRSIValePivot = true;
|
||||
detector.detectCCIPeakPivot = true;
|
||||
detector.detectCCIValePivot = true;
|
||||
detector.detectKIBullishPivot = false;
|
||||
detector.detectKIBearishPivot = false;
|
||||
detector.detectFVGBullishPivot = true;
|
||||
detector.detectFVGBearishPivot = true;
|
||||
detector.detectPeakSWHResPivot = true;
|
||||
detector.detectValeSWLSupPivot = true;
|
||||
detector.detectTKIBullishPivot = false;
|
||||
detector.detectCycleSameLLPivot = false;
|
||||
detector.detectCycleSameHHPivot = false;
|
||||
detector.detectTKIBearishPivot = false;
|
||||
detector.detectTrendBullishPivot = true;
|
||||
detector.detectTrendBearishPivot = true;
|
||||
detector.detectTKITRNDBullishPivot = false;
|
||||
detector.detectTKITRNDBearishPivot = false;
|
||||
detector.detectRSICrossedOverOSPivot = false;
|
||||
detector.detectRSICrossedUnderOBPivot = false;
|
||||
detector.detectCCICrossedOverOSPivot = false;
|
||||
detector.detectCCICrossedUnderOBPivot = false;
|
||||
// Configure Detector ...
|
||||
detector.detectRSIPeakPivots = true;
|
||||
detector.detectRSIValePivots = true;
|
||||
detector.detectCCIPeakPivots = true;
|
||||
detector.detectCCIValePivots = true;
|
||||
detector.detectFVGBullishPivots = true;
|
||||
detector.detectFVGBearishPivots = true;
|
||||
detector.detectValeSupSWLPivots = true;
|
||||
detector.detectPeakResSWHPivots = true;
|
||||
|
||||
//
|
||||
// Initialize and Configure Drawer ...
|
||||
drawer = new XCXCAEAPOIDrawer(detector);
|
||||
|
||||
//
|
||||
// Configure Drawer ...
|
||||
drawer.drawRSIPeakPivots = true;
|
||||
drawer.drawRSIValePivots = true;
|
||||
drawer.drawCCIPeakPivots = true;
|
||||
drawer.drawCCIValePivots = true;
|
||||
drawer.drawFVGBullishPivots = true;
|
||||
drawer.drawFVGBearishPivots = true;
|
||||
drawer.drawValeSupSWLPivots = true;
|
||||
drawer.drawPeakResSWHPivots = true;
|
||||
|
||||
//
|
||||
// UnActive Pivots ...
|
||||
drawer.drawSWHPivots = false;
|
||||
drawer.drawSWLPivots = false;
|
||||
drawer.drawPeakPivots = false;
|
||||
drawer.drawValePivots = false;
|
||||
drawer.drawRSIPeakPivots = true; // true;
|
||||
drawer.drawRSIValePivots = true; // true;
|
||||
drawer.drawCCIPeakPivots = false; // true;
|
||||
drawer.drawCCIValePivots = false; // true;
|
||||
drawer.drawKIBullishPivots = false;
|
||||
drawer.drawKIBearishPivots = false;
|
||||
drawer.drawFVGBullishPivots = false;
|
||||
drawer.drawFVGBearishPivots = false;
|
||||
drawer.drawPeakSWHResPivots = false; // true;
|
||||
drawer.drawValeSWLSupPivots = false; // true;
|
||||
drawer.drawTKIBullishPivots = false;
|
||||
drawer.drawTKIBearishPivots = false;
|
||||
drawer.drawPVFVGBullishPivots = false; // true;
|
||||
drawer.drawPVFVGBearishPivots = false; // true;
|
||||
drawer.drawCycleSameLLPivots = false;
|
||||
drawer.drawCycleSameHHPivots = false;
|
||||
drawer.drawTrendBullishPivots = false;
|
||||
drawer.drawTrendBearishPivots = false;
|
||||
drawer.drawTKITRNDBullishPivots = false;
|
||||
drawer.drawTKITRNDBearishPivots = false;
|
||||
drawer.drawRSICrossedOverOSPivots = true;
|
||||
drawer.drawRSICrossedUnderOBPivots = true;
|
||||
drawer.drawCCICrossedOverOSPivots = false;
|
||||
drawer.drawCCICrossedUnderOBPivots = false;
|
||||
|
||||
//
|
||||
drawer.drawTicks = true;
|
||||
|
||||
//
|
||||
// Configure Width ...
|
||||
drawer.peakPivotWidth = 1;
|
||||
drawer.valePivotWidth = 1;
|
||||
drawer.ticksBullishWidth = 2;
|
||||
drawer.ticksBearishWidth = 2;
|
||||
drawer.fvgBullishPivotWidth = 1;
|
||||
drawer.fvgBearishPivotWidth = 1;
|
||||
drawer.oscsBullishPivotWidth = 2;
|
||||
drawer.oscsBearishPivotWidth = 2;
|
||||
|
||||
//
|
||||
// Configure Colors ...
|
||||
drawer.peakPivotColor = clrMagenta;
|
||||
drawer.valePivotColor = clrAqua;
|
||||
drawer.ticksBullishColor = clrYellow;
|
||||
drawer.ticksBearishColor = clrOrange;
|
||||
drawer.fvgBullishPivotColor = clrLime;
|
||||
drawer.fvgBearishPivotColor = clrRed;
|
||||
drawer.oscsBullishPivotColor = clrYellow;
|
||||
drawer.oscsBearishPivotColor = clrOrange;
|
||||
|
||||
//
|
||||
// Configure Style ...
|
||||
drawer.peakPivotStyle = STYLE_SOLID;
|
||||
drawer.valePivotStyle = STYLE_SOLID;
|
||||
drawer.ticksBullishStyle = STYLE_DOT;
|
||||
drawer.ticksBearishStyle = STYLE_DOT;
|
||||
drawer.fvgBullishPivotStyle = STYLE_DASH;
|
||||
drawer.fvgBearishPivotStyle = STYLE_DASH;
|
||||
drawer.oscsBullishPivotStyle = STYLE_SOLID;
|
||||
drawer.oscsBearishPivotStyle = STYLE_SOLID;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user