This commit is contained in:
2026-01-08 18:44:19 +03:30
parent 649cef249f
commit 5c7c5f288d
8 changed files with 2073 additions and 527 deletions
+47
View File
@@ -204,6 +204,7 @@ enum ENUM_X121_XKI_BUFFERS
//
// RSI ...
X121_XKI_RSI_LINE = 19,
X121_XKI_RSI_SMOOTHED_LINE = 25,
};
// #endregion
@@ -224,6 +225,8 @@ struct X121XKIInputs
ENUM_APPLIED_PRICE rsiAppliedTo; // RSI Applied To
double rsiBullishConfirmation; // RSI Bullish Confirmation Level
double rsiBearishConfirmation; // RSI Bearish Confirmation Level
int rsiSmoothingLength; // RSI Smoothing Length
ENUM_X_MA_METHOD rsiSmoothingMode; // RSI Smoothing Method
int kiWaveSmoothingLength; // RSI KI Wave Smoothing Length
ENUM_X_MA_METHOD kiWaveSmoothingMode; // RSI KI Wave Smoothing Method
double rsiMultiplier; // RSI Multiplier
@@ -289,6 +292,8 @@ struct X121XKIInputs
rsiAppliedTo = PRICE_CLOSE;
rsiBullishConfirmation = 55;
rsiBearishConfirmation = 45;
rsiSmoothingLength = 14;
rsiSmoothingMode = X_MA_MODE_EMA;
kiWaveSmoothingLength = 14;
kiWaveSmoothingMode = X_MA_MODE_EMA;
rsiMultiplier = 0.5;
@@ -415,6 +420,7 @@ struct X121XKIConditions
double atrRawUpperBuffer[];
double atrRawLowerBuffer[];
double rsiBuffer[];
double rsiSmoothedBuffer[];
double kiWaveRawBuffer[];
double kiWaveStateBuffer[];
// #endregion
@@ -467,6 +473,7 @@ struct X121XKIConditions
XClean(atrRawUpperBuffer);
XClean(atrRawLowerBuffer);
XClean(rsiBuffer);
XClean(rsiSmoothedBuffer);
XClean(kiWaveRawBuffer);
XClean(kiWaveStateBuffer);
@@ -494,6 +501,7 @@ struct X121XKIConditions
ArraySetAsSeries(atrRawUpperBuffer, true);
ArraySetAsSeries(atrRawLowerBuffer, true);
ArraySetAsSeries(rsiBuffer, true);
ArraySetAsSeries(rsiSmoothedBuffer, true);
ArraySetAsSeries(kiWaveRawBuffer, true);
ArraySetAsSeries(kiWaveStateBuffer, true);
@@ -575,6 +583,8 @@ class XCX121XKIHelper : public XCBaseHelper
mInputs.rsiAppliedTo,
mInputs.rsiBullishConfirmation,
mInputs.rsiBearishConfirmation,
mInputs.rsiSmoothingLength,
mInputs.rsiSmoothingMode,
mInputs.kiWaveSmoothingLength,
mInputs.kiWaveSmoothingMode,
mInputs.rsiMultiplier,
@@ -787,6 +797,11 @@ class XCX121XKIHelper : public XCBaseHelper
loopback,
conditions.rsiBuffer //
);
CopyRSISmoothed(
zIndex,
loopback,
conditions.rsiSmoothedBuffer //
);
CopyATR(
zIndex,
loopback,
@@ -1487,6 +1502,38 @@ class XCX121XKIHelper : public XCBaseHelper
}
// #endregion
// #region RSI Smoothed ...
//
double GetRSISmoothed(
int barIndex // Bar Index
)
{
//
return ReadValue(
(int)X121_XKI_RSI_SMOOTHED_LINE,
barIndex //
);
}
//
int CopyRSISmoothed(
int start, // Start
int count, // Number of Items for read
double &buffer[], // Dest Buffer
bool asSeries = true // As Series Flag
)
{
//
return ReadValues(
buffer,
(int)X121_XKI_RSI_SMOOTHED_LINE,
start,
count,
asSeries //
);
}
// #endregion
// #region ATR ...
//
double GetATR(