mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-07-28 17:57:45 +00:00
feat: add RRSI (Rocket RSI) — Ehlers TASC May 2018
Algorithm: SuperSmoother-filtered momentum → Ehlers RSI → Fisher Transform - 2-pole Butterworth IIR pre-filter removes noise - Ehlers RSI (raw summation, not Wilder) outputs [-1,1] - arctanh produces Gaussian-distributed zero-mean oscillator Files: Rrsi.cs, Rrsi.Quantower.cs, Rrsi.md, 31+7 tests Integration: sidebar, indices, Python bridge (Exports, _bridge, oscillators, SPEC) Build: 0 warnings, 0 errors | Tests: 15,963 passed, 0 failed
This commit is contained in:
@@ -327,6 +327,17 @@ public static unsafe partial class Exports
|
||||
catch { return StatusCodes.QTL_ERR_INTERNAL; }
|
||||
}
|
||||
|
||||
// Rrsi: Pattern A (dual period params)
|
||||
[UnmanagedCallersOnly(EntryPoint = "qtl_rrsi")]
|
||||
public static int QtlRrsi(double* src, int n, double* dst, int smoothLength, int rsiLength)
|
||||
{
|
||||
int v = Chk1(src, dst, n); if (v != 0) return v;
|
||||
v = ChkPeriod(smoothLength); if (v != 0) return v;
|
||||
v = ChkPeriod(rsiLength); if (v != 0) return v;
|
||||
try { Rrsi.Batch(Src(src, n), Dst(dst, n), smoothLength, rsiLength); return StatusCodes.QTL_OK; }
|
||||
catch { return StatusCodes.QTL_ERR_INTERNAL; }
|
||||
}
|
||||
|
||||
// Er: Pattern A
|
||||
[UnmanagedCallersOnly(EntryPoint = "qtl_er")]
|
||||
public static int QtlEr(double* src, int n, double* dst, int period)
|
||||
|
||||
Reference in New Issue
Block a user