Skip to content

Commit aa9d297

Browse files
committed
Fix calculation of some functions
1 parent 3d0ac71 commit aa9d297

4 files changed

Lines changed: 15 additions & 21 deletions

File tree

src/TALib.NETCore/TAFunc/TA_AvgDev.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ public static RetCode AvgDev(double[] inReal, int startIdx, int endIdx, double[]
1919
return RetCode.BadParam;
2020
}
2121

22-
int lookback = AvgDevLookback(optInTimePeriod);
23-
if (startIdx < lookback)
22+
int lookbackTotal = AvgDevLookback(optInTimePeriod);
23+
if (startIdx < lookbackTotal)
2424
{
25-
startIdx = lookback;
25+
startIdx = lookbackTotal;
2626
}
2727

2828
int today = startIdx;
@@ -72,10 +72,10 @@ public static RetCode AvgDev(decimal[] inReal, int startIdx, int endIdx, decimal
7272
return RetCode.BadParam;
7373
}
7474

75-
int lookback = AvgDevLookback(optInTimePeriod);
76-
if (startIdx < lookback)
75+
int lookbackTotal = AvgDevLookback(optInTimePeriod);
76+
if (startIdx < lookbackTotal)
7777
{
78-
startIdx = lookback;
78+
startIdx = lookbackTotal;
7979
}
8080

8181
int today = startIdx;

src/TALib.NETCore/TAFunc/TA_Dema.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ public static RetCode Dema(double[] inReal, int startIdx, int endIdx, double[] o
6161
int outIdx = default;
6262
while (outIdx < secondEMANbElement)
6363
{
64-
outReal[outIdx++] = 2.0 * firstEMA[firstEMAIdx++] - secondEMA[outIdx];
64+
outReal[outIdx] = 2.0 * firstEMA[firstEMAIdx++] - secondEMA[outIdx];
65+
outIdx++;
6566
}
6667

6768
outBegIdx = firstEMABegIdx + secondEMABegIdx;
@@ -129,7 +130,8 @@ public static RetCode Dema(decimal[] inReal, int startIdx, int endIdx, decimal[]
129130
int outIdx = default;
130131
while (outIdx < secondEMANbElement)
131132
{
132-
outReal[outIdx++] = 2m * firstEMA[firstEMAIdx++] - secondEMA[outIdx];
133+
outReal[outIdx] = 2m * firstEMA[firstEMAIdx++] - secondEMA[outIdx];
134+
outIdx++;
133135
}
134136

135137
outBegIdx = firstEMABegIdx + secondEMABegIdx;

src/TALib.NETCore/TAFunc/TA_HtPhasor.cs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,11 @@ public static RetCode HtPhasor(double[] inReal, int startIdx, int endIdx, double
103103
outInPhase[outIdx++] = i1ForOddPrev3;
104104
}
105105

106-
DoHilbertOdd(hilbertVariables, "jI", i1ForEvenPrev3, hilbertIdx, adjustedPrevPeriod);
106+
DoHilbertOdd(hilbertVariables, "jI", i1ForOddPrev3, hilbertIdx, adjustedPrevPeriod);
107107
DoHilbertOdd(hilbertVariables, "jQ", hilbertVariables["q1"], hilbertIdx, adjustedPrevPeriod);
108-
if (++hilbertIdx == 3)
109-
{
110-
hilbertIdx = 0;
111-
}
112108

113109
q2 = 0.2 * (hilbertVariables["q1"] + hilbertVariables["jI"]) + 0.8 * prevQ2;
114-
i2 = 0.2 * (i1ForEvenPrev3 - hilbertVariables["jQ"]) + 0.8 * prevI2;
110+
i2 = 0.2 * (i1ForOddPrev3 - hilbertVariables["jQ"]) + 0.8 * prevI2;
115111
i1ForEvenPrev3 = i1ForEvenPrev2;
116112
i1ForEvenPrev2 = hilbertVariables["detrender"];
117113
}
@@ -255,15 +251,11 @@ public static RetCode HtPhasor(decimal[] inReal, int startIdx, int endIdx, decim
255251
outInPhase[outIdx++] = i1ForOddPrev3;
256252
}
257253

258-
DoHilbertOdd(hilbertVariables, "jI", i1ForEvenPrev3, hilbertIdx, adjustedPrevPeriod);
254+
DoHilbertOdd(hilbertVariables, "jI", i1ForOddPrev3, hilbertIdx, adjustedPrevPeriod);
259255
DoHilbertOdd(hilbertVariables, "jQ", hilbertVariables["q1"], hilbertIdx, adjustedPrevPeriod);
260-
if (++hilbertIdx == 3)
261-
{
262-
hilbertIdx = 0;
263-
}
264256

265257
q2 = 0.2m * (hilbertVariables["q1"] + hilbertVariables["jI"]) + 0.8m * prevQ2;
266-
i2 = 0.2m * (i1ForEvenPrev3 - hilbertVariables["jQ"]) + 0.8m * prevI2;
258+
i2 = 0.2m * (i1ForOddPrev3 - hilbertVariables["jQ"]) + 0.8m * prevI2;
267259
i1ForEvenPrev3 = i1ForEvenPrev2;
268260
i1ForEvenPrev2 = hilbertVariables["detrender"];
269261
}

src/TALib.NETCore/TALib.NETCore.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<Copyright>TicTacTec LLC</Copyright>
1111
<PackageLicenseFile>LICENSE</PackageLicenseFile>
1212
<PackageProjectUrl>https://ta-lib.org</PackageProjectUrl>
13-
<Version>0.4.0</Version>
13+
<Version>0.4.1</Version>
1414
<RepositoryUrl>https://github.com/hmG3/TALib.NETCore</RepositoryUrl>
1515
<RepositoryType>git</RepositoryType>
1616
<PackageIcon>talib.png</PackageIcon>

0 commit comments

Comments
 (0)