mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-23 13:08:04 +00:00
feat: add new indicators (Decay, Edecay, MinusDi, MinusDm, PlusDi, PlusDm, Maxindex, Minindex, Sarext) and update pine scripts, core libs, validation tests, and python bindings
This commit is contained in:
@@ -53,6 +53,18 @@ public sealed class Dx : ITValuePublisher
|
||||
/// </summary>
|
||||
public TValue DiMinus { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Current smoothed +DM value (Wilder-smoothed raw plus directional movement, before TR normalization).
|
||||
/// Equivalent to TA-Lib PLUS_DM.
|
||||
/// </summary>
|
||||
public TValue DmPlus { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Current smoothed -DM value (Wilder-smoothed raw minus directional movement, before TR normalization).
|
||||
/// Equivalent to TA-Lib MINUS_DM.
|
||||
/// </summary>
|
||||
public TValue DmMinus { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// True if the DX has warmed up and is providing valid results.
|
||||
/// </summary>
|
||||
@@ -106,6 +118,8 @@ public sealed class Dx : ITValuePublisher
|
||||
Last = default;
|
||||
DiPlus = default;
|
||||
DiMinus = default;
|
||||
DmPlus = default;
|
||||
DmMinus = default;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
@@ -276,6 +290,8 @@ public sealed class Dx : ITValuePublisher
|
||||
|
||||
DiPlus = new TValue(input.Time, diPlus);
|
||||
DiMinus = new TValue(input.Time, diMinus);
|
||||
DmPlus = new TValue(input.Time, _samples >= _period ? _dmPlusSmooth : 0);
|
||||
DmMinus = new TValue(input.Time, _samples >= _period ? _dmMinusSmooth : 0);
|
||||
Last = new TValue(input.Time, dx);
|
||||
|
||||
Pub?.Invoke(this, new TValueEventArgs { Value = Last, IsNew = isNew });
|
||||
|
||||
Reference in New Issue
Block a user