last ...
This commit is contained in:
@@ -44,6 +44,7 @@ class XCXCAEASignaller : XCBase
|
||||
XCXCAEAHelper *helper;
|
||||
XCXCAEAPOIDrawer *drawer;
|
||||
bool continuesRFTillTarget;
|
||||
XBoxZone unAvailableBoxes[];
|
||||
XCXCAEAPOIDetector *detector;
|
||||
XCAEAStrategyConditions mConditions;
|
||||
XCAEAStrategyConditions mConditionsCollection[];
|
||||
@@ -165,8 +166,13 @@ class XCXCAEASignaller : XCBase
|
||||
|
||||
//
|
||||
// Setup Conditions ...
|
||||
XBoxZone boxes[];
|
||||
XBoxZone pivotBox;
|
||||
XBoxZone signalBox;
|
||||
XBoxZone bullishBoxes[];
|
||||
XBoxZone bearishBoxes[];
|
||||
bool hasSignalBox = false;
|
||||
XCAEAConditions conditions;
|
||||
ENUM_X_DIRECTION signalBoxDir = X_DIRECTION_NONE;
|
||||
|
||||
//
|
||||
@@ -178,6 +184,7 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
// Validate Pivots ...
|
||||
detector.Validate(
|
||||
unAvailableBoxes,
|
||||
zIndex //
|
||||
);
|
||||
|
||||
@@ -190,18 +197,17 @@ class XCXCAEASignaller : XCBase
|
||||
|
||||
//
|
||||
// Bullish ...
|
||||
XBoxZone bullishBoxes[];
|
||||
int bullishBoxesCount = detector
|
||||
.FillBullishBoxes(bullishBoxes);
|
||||
int bullishBoxesCount =
|
||||
detector
|
||||
.FillBullishBoxes(bullishBoxes);
|
||||
|
||||
//
|
||||
// Bearish ...
|
||||
XBoxZone bearishBoxes[];
|
||||
int bearishBoxesCount = detector
|
||||
.FillBearishBoxes(bearishBoxes);
|
||||
int bearishBoxesCount =
|
||||
detector
|
||||
.FillBearishBoxes(bearishBoxes);
|
||||
|
||||
//
|
||||
XBoxZone boxes[];
|
||||
Copy(
|
||||
bullishBoxes,
|
||||
boxes,
|
||||
@@ -215,24 +221,75 @@ class XCXCAEASignaller : XCBase
|
||||
int boxesCount = ArraySize(boxes);
|
||||
bool hasBoxes = IsValidSize(boxesCount);
|
||||
|
||||
//
|
||||
// Filter UnAvailable Boxes ...
|
||||
if (hasBoxes)
|
||||
{
|
||||
//
|
||||
// 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,
|
||||
boxes //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
ArrayRemove(
|
||||
boxes,
|
||||
idx,
|
||||
1 //
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
hasBoxes = HasChild(boxes);
|
||||
boxesCount = ArraySize(boxes);
|
||||
}
|
||||
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
//
|
||||
XCAEAConditions conditions;
|
||||
if (hasBoxes)
|
||||
{
|
||||
//
|
||||
// Detect Sinal Box ...
|
||||
hasSignalBox = DetectXCAEAConditions(
|
||||
boxes,
|
||||
conditions,
|
||||
pivotBox,
|
||||
signalBox,
|
||||
signalBoxDir,
|
||||
helper,
|
||||
zIndex,
|
||||
loopback //
|
||||
);
|
||||
|
||||
//
|
||||
// Make Pivot Box UnAvailable ...
|
||||
if (pivotBox.IsValid())
|
||||
{
|
||||
//
|
||||
AddRef(
|
||||
pivotBox,
|
||||
unAvailableBoxes //
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
@@ -360,11 +417,34 @@ class XCXCAEASignaller : XCBase
|
||||
rfReward++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//
|
||||
double rfReward = 2;
|
||||
|
||||
//
|
||||
double rewardRF = risk * rfReward;
|
||||
double rfTP =
|
||||
isBullish
|
||||
? entry + rewardRF
|
||||
: entry - rewardRF;
|
||||
|
||||
//
|
||||
Add(
|
||||
rfTP,
|
||||
mConditions.targets //
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Cleanup Resource ...
|
||||
|
||||
//
|
||||
Clean(boxes);
|
||||
Clean(bullishBoxes);
|
||||
Clean(bearishBoxes);
|
||||
|
||||
//
|
||||
zBar.Clean();
|
||||
cBar.Clean();
|
||||
@@ -372,6 +452,7 @@ class XCXCAEASignaller : XCBase
|
||||
pPBar.Clean();
|
||||
|
||||
//
|
||||
pivotBox.Clean();
|
||||
signalBox.Clean();
|
||||
conditions.Clean();
|
||||
|
||||
@@ -578,7 +659,7 @@ class XCXCAEASignaller : XCBase
|
||||
{
|
||||
//
|
||||
useGuards = false;
|
||||
continuesRFTillTarget = true;
|
||||
continuesRFTillTarget = false;
|
||||
|
||||
//
|
||||
barTraker.Init(
|
||||
@@ -633,7 +714,7 @@ class XCXCAEASignaller : XCBase
|
||||
|
||||
//
|
||||
// Oscillators Views ...
|
||||
inputs.showCCI = false;
|
||||
inputs.showCCI = true;
|
||||
inputs.showRSI = false;
|
||||
inputs.showMFI = false;
|
||||
inputs.showRVI = false;
|
||||
|
||||
Reference in New Issue
Block a user