last ...
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -163,6 +163,10 @@ struct XCAEAConditions
|
||||
ENUM_TIMEFRAMES period;
|
||||
datetime time;
|
||||
|
||||
//
|
||||
datetime to;
|
||||
datetime from;
|
||||
|
||||
//
|
||||
// XCA ...
|
||||
|
||||
@@ -171,6 +175,7 @@ struct XCAEAConditions
|
||||
|
||||
//
|
||||
double kiBuffer[];
|
||||
double tkiBuffer[];
|
||||
double sHHBuffer[];
|
||||
double sLLBuffer[];
|
||||
double mHHBuffer[];
|
||||
@@ -185,6 +190,7 @@ struct XCAEAConditions
|
||||
double trendBuffer[];
|
||||
double kiStateBuffer[];
|
||||
double supportBuffer[];
|
||||
double tkiStateBuffer[];
|
||||
double swingLowBuffer[];
|
||||
double swingHighBuffer[];
|
||||
double resistanceBuffer[];
|
||||
@@ -213,6 +219,21 @@ struct XCAEAConditions
|
||||
bool isKISwitchedToBullish;
|
||||
bool isKISwitchedToBearish;
|
||||
|
||||
//
|
||||
// TKI ...
|
||||
|
||||
//
|
||||
bool isTKIRejectUp;
|
||||
bool isTKIRejectDown;
|
||||
|
||||
//
|
||||
bool isTKIBullish;
|
||||
bool isTKIBearish;
|
||||
|
||||
//
|
||||
bool isTKISwitchedToBullish;
|
||||
bool isTKISwitchedToBearish;
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
|
||||
@@ -577,6 +598,10 @@ struct XCAEAConditions
|
||||
// Commons ...
|
||||
symbol = NULL;
|
||||
period = NULL;
|
||||
|
||||
//
|
||||
to = NULL;
|
||||
from = NULL;
|
||||
time = NULL;
|
||||
|
||||
//
|
||||
@@ -587,6 +612,7 @@ struct XCAEAConditions
|
||||
|
||||
//
|
||||
Clean(kiBuffer);
|
||||
Clean(tkiBuffer);
|
||||
Clean(sHHBuffer);
|
||||
Clean(sLLBuffer);
|
||||
Clean(mHHBuffer);
|
||||
@@ -601,6 +627,7 @@ struct XCAEAConditions
|
||||
Clean(trendBuffer);
|
||||
Clean(kiStateBuffer);
|
||||
Clean(supportBuffer);
|
||||
Clean(tkiStateBuffer);
|
||||
Clean(swingLowBuffer);
|
||||
Clean(swingHighBuffer);
|
||||
Clean(resistanceBuffer);
|
||||
@@ -613,6 +640,7 @@ struct XCAEAConditions
|
||||
|
||||
//
|
||||
ArraySetAsSeries(kiBuffer, true);
|
||||
ArraySetAsSeries(tkiBuffer, true);
|
||||
ArraySetAsSeries(sHHBuffer, true);
|
||||
ArraySetAsSeries(sLLBuffer, true);
|
||||
ArraySetAsSeries(mHHBuffer, true);
|
||||
@@ -627,6 +655,7 @@ struct XCAEAConditions
|
||||
ArraySetAsSeries(trendBuffer, true);
|
||||
ArraySetAsSeries(kiStateBuffer, true);
|
||||
ArraySetAsSeries(supportBuffer, true);
|
||||
ArraySetAsSeries(tkiStateBuffer, true);
|
||||
ArraySetAsSeries(swingLowBuffer, true);
|
||||
ArraySetAsSeries(swingHighBuffer, true);
|
||||
ArraySetAsSeries(resistanceBuffer, true);
|
||||
@@ -655,6 +684,21 @@ struct XCAEAConditions
|
||||
isKISwitchedToBullish = false;
|
||||
isKISwitchedToBearish = false;
|
||||
|
||||
//
|
||||
// TKI ...
|
||||
|
||||
//
|
||||
isTKIRejectUp = false;
|
||||
isTKIRejectDown = false;
|
||||
|
||||
//
|
||||
isTKIBullish = false;
|
||||
isTKIBearish = false;
|
||||
|
||||
//
|
||||
isTKISwitchedToBullish = false;
|
||||
isTKISwitchedToBearish = false;
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
|
||||
@@ -1008,6 +1052,37 @@ struct XCAEAConditions
|
||||
bearishScore += minScore;
|
||||
}
|
||||
|
||||
//
|
||||
// TKI ...
|
||||
|
||||
//
|
||||
if (isTKIBullish)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isTKIRejectUp)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
if (isTKISwitchedToBullish)
|
||||
{
|
||||
bullishScore += minScore;
|
||||
}
|
||||
|
||||
//
|
||||
if (isTKIBearish)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isTKIRejectDown)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
if (isTKISwitchedToBearish)
|
||||
{
|
||||
bearishScore += minScore;
|
||||
}
|
||||
|
||||
//
|
||||
// SAR ...
|
||||
|
||||
@@ -1695,6 +1770,12 @@ struct XCAEAConditions
|
||||
ToString("isKIBearish", isKIBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isKISwitchedToBullish", isKISwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isKISwitchedToBearish", isKISwitchedToBearish, 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("isTKISwitchedToBearish", isTKISwitchedToBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarBullish", isSarBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarBearish", isSarBearish, ignoreFalseConditions, separator) +
|
||||
ToString("isSarSwitchedToBullish", isSarSwitchedToBullish, ignoreFalseConditions, separator) +
|
||||
@@ -2396,6 +2477,7 @@ class XCXCAEAHelper : XCBase
|
||||
XOHCL zBar;
|
||||
XOHCL cBar;
|
||||
XOHCL pBar;
|
||||
XOHCL fromBar;
|
||||
|
||||
//
|
||||
X121XCAConditions xcaConditions;
|
||||
@@ -2413,6 +2495,12 @@ class XCXCAEAHelper : XCBase
|
||||
result =
|
||||
result &&
|
||||
cBar.GetPreviousBar(pBar);
|
||||
result =
|
||||
result &&
|
||||
fromBar.Init(
|
||||
zBar.symbol,
|
||||
zBar.period,
|
||||
zIndex + loopback);
|
||||
|
||||
//
|
||||
// Conditions Retriever ...
|
||||
@@ -2445,6 +2533,7 @@ class XCXCAEAHelper : XCBase
|
||||
zBar.Clean();
|
||||
cBar.Clean();
|
||||
pBar.Clean();
|
||||
fromBar.Clean();
|
||||
|
||||
//
|
||||
xcaConditions.Clean();
|
||||
@@ -2454,6 +2543,10 @@ class XCXCAEAHelper : XCBase
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
conditions.to = zBar.time;
|
||||
conditions.from = fromBar.time;
|
||||
|
||||
//
|
||||
// Fill X121 Conditions Reference by Using
|
||||
// Retrieved Conditions ...
|
||||
@@ -2474,6 +2567,12 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.kiBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
Copy(
|
||||
xcaConditions.tkiBuffer,
|
||||
conditions.tkiBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
Copy(
|
||||
xcaConditions.sHHBuffer,
|
||||
@@ -2552,6 +2651,12 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.kiStateBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
Copy(
|
||||
xcaConditions.tkiStateBuffer,
|
||||
conditions.tkiStateBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
Copy(
|
||||
xcaConditions.supportBuffer,
|
||||
@@ -2619,8 +2724,11 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.isKIBullish = xcaConditions.isKIBullish;
|
||||
conditions.isKIBearish = xcaConditions.isKIBearish;
|
||||
conditions.isKIRejectUp = xcaConditions.isKIRejectUp;
|
||||
conditions.isTKIBullish = xcaConditions.isTKIBullish;
|
||||
conditions.isTKIBearish = xcaConditions.isTKIBearish;
|
||||
conditions.isSarBullish = xcaConditions.isSarBullish;
|
||||
conditions.isSarBearish = xcaConditions.isSarBearish;
|
||||
conditions.isTKIRejectUp = xcaConditions.isTKIRejectUp;
|
||||
conditions.isPeakIsPivot = xcaConditions.isPeakIsPivot;
|
||||
conditions.isValeIsPivot = xcaConditions.isValeIsPivot;
|
||||
conditions.isKIRejectDown = xcaConditions.isKIRejectDown;
|
||||
@@ -2630,6 +2738,7 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.isValeOverLast = xcaConditions.isValeOverLast;
|
||||
conditions.isTrendBullish = xcaConditions.isTrendBullish;
|
||||
conditions.isTrendBearish = xcaConditions.isTrendBearish;
|
||||
conditions.isTKIRejectDown = xcaConditions.isTKIRejectDown;
|
||||
conditions.isPeakUnderLast = xcaConditions.isPeakUnderLast;
|
||||
conditions.isValeUnderLast = xcaConditions.isValeUnderLast;
|
||||
conditions.isTrendRejectUp = xcaConditions.isTrendRejectUp;
|
||||
@@ -2654,6 +2763,8 @@ class XCXCAEAHelper : XCBase
|
||||
conditions.isKISwitchedToBearish = xcaConditions.isKISwitchedToBearish;
|
||||
conditions.isLastSwingLowBreaked = xcaConditions.isLastSwingLowBreaked;
|
||||
conditions.isSwingHighSameAsPeak = xcaConditions.isSwingHighSameAsPeak;
|
||||
conditions.isTKISwitchedToBullish = xcaConditions.isTKISwitchedToBullish;
|
||||
conditions.isTKISwitchedToBearish = xcaConditions.isTKISwitchedToBearish;
|
||||
conditions.isLastSwingLowRejected = xcaConditions.isLastSwingLowRejected;
|
||||
conditions.isSarSwitchedToBullish = xcaConditions.isSarSwitchedToBullish;
|
||||
conditions.isSarSwitchedToBearish = xcaConditions.isSarSwitchedToBearish;
|
||||
@@ -2866,6 +2977,7 @@ class XCXCAEAHelper : XCBase
|
||||
zBar.Clean();
|
||||
cBar.Clean();
|
||||
pBar.Clean();
|
||||
fromBar.Clean();
|
||||
|
||||
//
|
||||
xcaConditions.Clean();
|
||||
|
||||
@@ -598,9 +598,176 @@ bool DetectXCAEAConditions(
|
||||
isCBarBearishMomentum ||
|
||||
isCBarBearishEngulfed);
|
||||
|
||||
//
|
||||
// Score ...
|
||||
|
||||
//
|
||||
double bullishScore = 0;
|
||||
double bearishScore = 0;
|
||||
conditions.GenerateScore(
|
||||
bullishScore,
|
||||
bearishScore //
|
||||
);
|
||||
|
||||
//
|
||||
bool isScoreBullish =
|
||||
bullishScore > bearishScore;
|
||||
|
||||
//
|
||||
bool isScoreBearish =
|
||||
bearishScore > bullishScore;
|
||||
|
||||
//
|
||||
string summary =
|
||||
conditions
|
||||
.GenerateSummary();
|
||||
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
//
|
||||
// Reading Values ...
|
||||
|
||||
//
|
||||
// KI ...
|
||||
|
||||
//
|
||||
double cKI = conditions.kiBuffer[cIDX];
|
||||
double pKI = conditions.kiBuffer[pIDX];
|
||||
double p2KI = conditions.kiBuffer[ppIDX];
|
||||
|
||||
//
|
||||
double cKIState = conditions.kiStateBuffer[cIDX];
|
||||
double pKIState = conditions.kiStateBuffer[pIDX];
|
||||
double p2KIState = conditions.kiStateBuffer[ppIDX];
|
||||
|
||||
//
|
||||
// TKI ...
|
||||
|
||||
//
|
||||
double cTKI = conditions.tkiBuffer[cIDX];
|
||||
double pTKI = conditions.tkiBuffer[pIDX];
|
||||
double p2TKI = conditions.tkiBuffer[ppIDX];
|
||||
|
||||
//
|
||||
double cTKIState = conditions.tkiStateBuffer[cIDX];
|
||||
double pTKIState = conditions.tkiStateBuffer[pIDX];
|
||||
double p2TKIState = conditions.tkiStateBuffer[ppIDX];
|
||||
|
||||
//
|
||||
// TREND ...
|
||||
|
||||
//
|
||||
double cTrend = conditions.trendBuffer[cIDX];
|
||||
double pTrend = conditions.trendBuffer[pIDX];
|
||||
double p2Trend = conditions.trendBuffer[ppIDX];
|
||||
|
||||
//
|
||||
double ctrendState = conditions.trendStateBuffer[cIDX];
|
||||
double ptrendState = conditions.trendStateBuffer[pIDX];
|
||||
double p2trendState = conditions.trendStateBuffer[ppIDX];
|
||||
|
||||
//
|
||||
// SWING Low ...
|
||||
|
||||
//
|
||||
double cSWL = conditions.swingLowBuffer[cIDX];
|
||||
double pSWL = conditions.swingLowBuffer[pIDX];
|
||||
double p2SWL = conditions.swingLowBuffer[ppIDX];
|
||||
|
||||
//
|
||||
// SWING High ...
|
||||
|
||||
//
|
||||
double cSWH = conditions.swingHighBuffer[cIDX];
|
||||
double pSWH = conditions.swingHighBuffer[pIDX];
|
||||
double p2SWH = conditions.swingHighBuffer[ppIDX];
|
||||
|
||||
//
|
||||
// PEAK ...
|
||||
|
||||
//
|
||||
double cPeak = conditions.peakBuffer[cIDX];
|
||||
double pPeak = conditions.peakBuffer[pIDX];
|
||||
double p2Peak = conditions.peakBuffer[ppIDX];
|
||||
|
||||
//
|
||||
// VALE ...
|
||||
|
||||
//
|
||||
double cVale = conditions.valeBuffer[cIDX];
|
||||
double pVale = conditions.valeBuffer[pIDX];
|
||||
double p2Vale = conditions.valeBuffer[ppIDX];
|
||||
|
||||
//
|
||||
// COMPLEX ...
|
||||
|
||||
//
|
||||
double iKTIRNDs[] = {
|
||||
cKI,
|
||||
cTKI,
|
||||
cTrend //
|
||||
};
|
||||
|
||||
//
|
||||
double iKTIRNDMax = GetMax(iKTIRNDs);
|
||||
double iKTIRNDMin = GetMin(iKTIRNDs);
|
||||
|
||||
//
|
||||
// Conditions Preparing ...
|
||||
|
||||
//
|
||||
bool isTKITRNDBullish =
|
||||
cKIState > 0 &&
|
||||
cTKIState > 0 &&
|
||||
ctrendState > 0;
|
||||
|
||||
//
|
||||
bool isTKITRNDBullishPrev =
|
||||
pKIState > 0 &&
|
||||
pTKIState > 0 &&
|
||||
ptrendState > 0;
|
||||
|
||||
//
|
||||
bool isTKITRNDBearish =
|
||||
cKIState < 0 &&
|
||||
cTKIState < 0 &&
|
||||
ctrendState < 0;
|
||||
|
||||
//
|
||||
bool isTKITRNDBearishPrev =
|
||||
pKIState < 0 &&
|
||||
pTKIState < 0 &&
|
||||
ptrendState < 0;
|
||||
|
||||
//
|
||||
bool isTKITRNDSwitchedToBullish =
|
||||
isTKITRNDBullish &&
|
||||
!isTKITRNDBullishPrev;
|
||||
|
||||
//
|
||||
bool isTKITRNDSwitchedToBearish =
|
||||
isTKITRNDBearish &&
|
||||
!isTKITRNDBearishPrev;
|
||||
|
||||
//
|
||||
bool isCond1Bullish =
|
||||
conditions.isValeIsPivot &&
|
||||
isTKITRNDSwitchedToBullish;
|
||||
|
||||
//
|
||||
bool isCond1Bearish =
|
||||
conditions.isPeakIsPivot &&
|
||||
isTKITRNDSwitchedToBearish;
|
||||
|
||||
//
|
||||
if (isCond1Bullish ||
|
||||
isCond1Bearish)
|
||||
{
|
||||
//
|
||||
Print("Cond1");
|
||||
}
|
||||
|
||||
//
|
||||
// Summarise Conditions ...
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
// Imports ...
|
||||
#include "../../Classes/x-saherelm.base.class.mq5"
|
||||
#include "../../Classes/x-saherelm.x-cobject.class.mq5"
|
||||
#include "../Classes/xcaea.x-poi.detector.class.mq5"
|
||||
#include "../Helpers/xcaea.helper.mq5"
|
||||
#include "../Libraries/xcaea.signaller.lib.mq5"
|
||||
|
||||
@@ -41,6 +42,7 @@ class XCXCAEASignaller : XCBase
|
||||
XBarTracker barTraker;
|
||||
XCXCAEAHelper *helper;
|
||||
bool continuesRFTillTarget;
|
||||
XCXCAEAPOIDetector *detector;
|
||||
XCAEAStrategyConditions mConditions;
|
||||
XCAEAStrategyConditions mConditionsCollection[];
|
||||
|
||||
@@ -115,6 +117,11 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
int loopback = 10;
|
||||
|
||||
//
|
||||
int idx = -1;
|
||||
int count = 0;
|
||||
bool has = false;
|
||||
|
||||
//
|
||||
double ask = GetAsk(symbol);
|
||||
double bid = GetBid(symbol);
|
||||
@@ -159,7 +166,180 @@ class XCXCAEASignaller : XCBase
|
||||
ENUM_X_DIRECTION signalBoxDir = X_DIRECTION_NONE;
|
||||
|
||||
//
|
||||
// Checking Conditions ...
|
||||
// Detecting Pivots ...
|
||||
detector.Update(
|
||||
zIndex //
|
||||
);
|
||||
|
||||
//
|
||||
bool drawSWHPivots = true;
|
||||
bool drawSWLPivots = true;
|
||||
bool drawPeakPivots = false;
|
||||
bool drawValePivots = false;
|
||||
|
||||
//
|
||||
// Draw Peak SWH Res Pivots ...
|
||||
if (drawPeakPivots)
|
||||
{
|
||||
//
|
||||
has = detector.HasPeakSWHResPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
count = detector.CountPeakSWHResPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector
|
||||
.peakSWHResPivots[i]
|
||||
.AsBox(iBox);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iBox.to = cTime;
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = helper.poiDrawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
mObjects.Add(iObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
}
|
||||
|
||||
//
|
||||
Print("Draw Peak SWH Res Pivots ...");
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Draw Vale SWL Sup Pivots ...
|
||||
if (drawValePivots)
|
||||
{
|
||||
//
|
||||
has = detector.HasValeSWLSupPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
count = detector.CountValeSWLSupPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector
|
||||
.valeSWLSupPivots[i]
|
||||
.AsBox(iBox);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iBox.to = cTime;
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = helper.poiDrawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
mObjects.Add(iObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
}
|
||||
|
||||
//
|
||||
Print("Draw Vale SWL Sup Pivots ...");
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Draw SWH Pvots ...
|
||||
if (drawSWHPivots)
|
||||
{
|
||||
//
|
||||
has = detector.HasSWHPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
count = detector.CountSWHPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector
|
||||
.swhPivots[i]
|
||||
.AsBox(iBox);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iBox.to = cTime;
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = helper
|
||||
.poiDrawer
|
||||
.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
mObjects.Add(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Draw SWL Pvots ...
|
||||
if (drawSWLPivots)
|
||||
{
|
||||
//
|
||||
has = detector.HasSWLPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
count = detector.CountSWLPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector
|
||||
.swlPivots[i]
|
||||
.AsBox(iBox);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iBox.to = cTime;
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = helper
|
||||
.poiDrawer
|
||||
.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
mObjects.Add(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
XCAEAConditions conditions;
|
||||
@@ -232,7 +412,8 @@ class XCXCAEASignaller : XCBase
|
||||
? entry - sl
|
||||
: sl - entry;
|
||||
risk += spread;
|
||||
if (risk >= maxAllowedSLDistanceInPoint * points) {
|
||||
if (risk >= maxAllowedSLDistanceInPoint * points)
|
||||
{
|
||||
//
|
||||
// Fix Risk in Big Distances ...
|
||||
double hh5 = zBar.FindHighest(5, MODE_HIGH);
|
||||
@@ -541,23 +722,23 @@ class XCXCAEASignaller : XCBase
|
||||
|
||||
//
|
||||
inputs.caInputs.supResSmoothingLength = 7;
|
||||
inputs.caInputs.supResSmoothingMode = X_MA_MODE_NONE;
|
||||
inputs.caInputs.supResSmoothingMode = X_MA_MODE_NONE;
|
||||
|
||||
//
|
||||
inputs.caInputs.showKI = true;
|
||||
inputs.caInputs.showSar = true;
|
||||
inputs.caInputs.showSar = false;
|
||||
inputs.caInputs.showTrend = true;
|
||||
inputs.caInputs.showSwings = false;
|
||||
inputs.caInputs.showSwings = true;
|
||||
inputs.caInputs.showLongCycle = false;
|
||||
inputs.caInputs.showHindCycle = false;
|
||||
inputs.caInputs.showFiboLevel1 = false;
|
||||
inputs.caInputs.showFiboLevel1 = true;
|
||||
inputs.caInputs.showFiboLevel2 = false;
|
||||
inputs.caInputs.showFiboLevel3 = false;
|
||||
inputs.caInputs.showFiboLevel3 = true;
|
||||
inputs.caInputs.showShortCycle = false;
|
||||
inputs.caInputs.showMediumCycle = false;
|
||||
inputs.caInputs.showPeaksAndVales = true;
|
||||
inputs.caInputs.showPeakAndValeGolden = true;
|
||||
inputs.caInputs.showSupportAndResistance = true;
|
||||
inputs.caInputs.showPeakAndValeGolden = false;
|
||||
inputs.caInputs.showSupportAndResistance = false;
|
||||
|
||||
//
|
||||
// XOSCS ...
|
||||
@@ -582,6 +763,9 @@ class XCXCAEASignaller : XCBase
|
||||
period,
|
||||
inputs //
|
||||
);
|
||||
|
||||
//
|
||||
detector = new XCXCAEAPOIDetector(helper);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -592,6 +776,7 @@ class XCXCAEASignaller : XCBase
|
||||
//
|
||||
inputs.Clean();
|
||||
ZeroMemory(helper);
|
||||
ZeroMemory(detector);
|
||||
|
||||
//
|
||||
mConditions.Clean();
|
||||
|
||||
Reference in New Issue
Block a user