This commit is contained in:
Miha Kralj
2022-04-21 11:29:47 -07:00
committed by Miha
parent c5d06eb06f
commit 2bc0d3f0ea
3 changed files with 77 additions and 39 deletions
+4 -4
View File
@@ -1,18 +1,18 @@
# QuanTAlib - quantitative technical indicators for Quantower and other C#-based trading platorms # QuanTAlib - quantitative technical indicators for Quantower and other C#-based trading platorms
![GitHub last commit](https://img.shields.io/github/last-commit/mihakralj/QuanTAlib)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=mihakralj_QuanTAlib&metric=ncloc)](https://sonarcloud.io/summary/overall?id=mihakralj_QuanTAlib) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=mihakralj_QuanTAlib&metric=ncloc)](https://sonarcloud.io/summary/overall?id=mihakralj_QuanTAlib)
[![Codacy grade](https://img.shields.io/codacy/grade/b1f9109222234c87bce45f1fd4c63aee?style=flat-square)](https://app.codacy.com/gh/mihakralj/QuanTAlib/dashboard) [![Codacy grade](https://img.shields.io/codacy/grade/b1f9109222234c87bce45f1fd4c63aee?style=flat-square)](https://app.codacy.com/gh/mihakralj/QuanTAlib/dashboard)
[![codecov](https://codecov.io/gh/mihakralj/QuanTAlib/branch/main/graph/badge.svg?style=flat-square&token=YNMJRGKMTJ?style=flat-square)](https://codecov.io/gh/mihakralj/QuanTAlib) [![codecov](https://codecov.io/gh/mihakralj/QuanTAlib/branch/main/graph/badge.svg?style=flat-square&token=YNMJRGKMTJ?style=flat-square)](https://codecov.io/gh/mihakralj/QuanTAlib)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=mihakralj_QuanTAlib&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=mihakralj_QuanTAlib) [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=mihakralj_QuanTAlib&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=mihakralj_QuanTAlib)
[![CodeFactor](https://www.codefactor.io/repository/github/mihakralj/quantalib/badge/main)](https://www.codefactor.io/repository/github/mihakralj/quantalib/overview/main)
[![Nuget](https://img.shields.io/nuget/v/QuanTAlib?style=flat-square)](https://www.nuget.org/packages/QuanTAlib/) [![Nuget](https://img.shields.io/nuget/v/QuanTAlib?style=flat-square)](https://www.nuget.org/packages/QuanTAlib/)
![GitHub last commit](https://img.shields.io/github/last-commit/mihakralj/QuanTAlib)
[![Nuget](https://img.shields.io/nuget/dt/QuanTAlib?style=flat-square)](https://www.nuget.org/packages/QuanTAlib/) [![Nuget](https://img.shields.io/nuget/dt/QuanTAlib?style=flat-square)](https://www.nuget.org/packages/QuanTAlib/)
[![GitHub watchers](https://img.shields.io/github/watchers/mihakralj/QuanTAlib?style=flat-square)](https://github.com/mihakralj/QuanTAlib/watchers) [![GitHub watchers](https://img.shields.io/github/watchers/mihakralj/QuanTAlib?style=flat-square)](https://github.com/mihakralj/QuanTAlib/watchers)
[![.NET7.0](https://img.shields.io/badge/.NET-7.0-yellow?style=flat-square)](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) [![.NET7.0](https://img.shields.io/badge/.NET-7.0%20%7C%206.0%20%7C%204.8-blue?style=flat-square](https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
[![.NET6.0](https://img.shields.io/badge/.NET-6.0-blue?style=flat-square)](https://dotnet.microsoft.com/en-us/download/dotnet/6.0)
[![.NET4.8](https://img.shields.io/badge/.NET-4.8-blue?style=flat-square)](https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48)
[![GitHub license](https://img.shields.io/github/license/mihakralj/QuanTAlib?style=flat-square)](Docs/LICENSE) [![GitHub license](https://img.shields.io/github/license/mihakralj/QuanTAlib?style=flat-square)](Docs/LICENSE)
+35
View File
@@ -0,0 +1,35 @@
namespace QuanTAlib;
using System;
/* <summary>
ZL: Zero Lag
Data is de-lagged by removing the data from “lag” days ago, thus removing
(or attempting to) the cumulative effect of the moving average.
Calculation:
Lag = (Period-1)/2
ZL = Data + (Data - Data(Lag days ago) )
Sources:
https://mudrex.com/blog/zero-lag-ema-trading-strategy/
</summary> */
public class ZL_Series : Single_TSeries_Indicator
{
public ZL_Series(TSeries source, int period, bool useNaN = false) : base(source, period:period, useNaN:useNaN) {
if (this._data.Count > 0) { base.Add(this._data); }
}
public override void Add((DateTime t, double v) TValue, bool update)
{
int _lag = (int)((_p-1) * 0.5);
_lag = (_data.Count-_lag < 0) ? 0 : _data.Count-_lag;
double _zl = TValue.v + (TValue.v - _data[_lag].v);
var ret = (TValue.t, (base.Count==0 && base._NaN) ? double.NaN : _zl );
base.Add(ret, update);
}
}
+5 -2
View File
@@ -51,11 +51,14 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PackageIcon>images\icon.png</PackageIcon> <PackageIcon>QuanTAlib2.png</PackageIcon>
<PackageIconUrl>https://raw.githubusercontent.com/mihakralj/QuanTAlib/main/.github/QuanTAlib2.png</PackageIconUrl> <PackageIconUrl>https://raw.githubusercontent.com/mihakralj/QuanTAlib/main/.github/QuanTAlib2.png</PackageIconUrl>
<SignAssembly>False</SignAssembly>
<AssemblyOriginatorKeyFile>C:\Dropbox\SSH keys\Certum\MihaKralj_OpenSource.pem</AssemblyOriginatorKeyFile>
<DelaySign>True</DelaySign>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Include="..\.github\QuanTAlib2.png" Pack="true" Visible="false" PackagePath="images\icon.png" /> <None Include="..\.github\QuanTAlib2.png" Pack="true" Visible="false" PackagePath="\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>