remove fibo lines from x121 indicator and also add support for rsi in data buffers ...
This commit is contained in:
@@ -46,37 +46,35 @@ enum ENUM_X121_BUFFERS
|
||||
X121_DON_LOW_LOWER_LINE = 16,
|
||||
X121_DON_CLOSE_UPPER_LINE = 17,
|
||||
X121_DON_CLOSE_LOWER_LINE = 18,
|
||||
X121_FIB_LEVEL_1_LINE = 19,
|
||||
X121_FIB_LEVEL_2_LINE = 20,
|
||||
X121_FIB_LEVEL_3_LINE = 21,
|
||||
X121_FIB_LEVEL_4_LINE = 22,
|
||||
X121_FIB_LEVEL_5_LINE = 23,
|
||||
//
|
||||
// Data Buffers ...
|
||||
//
|
||||
// XPV Data ...
|
||||
X121_CURRENT_HH_LINE = 24,
|
||||
X121_CURRENT_LL_LINE = 25,
|
||||
X121_SHORT_HH_LINE = 26,
|
||||
X121_SHORT_LL_LINE = 27,
|
||||
X121_MEDIUM_HH_LINE = 28,
|
||||
X121_MEDIUM_LL_LINE = 29,
|
||||
X121_LONG_HH_LINE = 30,
|
||||
X121_LONG_LL_LINE = 31,
|
||||
X121_HIND_HH_LINE = 32,
|
||||
X121_HIND_LL_LINE = 33,
|
||||
X121_CURRENT_HH_LINE = 19,
|
||||
X121_CURRENT_LL_LINE = 20,
|
||||
X121_SHORT_HH_LINE = 21,
|
||||
X121_SHORT_LL_LINE = 22,
|
||||
X121_MEDIUM_HH_LINE = 23,
|
||||
X121_MEDIUM_LL_LINE = 24,
|
||||
X121_LONG_HH_LINE = 25,
|
||||
X121_LONG_LL_LINE = 26,
|
||||
X121_HIND_HH_LINE = 27,
|
||||
X121_HIND_LL_LINE = 28,
|
||||
//
|
||||
// VWAP Data ...
|
||||
X121_VWAP_VOLUME_LINE = 34,
|
||||
X121_VWAP_PRICE_LINE = 35,
|
||||
X121_VWAP_FAST_STATE_LINE = 36,
|
||||
X121_VWAP_MID_STATE_LINE = 37,
|
||||
X121_VWAP_SLOW_STATE_LINE = 38,
|
||||
X121_VWAP_VOLUME_LINE = 29,
|
||||
X121_VWAP_PRICE_LINE = 30,
|
||||
X121_VWAP_FAST_STATE_LINE = 31,
|
||||
X121_VWAP_MID_STATE_LINE = 32,
|
||||
X121_VWAP_SLOW_STATE_LINE = 33,
|
||||
//
|
||||
// ATR ...
|
||||
X121_ATR_LINE = 39,
|
||||
X121_ATR_UPPER_RAW_LINE = 40,
|
||||
X121_ATR_LOWER_RAW_LINE = 41,
|
||||
X121_ATR_LINE = 34,
|
||||
X121_ATR_UPPER_RAW_LINE = 35,
|
||||
X121_ATR_LOWER_RAW_LINE = 36,
|
||||
//
|
||||
// RSI ...
|
||||
X121_RSI_LINE = 37
|
||||
};
|
||||
|
||||
//
|
||||
@@ -130,9 +128,10 @@ struct X121Inputs
|
||||
|
||||
//
|
||||
// RSI ...
|
||||
int rsiLength; // RSI Length
|
||||
double rsiOverSoldLevel; // RSI Over Sold Level
|
||||
double rsiOverBoughtLevel; // RSI Over Bought Level
|
||||
int rsiLength; // Length
|
||||
double rsiOverSoldLevel; // Over Sold Level
|
||||
double rsiOverBoughtLevel; // Over Bought Level
|
||||
ENUM_APPLIED_PRICE rsiAppliedTo; // Applied To
|
||||
|
||||
//
|
||||
// Atr Detection ...
|
||||
@@ -153,14 +152,6 @@ struct X121Inputs
|
||||
// Donchain Detection ...
|
||||
int donchainLength; // Donchain Length
|
||||
|
||||
//
|
||||
// Fibonacci ...
|
||||
double fiboLevel1; // Fibio 1st Level
|
||||
double fiboLevel2; // Fibio 2st Level
|
||||
double fiboLevel3; // Fibio 3rd Level
|
||||
double fiboLevel4; // Fibio 4th Level
|
||||
double fiboLevel5; // Fibio 5th Level
|
||||
|
||||
//
|
||||
// Presentation ...
|
||||
|
||||
@@ -181,14 +172,6 @@ struct X121Inputs
|
||||
bool showVWap; // Show VWap
|
||||
bool showDonchain; // Show Donchain
|
||||
|
||||
//
|
||||
// Fibonachi Presentation ...
|
||||
bool showFibo1Levels; // Show Fibo 1st Level
|
||||
bool showFibo2Levels; // Show Fibo 2nd Level
|
||||
bool showFibo3Levels; // Show Fibo 3rd Level
|
||||
bool showFibo4Levels; // Show Fibo 4th Level
|
||||
bool showFibo5Levels; // Show Fibo 5th Level
|
||||
|
||||
//
|
||||
// Atr Presentation ...
|
||||
bool showAtrUpper; // Show Upper Zone
|
||||
@@ -261,6 +244,7 @@ struct X121Inputs
|
||||
rsiLength = 0;
|
||||
rsiOverSoldLevel = 0;
|
||||
rsiOverBoughtLevel = 0;
|
||||
rsiAppliedTo = PRICE_CLOSE;
|
||||
|
||||
//
|
||||
// Paraboli Sar Detection ...
|
||||
@@ -286,14 +270,6 @@ struct X121Inputs
|
||||
// Donchain Detection ...
|
||||
donchainLength = 0;
|
||||
|
||||
//
|
||||
// Fibonacci ...
|
||||
fiboLevel1 = 0;
|
||||
fiboLevel2 = 0;
|
||||
fiboLevel3 = 0;
|
||||
fiboLevel4 = 0;
|
||||
fiboLevel5 = 0;
|
||||
|
||||
//
|
||||
// Presentation ...
|
||||
|
||||
@@ -314,14 +290,6 @@ struct X121Inputs
|
||||
showVWap = false;
|
||||
showDonchain = false;
|
||||
|
||||
//
|
||||
// Fibonachi Presentation ...
|
||||
showFibo1Levels = false;
|
||||
showFibo2Levels = false;
|
||||
showFibo3Levels = false;
|
||||
showFibo4Levels = false;
|
||||
showFibo5Levels = false;
|
||||
|
||||
//
|
||||
// Atr Presentation ...
|
||||
showAtrUpper = false; // Show Upper Zone
|
||||
@@ -385,6 +353,7 @@ struct X121Inputs
|
||||
rsiLength = 14;
|
||||
rsiOverSoldLevel = 30;
|
||||
rsiOverBoughtLevel = 70;
|
||||
rsiAppliedTo = PRICE_CLOSE;
|
||||
|
||||
//
|
||||
// Paraboli Sar Detection ...
|
||||
@@ -410,14 +379,6 @@ struct X121Inputs
|
||||
// Donchain Detection ...
|
||||
donchainLength = 40;
|
||||
|
||||
//
|
||||
// Fibonacci ...
|
||||
fiboLevel1 = 0.236;
|
||||
fiboLevel2 = 0.382;
|
||||
fiboLevel3 = 0.5;
|
||||
fiboLevel4 = 0.618;
|
||||
fiboLevel5 = 0.764;
|
||||
|
||||
//
|
||||
// Presentation ...
|
||||
|
||||
@@ -438,14 +399,6 @@ struct X121Inputs
|
||||
showVWap = true;
|
||||
showDonchain = true;
|
||||
|
||||
//
|
||||
// Fibonachi Presentation ...
|
||||
showFibo1Levels = false;
|
||||
showFibo2Levels = false;
|
||||
showFibo3Levels = true;
|
||||
showFibo4Levels = false;
|
||||
showFibo5Levels = false;
|
||||
|
||||
//
|
||||
// Atr Presentation ...
|
||||
showAtrUpper = true; // Show Upper Zone
|
||||
@@ -572,11 +525,6 @@ struct X121Conditions
|
||||
double donHighLowerBuffer[];
|
||||
double donLowUpperBuffer[];
|
||||
double donLowLowerBuffer[];
|
||||
double fl1Buffer[];
|
||||
double fl2Buffer[];
|
||||
double fl3Buffer[];
|
||||
double fl4Buffer[];
|
||||
double fl5Buffer[];
|
||||
double cHHBuffer[];
|
||||
double cLLBuffer[];
|
||||
double sHHBuffer[];
|
||||
@@ -687,37 +635,6 @@ struct X121Conditions
|
||||
//
|
||||
// bool isCloseLower
|
||||
|
||||
//
|
||||
// XFIBONACCI ...
|
||||
|
||||
//
|
||||
bool isOerFib1;
|
||||
bool isOerFib2;
|
||||
bool isOerFib3;
|
||||
bool isOerFib4;
|
||||
bool isOerFib5;
|
||||
|
||||
//
|
||||
bool isUnderFib1;
|
||||
bool isUnderFib2;
|
||||
bool isUnderFib3;
|
||||
bool isUnderFib4;
|
||||
bool isUnderFib5;
|
||||
|
||||
//
|
||||
bool isCloseOerFib1;
|
||||
bool isCloseOerFib2;
|
||||
bool isCloseOerFib3;
|
||||
bool isCloseOerFib4;
|
||||
bool isCloseOerFib5;
|
||||
|
||||
//
|
||||
bool isCloseUnderFib1;
|
||||
bool isCloseUnderFib2;
|
||||
bool isCloseUnderFib3;
|
||||
bool isCloseUnderFib4;
|
||||
bool isCloseUnderFib5;
|
||||
|
||||
//
|
||||
// Constructor ...
|
||||
X121Conditions()
|
||||
@@ -759,11 +676,6 @@ struct X121Conditions
|
||||
Clean(donHighLowerBuffer);
|
||||
Clean(donLowUpperBuffer);
|
||||
Clean(donLowLowerBuffer);
|
||||
Clean(fl1Buffer);
|
||||
Clean(fl2Buffer);
|
||||
Clean(fl3Buffer);
|
||||
Clean(fl4Buffer);
|
||||
Clean(fl5Buffer);
|
||||
Clean(cHHBuffer);
|
||||
Clean(cLLBuffer);
|
||||
Clean(sHHBuffer);
|
||||
@@ -801,11 +713,6 @@ struct X121Conditions
|
||||
ArraySetAsSeries(donHighLowerBuffer, true);
|
||||
ArraySetAsSeries(donLowUpperBuffer, true);
|
||||
ArraySetAsSeries(donLowLowerBuffer, true);
|
||||
ArraySetAsSeries(fl1Buffer, true);
|
||||
ArraySetAsSeries(fl2Buffer, true);
|
||||
ArraySetAsSeries(fl3Buffer, true);
|
||||
ArraySetAsSeries(fl4Buffer, true);
|
||||
ArraySetAsSeries(fl5Buffer, true);
|
||||
ArraySetAsSeries(cHHBuffer, true);
|
||||
ArraySetAsSeries(cLLBuffer, true);
|
||||
ArraySetAsSeries(sHHBuffer, true);
|
||||
@@ -912,37 +819,6 @@ struct X121Conditions
|
||||
|
||||
//
|
||||
// XDON ...
|
||||
|
||||
//
|
||||
// XFIBONACCI ...
|
||||
|
||||
//
|
||||
isOerFib1 = false;
|
||||
isOerFib2 = false;
|
||||
isOerFib3 = false;
|
||||
isOerFib4 = false;
|
||||
isOerFib5 = false;
|
||||
|
||||
//
|
||||
isUnderFib1 = false;
|
||||
isUnderFib2 = false;
|
||||
isUnderFib3 = false;
|
||||
isUnderFib4 = false;
|
||||
isUnderFib5 = false;
|
||||
|
||||
//
|
||||
isCloseOerFib1 = false;
|
||||
isCloseOerFib2 = false;
|
||||
isCloseOerFib3 = false;
|
||||
isCloseOerFib4 = false;
|
||||
isCloseOerFib5 = false;
|
||||
|
||||
//
|
||||
isCloseUnderFib1 = false;
|
||||
isCloseUnderFib2 = false;
|
||||
isCloseUnderFib3 = false;
|
||||
isCloseUnderFib4 = false;
|
||||
isCloseUnderFib5 = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1030,6 +906,14 @@ struct X121Conditions
|
||||
ToString("isNewValeOverLast", isNewValeOverLast, ignoreFalseConditions, separator) +
|
||||
ToString("isNewValeUnderLast", isNewValeUnderLast, ignoreFalseConditions, separator) +
|
||||
//
|
||||
// RSI ...
|
||||
ToString("isRSIOverBought", isRSIOverBought, ignoreFalseConditions, separator) +
|
||||
ToString("isRSICrossedOverOverBought", isRSICrossedOverOverBought, ignoreFalseConditions, separator) +
|
||||
ToString("isRSICrossedUnderOverBought", isRSICrossedUnderOverBought, ignoreFalseConditions, separator) +
|
||||
ToString("isRSIOverSold", isRSIOverSold, ignoreFalseConditions, separator) +
|
||||
ToString("isRSICrossedUnderOverSold", isRSICrossedUnderOverSold, ignoreFalseConditions, separator) +
|
||||
ToString("isRSICrossedOverOverSold", isRSICrossedOverOverSold, ignoreFalseConditions, separator) +
|
||||
//
|
||||
// XVWAP ...
|
||||
ToString("isVWapFastBullish", isVWapFastBullish, ignoreFalseConditions, separator) +
|
||||
ToString("isVWapFastBearish", isVWapFastBearish, ignoreFalseConditions, separator) +
|
||||
@@ -1055,28 +939,6 @@ struct X121Conditions
|
||||
ToString("isVWapSwitchedToBearishState", isVWapSwitchedToBearishState, ignoreFalseConditions, separator) +
|
||||
ToString("isVWapSwitchedToNeuturalState", isVWapSwitchedToNeuturalState, ignoreFalseConditions, separator) +
|
||||
//
|
||||
// XFIBONACCI ...
|
||||
ToString("isOerFib1", isOerFib1, ignoreFalseConditions, separator) +
|
||||
ToString("isOerFib2", isOerFib2, ignoreFalseConditions, separator) +
|
||||
ToString("isOerFib3", isOerFib3, ignoreFalseConditions, separator) +
|
||||
ToString("isOerFib4", isOerFib4, ignoreFalseConditions, separator) +
|
||||
ToString("isOerFib5", isOerFib5, ignoreFalseConditions, separator) +
|
||||
ToString("isUnderFib1", isUnderFib1, ignoreFalseConditions, separator) +
|
||||
ToString("isUnderFib2", isUnderFib2, ignoreFalseConditions, separator) +
|
||||
ToString("isUnderFib3", isUnderFib3, ignoreFalseConditions, separator) +
|
||||
ToString("isUnderFib4", isUnderFib4, ignoreFalseConditions, separator) +
|
||||
ToString("isUnderFib5", isUnderFib5, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseOerFib1", isCloseOerFib1, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseOerFib2", isCloseOerFib2, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseOerFib3", isCloseOerFib3, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseOerFib4", isCloseOerFib4, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseOerFib5", isCloseOerFib5, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseUnderFib1", isCloseUnderFib1, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseUnderFib2", isCloseUnderFib2, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseUnderFib3", isCloseUnderFib3, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseUnderFib4", isCloseUnderFib4, ignoreFalseConditions, separator) +
|
||||
ToString("isCloseUnderFib5", isCloseUnderFib5, ignoreFalseConditions, separator) +
|
||||
//
|
||||
""
|
||||
//
|
||||
;
|
||||
@@ -1136,7 +998,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
// Deconstructor ...
|
||||
~XCX121Helper()
|
||||
{
|
||||
IndicatorRelease(mRSIHandler);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1193,11 +1054,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
ArraySetAsSeries(donHighLowerBuffer, true);
|
||||
ArraySetAsSeries(donLowUpperBuffer, true);
|
||||
ArraySetAsSeries(donLowLowerBuffer, true);
|
||||
ArraySetAsSeries(fl1Buffer, true);
|
||||
ArraySetAsSeries(fl2Buffer, true);
|
||||
ArraySetAsSeries(fl3Buffer, true);
|
||||
ArraySetAsSeries(fl4Buffer, true);
|
||||
ArraySetAsSeries(fl5Buffer, true);
|
||||
ArraySetAsSeries(cHHBuffer, true);
|
||||
ArraySetAsSeries(cLLBuffer, true);
|
||||
ArraySetAsSeries(sHHBuffer, true);
|
||||
@@ -1254,6 +1110,11 @@ class XCX121Helper : public XCBaseHelper
|
||||
mInputs.hhMode,
|
||||
mInputs.llMode,
|
||||
//
|
||||
// Rsi Detection ...
|
||||
"",
|
||||
mInputs.rsiLength,
|
||||
mInputs.rsiAppliedTo,
|
||||
//
|
||||
// Parabolic Sar Detection ...
|
||||
"",
|
||||
mInputs.sarStep,
|
||||
@@ -1281,6 +1142,9 @@ class XCX121Helper : public XCBaseHelper
|
||||
// Presentation ...
|
||||
"",
|
||||
mInputs.startCalculationForLastBars,
|
||||
mInputs.sarArrowCode,
|
||||
mInputs.peaksArrowCode,
|
||||
mInputs.valesArrowCode,
|
||||
//
|
||||
// Commons ...
|
||||
mInputs.showSar,
|
||||
@@ -1290,14 +1154,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
mInputs.showVWap,
|
||||
mInputs.showDonchain,
|
||||
//
|
||||
// Fibonachi Presentation ...
|
||||
"",
|
||||
mInputs.showFibo1Levels,
|
||||
mInputs.showFibo2Levels,
|
||||
mInputs.showFibo3Levels,
|
||||
mInputs.showFibo4Levels,
|
||||
mInputs.showFibo5Levels,
|
||||
//
|
||||
// Atr Presentation ...
|
||||
"",
|
||||
mInputs.showAtrUpper,
|
||||
@@ -1318,20 +1174,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
mInputs.showClose,
|
||||
mInputs.showLow
|
||||
//
|
||||
// Non Important Inpust ...
|
||||
//
|
||||
// Fibonacci ...
|
||||
// "",
|
||||
// mInputs.fiboLevel1,
|
||||
// mInputs.fiboLevel2,
|
||||
// mInputs.fiboLevel3,
|
||||
// mInputs.fiboLevel4,
|
||||
// mInputs.fiboLevel5,
|
||||
// //
|
||||
// mInputs.sarArrowCode,
|
||||
// mInputs.peaksArrowCode,
|
||||
// mInputs.valesArrowCode
|
||||
//
|
||||
);
|
||||
result = mHandler != INVALID_HANDLE;
|
||||
if (!result)
|
||||
@@ -1339,19 +1181,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
mRSIHandler = iRSI(
|
||||
symbol,
|
||||
period,
|
||||
mInputs.rsiLength,
|
||||
PRICE_CLOSE //
|
||||
);
|
||||
result = mRSIHandler != INVALID_HANDLE;
|
||||
if (!result)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
@@ -1857,8 +1686,8 @@ class XCX121Helper : public XCBaseHelper
|
||||
|
||||
//
|
||||
double GetHigherPeak(
|
||||
double peak, // Peak Source
|
||||
int barIndex = 0, // Bar Index
|
||||
double peak, // Peak Source
|
||||
int barIndex = 0, // Bar Index
|
||||
int loopback = 576 // Max Allowed Loopback
|
||||
)
|
||||
{
|
||||
@@ -1909,8 +1738,8 @@ class XCX121Helper : public XCBaseHelper
|
||||
|
||||
//
|
||||
double GetLowerPeak(
|
||||
double peak, // Peak Source
|
||||
int barIndex = 0, // Bar Index
|
||||
double peak, // Peak Source
|
||||
int barIndex = 0, // Bar Index
|
||||
int loopback = 576 // Max Allowed Loopback
|
||||
)
|
||||
{
|
||||
@@ -1961,8 +1790,8 @@ class XCX121Helper : public XCBaseHelper
|
||||
|
||||
//
|
||||
double GetHigherVale(
|
||||
double vale, // Vale Source
|
||||
int barIndex = 0, // Bar Index
|
||||
double vale, // Vale Source
|
||||
int barIndex = 0, // Bar Index
|
||||
int loopback = 576 // Max Allowed Loopback
|
||||
)
|
||||
{
|
||||
@@ -2013,8 +1842,8 @@ class XCX121Helper : public XCBaseHelper
|
||||
|
||||
//
|
||||
double GetLowerVale(
|
||||
double vale, // Vale Source
|
||||
int barIndex = 0, // Bar Index
|
||||
double vale, // Vale Source
|
||||
int barIndex = 0, // Bar Index
|
||||
int loopback = 576 // Max Allowed Loopback
|
||||
)
|
||||
{
|
||||
@@ -3727,269 +3556,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// FIBONACCHI ...
|
||||
|
||||
//
|
||||
// LEVEL 1 ...
|
||||
|
||||
//
|
||||
double GetFiboLevel1(
|
||||
int barIndex // Bar Index
|
||||
)
|
||||
{
|
||||
//
|
||||
if (barIndex < 0)
|
||||
{
|
||||
barIndex = 0;
|
||||
}
|
||||
|
||||
//
|
||||
Calculate();
|
||||
|
||||
//
|
||||
int count = ArraySize(fl1Buffer);
|
||||
if (barIndex >= count)
|
||||
{
|
||||
barIndex = count - 1;
|
||||
}
|
||||
|
||||
//
|
||||
return fl1Buffer[barIndex];
|
||||
}
|
||||
|
||||
//
|
||||
int CopyFiboLevel1(
|
||||
int start, // Start
|
||||
int count, // Number of Items for read
|
||||
double &buffer[], // Dest Buffer
|
||||
bool forceClean = true // FiboLevel To Clean buffer
|
||||
)
|
||||
{
|
||||
//
|
||||
// Update Calculations ...
|
||||
Calculate();
|
||||
|
||||
//
|
||||
// Copy Items ...
|
||||
return Copy(
|
||||
start,
|
||||
count,
|
||||
fl1Buffer,
|
||||
buffer,
|
||||
forceClean
|
||||
//
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// LEVEL 2 ...
|
||||
|
||||
//
|
||||
double GetFiboLevel2(
|
||||
int barIndex // Bar Index
|
||||
)
|
||||
{
|
||||
//
|
||||
if (barIndex < 0)
|
||||
{
|
||||
barIndex = 0;
|
||||
}
|
||||
|
||||
//
|
||||
Calculate();
|
||||
|
||||
//
|
||||
int count = ArraySize(fl2Buffer);
|
||||
if (barIndex >= count)
|
||||
{
|
||||
barIndex = count - 1;
|
||||
}
|
||||
|
||||
//
|
||||
return fl2Buffer[barIndex];
|
||||
}
|
||||
|
||||
//
|
||||
int CopyFiboLevel2(
|
||||
int start, // Start
|
||||
int count, // Number of Items for read
|
||||
double &buffer[], // Dest Buffer
|
||||
bool forceClean = true // FiboLevel To Clean buffer
|
||||
)
|
||||
{
|
||||
//
|
||||
// Update Calculations ...
|
||||
Calculate();
|
||||
|
||||
//
|
||||
// Copy Items ...
|
||||
return Copy(
|
||||
start,
|
||||
count,
|
||||
fl2Buffer,
|
||||
buffer,
|
||||
forceClean
|
||||
//
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// LEVEL 3 ...
|
||||
|
||||
//
|
||||
double GetFiboLevel3(
|
||||
int barIndex // Bar Index
|
||||
)
|
||||
{
|
||||
//
|
||||
if (barIndex < 0)
|
||||
{
|
||||
barIndex = 0;
|
||||
}
|
||||
|
||||
//
|
||||
Calculate();
|
||||
|
||||
//
|
||||
int count = ArraySize(fl3Buffer);
|
||||
if (barIndex >= count)
|
||||
{
|
||||
barIndex = count - 1;
|
||||
}
|
||||
|
||||
//
|
||||
return fl3Buffer[barIndex];
|
||||
}
|
||||
|
||||
//
|
||||
int CopyFiboLevel3(
|
||||
int start, // Start
|
||||
int count, // Number of Items for read
|
||||
double &buffer[], // Dest Buffer
|
||||
bool forceClean = true // FiboLevel To Clean buffer
|
||||
)
|
||||
{
|
||||
//
|
||||
// Update Calculations ...
|
||||
Calculate();
|
||||
|
||||
//
|
||||
// Copy Items ...
|
||||
return Copy(
|
||||
start,
|
||||
count,
|
||||
fl3Buffer,
|
||||
buffer,
|
||||
forceClean
|
||||
//
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// LEVEL 4 ...
|
||||
|
||||
//
|
||||
double GetFiboLevel4(
|
||||
int barIndex // Bar Index
|
||||
)
|
||||
{
|
||||
//
|
||||
if (barIndex < 0)
|
||||
{
|
||||
barIndex = 0;
|
||||
}
|
||||
|
||||
//
|
||||
Calculate();
|
||||
|
||||
//
|
||||
int count = ArraySize(fl4Buffer);
|
||||
if (barIndex >= count)
|
||||
{
|
||||
barIndex = count - 1;
|
||||
}
|
||||
|
||||
//
|
||||
return fl4Buffer[barIndex];
|
||||
}
|
||||
|
||||
//
|
||||
int CopyFiboLevel4(
|
||||
int start, // Start
|
||||
int count, // Number of Items for read
|
||||
double &buffer[], // Dest Buffer
|
||||
bool forceClean = true // FiboLevel To Clean buffer
|
||||
)
|
||||
{
|
||||
//
|
||||
// Update Calculations ...
|
||||
Calculate();
|
||||
|
||||
//
|
||||
// Copy Items ...
|
||||
return Copy(
|
||||
start,
|
||||
count,
|
||||
fl4Buffer,
|
||||
buffer,
|
||||
forceClean
|
||||
//
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// LEVEL 5 ...
|
||||
|
||||
//
|
||||
double GetFiboLevel5(
|
||||
int barIndex // Bar Index
|
||||
)
|
||||
{
|
||||
//
|
||||
if (barIndex < 0)
|
||||
{
|
||||
barIndex = 0;
|
||||
}
|
||||
|
||||
//
|
||||
Calculate();
|
||||
|
||||
//
|
||||
int count = ArraySize(fl5Buffer);
|
||||
if (barIndex >= count)
|
||||
{
|
||||
barIndex = count - 1;
|
||||
}
|
||||
|
||||
//
|
||||
return fl5Buffer[barIndex];
|
||||
}
|
||||
|
||||
//
|
||||
int CopyFiboLevel5(
|
||||
int start, // Start
|
||||
int count, // Number of Items for read
|
||||
double &buffer[], // Dest Buffer
|
||||
bool forceClean = true // FiboLevel To Clean buffer
|
||||
)
|
||||
{
|
||||
//
|
||||
// Update Calculations ...
|
||||
Calculate();
|
||||
|
||||
//
|
||||
// Copy Items ...
|
||||
return Copy(
|
||||
start,
|
||||
count,
|
||||
fl5Buffer,
|
||||
buffer,
|
||||
forceClean
|
||||
//
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
// Conditions Generation ...
|
||||
|
||||
@@ -4306,41 +3872,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
conditions.donLowLowerBuffer //
|
||||
);
|
||||
|
||||
//
|
||||
CopyFiboLevel1(
|
||||
zIndex,
|
||||
loopback,
|
||||
conditions.fl1Buffer //
|
||||
);
|
||||
|
||||
//
|
||||
CopyFiboLevel2(
|
||||
zIndex,
|
||||
loopback,
|
||||
conditions.fl2Buffer //
|
||||
);
|
||||
|
||||
//
|
||||
CopyFiboLevel3(
|
||||
zIndex,
|
||||
loopback,
|
||||
conditions.fl3Buffer //
|
||||
);
|
||||
|
||||
//
|
||||
CopyFiboLevel4(
|
||||
zIndex,
|
||||
loopback,
|
||||
conditions.fl4Buffer //
|
||||
);
|
||||
|
||||
//
|
||||
CopyFiboLevel5(
|
||||
zIndex,
|
||||
loopback,
|
||||
conditions.fl5Buffer //
|
||||
);
|
||||
|
||||
//
|
||||
// Conditions ...
|
||||
|
||||
@@ -4513,39 +4044,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
//
|
||||
// XDON ...
|
||||
|
||||
//
|
||||
// XFIBONACCI ...
|
||||
|
||||
//
|
||||
bool isOerFib1 = cBar.low > conditions.fl1Buffer[cIDX];
|
||||
bool isOerFib2 = cBar.low > conditions.fl2Buffer[cIDX];
|
||||
bool isOerFib3 = cBar.low > conditions.fl3Buffer[cIDX];
|
||||
bool isOerFib4 = cBar.low > conditions.fl4Buffer[cIDX];
|
||||
bool isOerFib5 = cBar.low > conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
bool isUnderFib1 = cBar.high < conditions.fl1Buffer[cIDX];
|
||||
bool isUnderFib2 = cBar.high < conditions.fl2Buffer[cIDX];
|
||||
bool isUnderFib3 = cBar.high < conditions.fl3Buffer[cIDX];
|
||||
bool isUnderFib4 = cBar.high < conditions.fl4Buffer[cIDX];
|
||||
bool isUnderFib5 = cBar.high < conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
bool isCloseOerFib1 = cBar.close > conditions.fl1Buffer[cIDX];
|
||||
bool isCloseOerFib2 = cBar.close > conditions.fl2Buffer[cIDX];
|
||||
bool isCloseOerFib3 = cBar.close > conditions.fl3Buffer[cIDX];
|
||||
bool isCloseOerFib4 = cBar.close > conditions.fl4Buffer[cIDX];
|
||||
bool isCloseOerFib5 = cBar.close > conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
bool isCloseUnderFib1 = cBar.close < conditions.fl1Buffer[cIDX];
|
||||
bool isCloseUnderFib2 = cBar.close < conditions.fl2Buffer[cIDX];
|
||||
bool isCloseUnderFib3 = cBar.close < conditions.fl3Buffer[cIDX];
|
||||
bool isCloseUnderFib4 = cBar.close < conditions.fl4Buffer[cIDX];
|
||||
bool isCloseUnderFib5 = cBar.close < conditions.fl5Buffer[cIDX];
|
||||
|
||||
//
|
||||
|
||||
//
|
||||
// Set ...
|
||||
conditions.isRSIOverBought = isRSIOverBought;
|
||||
@@ -4587,26 +4085,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
conditions.isVWapSwitchedToBullishState = isVWapSwitchedToBullishState;
|
||||
conditions.isVWapSwitchedToBearishState = isVWapSwitchedToBearishState;
|
||||
conditions.isVWapSwitchedToNeuturalState = isVWapSwitchedToNeuturalState;
|
||||
conditions.isOerFib1 = isOerFib1;
|
||||
conditions.isOerFib2 = isOerFib2;
|
||||
conditions.isOerFib3 = isOerFib3;
|
||||
conditions.isOerFib4 = isOerFib4;
|
||||
conditions.isOerFib5 = isOerFib5;
|
||||
conditions.isUnderFib1 = isUnderFib1;
|
||||
conditions.isUnderFib2 = isUnderFib2;
|
||||
conditions.isUnderFib3 = isUnderFib3;
|
||||
conditions.isUnderFib4 = isUnderFib4;
|
||||
conditions.isUnderFib5 = isUnderFib5;
|
||||
conditions.isCloseOerFib1 = isCloseOerFib1;
|
||||
conditions.isCloseOerFib2 = isCloseOerFib2;
|
||||
conditions.isCloseOerFib3 = isCloseOerFib3;
|
||||
conditions.isCloseOerFib4 = isCloseOerFib4;
|
||||
conditions.isCloseOerFib5 = isCloseOerFib5;
|
||||
conditions.isCloseUnderFib1 = isCloseUnderFib1;
|
||||
conditions.isCloseUnderFib2 = isCloseUnderFib2;
|
||||
conditions.isCloseUnderFib3 = isCloseUnderFib3;
|
||||
conditions.isCloseUnderFib4 = isCloseUnderFib4;
|
||||
conditions.isCloseUnderFib5 = isCloseUnderFib5;
|
||||
|
||||
//
|
||||
return result;
|
||||
@@ -4622,12 +4100,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
// Props ...
|
||||
X121Inputs mInputs; // Inputs ...
|
||||
|
||||
//
|
||||
// Buffers ...
|
||||
|
||||
//
|
||||
int mRSIHandler; // RSI Handler ...
|
||||
|
||||
//
|
||||
// Buffers ...
|
||||
double peaksBuffer[];
|
||||
@@ -4646,11 +4118,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
double donHighLowerBuffer[];
|
||||
double donLowUpperBuffer[];
|
||||
double donLowLowerBuffer[];
|
||||
double fl1Buffer[];
|
||||
double fl2Buffer[];
|
||||
double fl3Buffer[];
|
||||
double fl4Buffer[];
|
||||
double fl5Buffer[];
|
||||
double cHHBuffer[];
|
||||
double cLLBuffer[];
|
||||
double sHHBuffer[];
|
||||
@@ -4692,8 +4159,8 @@ class XCX121Helper : public XCBaseHelper
|
||||
//
|
||||
// RSI ...
|
||||
CopyBuffer(
|
||||
mRSIHandler,
|
||||
0,
|
||||
mHandler,
|
||||
X121_RSI_LINE,
|
||||
0,
|
||||
totalBars,
|
||||
rsiBuffer
|
||||
@@ -5005,64 +4472,6 @@ class XCX121Helper : public XCBaseHelper
|
||||
//
|
||||
);
|
||||
|
||||
//
|
||||
// FIBONACCI ...
|
||||
|
||||
//
|
||||
// LEVEL 1 ...
|
||||
CopyBuffer(
|
||||
mHandler,
|
||||
X121_FIB_LEVEL_1_LINE,
|
||||
0,
|
||||
totalBars,
|
||||
fl1Buffer
|
||||
//
|
||||
);
|
||||
|
||||
//
|
||||
// LEVEL 2 ...
|
||||
CopyBuffer(
|
||||
mHandler,
|
||||
X121_FIB_LEVEL_2_LINE,
|
||||
0,
|
||||
totalBars,
|
||||
fl2Buffer
|
||||
//
|
||||
);
|
||||
|
||||
//
|
||||
// LEVEL 3 ...
|
||||
CopyBuffer(
|
||||
mHandler,
|
||||
X121_FIB_LEVEL_3_LINE,
|
||||
0,
|
||||
totalBars,
|
||||
fl3Buffer
|
||||
//
|
||||
);
|
||||
|
||||
//
|
||||
// LEVEL 4 ...
|
||||
CopyBuffer(
|
||||
mHandler,
|
||||
X121_FIB_LEVEL_4_LINE,
|
||||
0,
|
||||
totalBars,
|
||||
fl4Buffer
|
||||
//
|
||||
);
|
||||
|
||||
//
|
||||
// LEVEL 5 ...
|
||||
CopyBuffer(
|
||||
mHandler,
|
||||
X121_FIB_LEVEL_5_LINE,
|
||||
0,
|
||||
totalBars,
|
||||
fl5Buffer
|
||||
//
|
||||
);
|
||||
|
||||
//
|
||||
// XDON ...
|
||||
|
||||
|
||||
Reference in New Issue
Block a user