Initial Commit
This commit is contained in:
40
MarketData/MarketDataLib/MarketDataModel/MovingDeviation.cs
Executable file
40
MarketData/MarketDataLib/MarketDataModel/MovingDeviation.cs
Executable file
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using MarketData.Numerical;
|
||||
|
||||
namespace MarketData.MarketDataModel
|
||||
{
|
||||
public class MovingDeviation
|
||||
{
|
||||
private MovingDeviation()
|
||||
{
|
||||
}
|
||||
public static DMADeviations GenerateMovingDeviation(Prices prices, int dayCount)
|
||||
{
|
||||
try
|
||||
{
|
||||
DMADeviations dmaDeviations = new DMADeviations();
|
||||
|
||||
for (int index = 0; index < prices.Count; index++)
|
||||
{
|
||||
Price price = prices[index];
|
||||
DMADeviation dmaDeviation = new DMADeviation();
|
||||
dmaDeviation.Symbol = price.Symbol;
|
||||
dmaDeviation.Date = price.Date;
|
||||
float[] pricesArray = prices.GetPrices(index, dayCount);
|
||||
dmaDeviation.StDevPrice = Numerics.Volatility(ref pricesArray);
|
||||
if (double.IsNaN(dmaDeviation.StDevPrice)) continue;
|
||||
dmaDeviation.CurrentPrice = price.Close;
|
||||
dmaDeviations.Add(dmaDeviation);
|
||||
}
|
||||
return dmaDeviations;
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,exception);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user