diff --git a/.github/workflows/main_automation.yml b/.github/workflows/main_automation.yml index e71e14c8..e45f7eb5 100644 --- a/.github/workflows/main_automation.yml +++ b/.github/workflows/main_automation.yml @@ -81,6 +81,8 @@ jobs: run: dotnet build ./quantower/Averages/Averages.csproj --configuration Release --nologo - name: Build Statistics DLL run: dotnet build ./quantower/Statistics/Statistics.csproj --configuration Release --nologo + - name: Build SyntheticVendor DLL + run: dotnet build ./SyntheticVendor/SyntheticVendor.csproj --configuration Release --nologo - name: DotCover Test HTML if: ${{ github.ref == 'refs/heads/dev' }} diff --git a/lib/averages/Dema.cs b/lib/averages/Dema.cs index 0e810894..afd57c81 100644 --- a/lib/averages/Dema.cs +++ b/lib/averages/Dema.cs @@ -82,9 +82,6 @@ public class Dema : AbstractBase ManageState(Input.IsNew); double result, _ema1, _ema2; - - // dynamic k when within period; (index is zero-based, therefore +2) - //double _dk = (_index + 1 >= _period) ? _k : 2.0 / (_index + 2); // compensator for early ema values _e = (_e > 1e-10) ? (1 - _k) * _e : 0; double _invE = (_e > 1e-10) ? 1 / (1 - _e) : 1; diff --git a/lib/averages/Epma.cs b/lib/averages/Epma.cs index df588a7e..4d55e203 100644 --- a/lib/averages/Epma.cs +++ b/lib/averages/Epma.cs @@ -77,9 +77,6 @@ public class Epma : AbstractBase kernel[i] /= weightSum; } - // Reverse the kernel for convolution - //Array.Reverse(kernel); - return kernel; } } \ No newline at end of file diff --git a/lib/averages/Rema.cs b/lib/averages/Rema.cs index a0c2677c..c89782c7 100644 --- a/lib/averages/Rema.cs +++ b/lib/averages/Rema.cs @@ -1,4 +1,4 @@ -using QuanTAlib; +namespace QuanTAlib; //https://user42.tuxfamily.org/chart/manual/Regularized-Exponential-Moving-Average.html diff --git a/lib/averages/Rma.cs b/lib/averages/Rma.cs index d712acd3..3dadbba2 100644 --- a/lib/averages/Rma.cs +++ b/lib/averages/Rma.cs @@ -53,7 +53,6 @@ public class Rma : AbstractBase { rma = (_lastRMA * (_index - 1) + Input.Value) / _index; } else { // Wilder's smoothing method - //rma = (_lastRMA * (_period - 1) + Input.Value) / _period; rma = _alpha * (Input.Value - _lastRMA) + _lastRMA; } diff --git a/lib/averages/Sma.cs b/lib/averages/Sma.cs index cf91c261..5cedd225 100644 --- a/lib/averages/Sma.cs +++ b/lib/averages/Sma.cs @@ -30,7 +30,6 @@ public class Sma : AbstractBase public override void Init() { - //_buffer.Clear(); base.Init(); } diff --git a/lib/averages/Tema.cs b/lib/averages/Tema.cs index e87392c7..2b12f6ee 100644 --- a/lib/averages/Tema.cs +++ b/lib/averages/Tema.cs @@ -58,8 +58,7 @@ public class Tema : AbstractBase { double result, _ema1, _ema2, _ema3; ManageState(Input.IsNew); - - //double _dk = (_index + 1 >= _period) ? _k : 2.0 / (_index + 2); + _e = (_e > 1e-10) ? (1 - _k) * _e : 0; double _invE = (_e > 1e-10) ? 1 / (1 - _e) : 1; diff --git a/lib/quantalib.csproj b/lib/quantalib.csproj index a95e3c69..4c228dec 100644 --- a/lib/quantalib.csproj +++ b/lib/quantalib.csproj @@ -31,6 +31,9 @@ Quantitative;Historical;Quotes; $(NoWarn);NU5104 + false + false + false QuanTAlib2.png diff --git a/quantower/AbstractIndicatorBase.cs b/quantower/AbstractIndicatorBase.cs index 28b9df3d..0f650904 100644 --- a/quantower/AbstractIndicatorBase.cs +++ b/quantower/AbstractIndicatorBase.cs @@ -1,9 +1,9 @@ using System.Drawing; using TradingPlatform.BusinessLayer; using TradingPlatform.BusinessLayer.Chart; -using QuanTAlib; using System.Runtime.CompilerServices; using System.Drawing.Drawing2D; +namespace QuanTAlib; #pragma warning disable CA1416 // Validate platform compatibility public abstract class AbstractIndicatorBase : Indicator diff --git a/quantower/Averages/HmaIndicator.cs b/quantower/Averages/HmaIndicator.cs index b2807721..2dd2b472 100644 --- a/quantower/Averages/HmaIndicator.cs +++ b/quantower/Averages/HmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class HmaIndicator : IndicatorBase { diff --git a/quantower/Averages/HtitIndicator.cs b/quantower/Averages/HtitIndicator.cs index a11dd37e..8d0f4009 100644 --- a/quantower/Averages/HtitIndicator.cs +++ b/quantower/Averages/HtitIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class HtitIndicator : IndicatorBase { diff --git a/quantower/Averages/HwmaIndicator.cs b/quantower/Averages/HwmaIndicator.cs index 7d2ecc6f..e777af3c 100644 --- a/quantower/Averages/HwmaIndicator.cs +++ b/quantower/Averages/HwmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class HwmaIndicator : IndicatorBase { diff --git a/quantower/Averages/JmaIndicator.cs b/quantower/Averages/JmaIndicator.cs index f4eca0ca..88a0a2ea 100644 --- a/quantower/Averages/JmaIndicator.cs +++ b/quantower/Averages/JmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class JmaIndicator : IndicatorBase { diff --git a/quantower/Averages/KamaIndicator.cs b/quantower/Averages/KamaIndicator.cs index 7ae1b343..21587ab1 100644 --- a/quantower/Averages/KamaIndicator.cs +++ b/quantower/Averages/KamaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class KamaIndicator : IndicatorBase { diff --git a/quantower/Averages/LtmaIndicator.cs b/quantower/Averages/LtmaIndicator.cs index 65e3325d..d786d0bb 100644 --- a/quantower/Averages/LtmaIndicator.cs +++ b/quantower/Averages/LtmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class LtmaIndicator : IndicatorBase { diff --git a/quantower/Averages/MaafIndicator.cs b/quantower/Averages/MaafIndicator.cs index abb1115a..6cb7128c 100644 --- a/quantower/Averages/MaafIndicator.cs +++ b/quantower/Averages/MaafIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class MaafIndicator : IndicatorBase { diff --git a/quantower/Averages/MamaIndicator.cs b/quantower/Averages/MamaIndicator.cs index c47bc53d..d3e14f30 100644 --- a/quantower/Averages/MamaIndicator.cs +++ b/quantower/Averages/MamaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class MamaIndicator : IndicatorBase { diff --git a/quantower/Averages/MgdiIndicator.cs b/quantower/Averages/MgdiIndicator.cs index 2bd6347f..a9ed0bb0 100644 --- a/quantower/Averages/MgdiIndicator.cs +++ b/quantower/Averages/MgdiIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class MgdiIndicator : IndicatorBase { diff --git a/quantower/Averages/MmaIndicator.cs b/quantower/Averages/MmaIndicator.cs index b3efcf6b..bf174265 100644 --- a/quantower/Averages/MmaIndicator.cs +++ b/quantower/Averages/MmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class MmaIndicator : IndicatorBase { diff --git a/quantower/Averages/QemaIndicator.cs b/quantower/Averages/QemaIndicator.cs index 083fc5fc..3434249e 100644 --- a/quantower/Averages/QemaIndicator.cs +++ b/quantower/Averages/QemaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class QemaIndicator : IndicatorBase { diff --git a/quantower/Averages/RemaIndicator.cs b/quantower/Averages/RemaIndicator.cs index ca70773d..26193da4 100644 --- a/quantower/Averages/RemaIndicator.cs +++ b/quantower/Averages/RemaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class RemaIndicator : IndicatorBase { diff --git a/quantower/Averages/RmaIndicator.cs b/quantower/Averages/RmaIndicator.cs index 8dbe7e9b..a89e15a6 100644 --- a/quantower/Averages/RmaIndicator.cs +++ b/quantower/Averages/RmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class RmaIndicator : IndicatorBase { diff --git a/quantower/Averages/SinemaIndicator.cs b/quantower/Averages/SinemaIndicator.cs index 0cd93187..2f3b231f 100644 --- a/quantower/Averages/SinemaIndicator.cs +++ b/quantower/Averages/SinemaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class SinemaIndicator : IndicatorBase { diff --git a/quantower/Averages/SmaIndicator.cs b/quantower/Averages/SmaIndicator.cs index 113ce8b8..3cbf26fa 100644 --- a/quantower/Averages/SmaIndicator.cs +++ b/quantower/Averages/SmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class SmaIndicator : IndicatorBase { diff --git a/quantower/Averages/SmmaIndicator.cs b/quantower/Averages/SmmaIndicator.cs index 8d3260cf..a7516e22 100644 --- a/quantower/Averages/SmmaIndicator.cs +++ b/quantower/Averages/SmmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class SmmaIndicator : IndicatorBase { diff --git a/quantower/Averages/T3Indicator.cs b/quantower/Averages/T3Indicator.cs index 8eb58d77..5b8f4766 100644 --- a/quantower/Averages/T3Indicator.cs +++ b/quantower/Averages/T3Indicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class T3Indicator : IndicatorBase { diff --git a/quantower/Averages/TemaIndicator.cs b/quantower/Averages/TemaIndicator.cs index c7e2b6b7..57d50da3 100644 --- a/quantower/Averages/TemaIndicator.cs +++ b/quantower/Averages/TemaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class TemaIndicator : IndicatorBase { diff --git a/quantower/Averages/TrimaIndicator.cs b/quantower/Averages/TrimaIndicator.cs index ac93153f..b0612356 100644 --- a/quantower/Averages/TrimaIndicator.cs +++ b/quantower/Averages/TrimaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class TrimaIndicator : IndicatorBase { diff --git a/quantower/Averages/VidyaIndicator.cs b/quantower/Averages/VidyaIndicator.cs index 021d16a4..a9ed10ad 100644 --- a/quantower/Averages/VidyaIndicator.cs +++ b/quantower/Averages/VidyaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class VidyaIndicator : IndicatorBase { diff --git a/quantower/Averages/WmaIndicator.cs b/quantower/Averages/WmaIndicator.cs index 882c657c..5cc6a396 100644 --- a/quantower/Averages/WmaIndicator.cs +++ b/quantower/Averages/WmaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class WmaIndicator : IndicatorBase { diff --git a/quantower/Averages/ZlemaIndicator.cs b/quantower/Averages/ZlemaIndicator.cs index 2f7fca4d..c42b045c 100644 --- a/quantower/Averages/ZlemaIndicator.cs +++ b/quantower/Averages/ZlemaIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class ZlemaIndicator : IndicatorBase { diff --git a/quantower/Statistics/EntropyIndicator.cs b/quantower/Statistics/EntropyIndicator.cs index 6f61378f..8e141c01 100644 --- a/quantower/Statistics/EntropyIndicator.cs +++ b/quantower/Statistics/EntropyIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class EntropyIndicator : IndicatorBase { diff --git a/quantower/Statistics/KurtosisIndicator.cs b/quantower/Statistics/KurtosisIndicator.cs index 3587bbe1..c9d78068 100644 --- a/quantower/Statistics/KurtosisIndicator.cs +++ b/quantower/Statistics/KurtosisIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class KurtosisIndicator : IndicatorBase { diff --git a/quantower/Statistics/MaxIndicator.cs b/quantower/Statistics/MaxIndicator.cs index 4e55f05c..e0b6200a 100644 --- a/quantower/Statistics/MaxIndicator.cs +++ b/quantower/Statistics/MaxIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class MaxIndicator : IndicatorBase { diff --git a/quantower/Statistics/MedianIndicator.cs b/quantower/Statistics/MedianIndicator.cs index ff2446e5..e2e29d98 100644 --- a/quantower/Statistics/MedianIndicator.cs +++ b/quantower/Statistics/MedianIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class MedianIndicator : IndicatorBase { diff --git a/quantower/Statistics/MinIndicator.cs b/quantower/Statistics/MinIndicator.cs index 1c15d421..a4c14e9e 100644 --- a/quantower/Statistics/MinIndicator.cs +++ b/quantower/Statistics/MinIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class MinIndicator : IndicatorBase { diff --git a/quantower/Statistics/ModeIndicator.cs b/quantower/Statistics/ModeIndicator.cs index 82986cd5..c293b643 100644 --- a/quantower/Statistics/ModeIndicator.cs +++ b/quantower/Statistics/ModeIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class ModeIndicator : IndicatorBase { diff --git a/quantower/Statistics/PercentileIndicator.cs b/quantower/Statistics/PercentileIndicator.cs index b6ad324d..dacb2fd9 100644 --- a/quantower/Statistics/PercentileIndicator.cs +++ b/quantower/Statistics/PercentileIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class PercentileIndicator : IndicatorBase { [InputParameter("Period", sortIndex: 1, 2, 2000, 1, 0)] diff --git a/quantower/Statistics/SkewIndicator.cs b/quantower/Statistics/SkewIndicator.cs index 34f66faf..7cce283e 100644 --- a/quantower/Statistics/SkewIndicator.cs +++ b/quantower/Statistics/SkewIndicator.cs @@ -1,6 +1,6 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class SkewIndicator : IndicatorBase { diff --git a/quantower/Statistics/StddevIndicator.cs b/quantower/Statistics/StddevIndicator.cs index 2ee7c845..6c9648c2 100644 --- a/quantower/Statistics/StddevIndicator.cs +++ b/quantower/Statistics/StddevIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class StddevIndicator : IndicatorBase { diff --git a/quantower/Statistics/VarianceIndictor.cs b/quantower/Statistics/VarianceIndictor.cs index eb5f281e..de983873 100644 --- a/quantower/Statistics/VarianceIndictor.cs +++ b/quantower/Statistics/VarianceIndictor.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class VarianceIndicator : IndicatorBase { diff --git a/quantower/Statistics/ZscoreIndicator.cs b/quantower/Statistics/ZscoreIndicator.cs index 68f7d45a..19727511 100644 --- a/quantower/Statistics/ZscoreIndicator.cs +++ b/quantower/Statistics/ZscoreIndicator.cs @@ -1,5 +1,5 @@ using TradingPlatform.BusinessLayer; -using QuanTAlib; +namespace QuanTAlib; public class ZScoreIndicator : IndicatorBase { diff --git a/quantower/Statistics/_IndicatorBase.cs b/quantower/Statistics/_IndicatorBase.cs index 92c88cda..aef60342 100644 --- a/quantower/Statistics/_IndicatorBase.cs +++ b/quantower/Statistics/_IndicatorBase.cs @@ -3,10 +3,11 @@ using TradingPlatform.BusinessLayer; using TradingPlatform.BusinessLayer.Chart; using System.Runtime.CompilerServices; using System.Drawing.Drawing2D; -using QuanTAlib; using System.Collections; using TradingPlatform.BusinessLayer.TimeSync; +namespace QuanTAlib; + #pragma warning disable CA1416 // Validate platform compatibility public abstract class IndicatorBase : Indicator, IWatchlistIndicator {