cleanup and prepare Signallers ...
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
+286
-1660
File diff suppressed because it is too large
Load Diff
@@ -45,7 +45,6 @@ class XCXCAEASignaller : XCBase
|
||||
XCAEAInputs inputs;
|
||||
XBarTracker barTraker;
|
||||
XCXCAEAHelper *helper;
|
||||
bool rfOnInvalidPivots;
|
||||
XCXCAEAPOIDrawer *drawer;
|
||||
bool continuesRFTillTarget;
|
||||
XBoxZone unAvailableBoxes[];
|
||||
@@ -86,7 +85,6 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
useGuards = false;
|
||||
useTargets = true;
|
||||
rfOnInvalidPivots = false;
|
||||
continuesRFTillTarget = false;
|
||||
|
||||
//
|
||||
@@ -123,7 +121,7 @@ class XCXCAEASignaller : XCBase
|
||||
inputs.x3maInputs.fastLength = 5;
|
||||
|
||||
//
|
||||
inputs.x3maInputs.showFast = false;
|
||||
inputs.x3maInputs.showFast = true;
|
||||
inputs.x3maInputs.showSlow = false;
|
||||
inputs.x3maInputs.showMedium = false;
|
||||
|
||||
@@ -131,6 +129,7 @@ class XCXCAEASignaller : XCBase
|
||||
inputs.caInputs.showMAH = true;
|
||||
inputs.caInputs.showMAL = true;
|
||||
inputs.caInputs.showMAC = true;
|
||||
inputs.caInputs.showSar = true;
|
||||
inputs.caInputs.showSwings = true;
|
||||
inputs.caInputs.showFiboLevel1 = true;
|
||||
inputs.caInputs.showFiboLevel2 = true;
|
||||
@@ -142,7 +141,6 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
inputs.caInputs.showKI = false;
|
||||
inputs.caInputs.showTKI = false;
|
||||
inputs.caInputs.showSar = false;
|
||||
inputs.caInputs.showVidya = false;
|
||||
inputs.caInputs.showTrend = false;
|
||||
inputs.caInputs.showPeakAndValeGolden = false;
|
||||
@@ -221,8 +219,8 @@ class XCXCAEASignaller : XCBase
|
||||
detector.selectEngulfedFVGPivots = false;
|
||||
detector.validateFVGUsingManalyser = true;
|
||||
detector.applyLastBarToFVGBoundary = false;
|
||||
detector.selectOnlyFVGWhichHasIndirectionalLastBar = true;
|
||||
|
||||
detector.selectOnlyFVGWhichHasIndirectionalLastBar = true;
|
||||
|
||||
//
|
||||
// Bullish ...
|
||||
detector.detectFVGBullishPivots = true;
|
||||
@@ -230,7 +228,7 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
// Bearish ...
|
||||
detector.detectFVGBearishPivots = true;
|
||||
|
||||
|
||||
//
|
||||
// TREND ...
|
||||
|
||||
@@ -456,100 +454,14 @@ class XCXCAEASignaller : XCBase
|
||||
|
||||
//
|
||||
// Setup Conditions ...
|
||||
double targets[];
|
||||
XBoxZone pivots[];
|
||||
XBoxZone pivotBox;
|
||||
XBoxZone signalBox;
|
||||
int pivotsCount = 0;
|
||||
bool hasTrend = false;
|
||||
bool hasPivots = false;
|
||||
double additionalSL = 0;
|
||||
bool hasSignalBox = false;
|
||||
XCAEAConditions conditions;
|
||||
ENUM_X_DIRECTION trend = X_DIRECTION_NONE;
|
||||
ENUM_X_DIRECTION signalBoxDir = X_DIRECTION_NONE;
|
||||
|
||||
//
|
||||
// Detecting Pivots ...
|
||||
// detector.Detect(
|
||||
// zIndex //
|
||||
// );
|
||||
|
||||
//
|
||||
// Validate Pivots ...
|
||||
// detector.Validate(
|
||||
// unAvailableBoxes,
|
||||
// zIndex //
|
||||
// );
|
||||
|
||||
//
|
||||
// if (detector.pivotDetectionLoopbac > 100)
|
||||
// {
|
||||
// detector.pivotDetectionLoopbac = 100;
|
||||
// }
|
||||
|
||||
//
|
||||
// Draw Founded Pivots ...
|
||||
// drawer.Draw(cTime);
|
||||
|
||||
//
|
||||
// drawer.DrawPeakPivots(cTime);
|
||||
// drawer.DrawValePivots(cTime);
|
||||
// drawer.DrawFVGBullishPivots(cTime);
|
||||
// drawer.DrawFVGBearishPivots(cTime);
|
||||
// drawer.DrawTrendBullishPivots(cTime);
|
||||
// drawer.DrawTrendBearishPivots(cTime);
|
||||
|
||||
//
|
||||
// Retrieve Valid Pviots ...
|
||||
// pivotsCount = detector.FillPivots(pivots);
|
||||
// hasPivots = IsValidSize(pivotsCount);
|
||||
|
||||
//
|
||||
// Filter UnAvailable Boxes ...
|
||||
// if (hasPivots)
|
||||
// {
|
||||
// //
|
||||
// // Remove UnAvailable Boxes ...
|
||||
// has = HasChild(unAvailableBoxes);
|
||||
// if (has)
|
||||
// {
|
||||
// //
|
||||
// count = ArraySize(unAvailableBoxes);
|
||||
// for (int i = 0; i < count; i++)
|
||||
// {
|
||||
// //
|
||||
// XBoxZone iBox = unAvailableBoxes[i];
|
||||
|
||||
// //
|
||||
// has = FindBoxIndex(
|
||||
// idx,
|
||||
// iBox,
|
||||
// pivots //
|
||||
// );
|
||||
// if (has)
|
||||
// {
|
||||
// //
|
||||
// ArrayRemove(
|
||||
// pivots,
|
||||
// idx,
|
||||
// 1 //
|
||||
// );
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// //
|
||||
// hasPivots = HasChild(pivots);
|
||||
// pivotsCount = ArraySize(pivots);
|
||||
// }
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
//
|
||||
TestDetectSignal(
|
||||
// Checking Test Signal ...
|
||||
hasSignalBox = TestDetectSignal(
|
||||
helper,
|
||||
drawer,
|
||||
signalBox,
|
||||
@@ -559,37 +471,9 @@ class XCXCAEASignaller : XCBase
|
||||
loopback //
|
||||
);
|
||||
|
||||
// //
|
||||
// // Detect Sinal Box ...
|
||||
// hasSignalBox = DetectXCAEAConditions(
|
||||
// drawer,
|
||||
// trend,
|
||||
// pivots,
|
||||
// conditions,
|
||||
// pivotBox,
|
||||
// signalBox,
|
||||
// targets,
|
||||
// additionalSL,
|
||||
// signalBoxDir,
|
||||
// helper,
|
||||
// zIndex,
|
||||
// loopback //
|
||||
// );
|
||||
|
||||
//
|
||||
// Make Pivot Box UnAvailable ...
|
||||
if (pivotBox.IsValid())
|
||||
{
|
||||
//
|
||||
AddRef(
|
||||
pivotBox,
|
||||
unAvailableBoxes //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Make Signal Box UnAvailable ...
|
||||
if (signalBox.IsValid())
|
||||
if (hasSignalBox)
|
||||
{
|
||||
//
|
||||
AddRef(
|
||||
@@ -651,14 +535,6 @@ class XCXCAEASignaller : XCBase
|
||||
isBullish
|
||||
? signalBox.lower
|
||||
: signalBox.upper;
|
||||
if (additionalSL > 0)
|
||||
{
|
||||
//
|
||||
sl =
|
||||
isBullish
|
||||
? sl - additionalSL
|
||||
: sl + additionalSL;
|
||||
}
|
||||
|
||||
//
|
||||
double risk =
|
||||
@@ -710,12 +586,6 @@ class XCXCAEASignaller : XCBase
|
||||
// Targets Preparing ...
|
||||
if (useTargets)
|
||||
{
|
||||
//
|
||||
Copy(
|
||||
targets,
|
||||
mConditions.targets //
|
||||
);
|
||||
|
||||
//
|
||||
// Select RF Rewards ...
|
||||
if (continuesRFTillTarget)
|
||||
@@ -759,104 +629,12 @@ class XCXCAEASignaller : XCBase
|
||||
mConditions.targets //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Detect Rf on Invalid Pivots ...
|
||||
if (rfOnInvalidPivots)
|
||||
{
|
||||
//
|
||||
has = detector.HasInvalidPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
XBoxZone targetBox;
|
||||
double targetBoxPrice = 0;
|
||||
count = detector.CountInvalidPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iPivot = detector.invalidPivots[i];
|
||||
|
||||
//
|
||||
bool isValidPivot =
|
||||
Contains(
|
||||
"XCA_PEAKSWHRES",
|
||||
iPivot.type //
|
||||
) ||
|
||||
Contains(
|
||||
"XCA_VALESWLSUP",
|
||||
iPivot.type //
|
||||
) ||
|
||||
Contains(
|
||||
"XCA_FVG",
|
||||
iPivot.type //
|
||||
);
|
||||
if (!isValidPivot)
|
||||
{
|
||||
//
|
||||
iPivot.Clean();
|
||||
continue;
|
||||
}
|
||||
|
||||
//
|
||||
double selectedPrice =
|
||||
isBullish
|
||||
? iPivot.lower - (5 * points)
|
||||
: iPivot.upper + (5 * points);
|
||||
|
||||
//
|
||||
double targetBoxSelectedPrice =
|
||||
isBullish
|
||||
? targetBox.lower - (5 * points)
|
||||
: targetBox.upper + (5 * points);
|
||||
|
||||
//
|
||||
bool isDirPassed = iPivot.dir = signalBoxDir;
|
||||
bool isPricePassed =
|
||||
isBullish
|
||||
? entry < selectedPrice
|
||||
: entry > selectedPrice;
|
||||
bool canSetTarget =
|
||||
!targetBox.IsValid()
|
||||
? true
|
||||
: isBullish
|
||||
? targetBoxSelectedPrice > selectedPrice
|
||||
: targetBoxSelectedPrice < selectedPrice;
|
||||
if (canSetTarget)
|
||||
{
|
||||
//
|
||||
targetBox = iPivot;
|
||||
targetBoxPrice = targetBoxSelectedPrice;
|
||||
}
|
||||
|
||||
//
|
||||
iPivot.Clean();
|
||||
}
|
||||
|
||||
//
|
||||
if (targetBox.IsValid() &&
|
||||
targetBoxPrice > 0)
|
||||
{
|
||||
//
|
||||
Add(
|
||||
targetBoxPrice,
|
||||
mConditions.targets //
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
targetBox.Clean();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Cleanup Resource ...
|
||||
|
||||
//
|
||||
Clean(pivots);
|
||||
|
||||
//
|
||||
zBar.Clean();
|
||||
cBar.Clean();
|
||||
@@ -864,7 +642,6 @@ class XCXCAEASignaller : XCBase
|
||||
pPBar.Clean();
|
||||
|
||||
//
|
||||
pivotBox.Clean();
|
||||
signalBox.Clean();
|
||||
conditions.Clean();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user