53 lines
1.2 KiB
C#
53 lines
1.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace MarketData.MarketDataModel
|
|
{
|
|
public class SignHolder
|
|
{
|
|
public enum SignValue { Positive, Negative, Undefined };
|
|
private double currentValue;
|
|
private double previousValue;
|
|
|
|
public SignHolder()
|
|
{
|
|
currentValue = previousValue = 0.00;
|
|
}
|
|
public void SetValue(double value)
|
|
{
|
|
if (value == 0.00)
|
|
{
|
|
previousValue = currentValue;
|
|
return;
|
|
}
|
|
previousValue = currentValue;
|
|
currentValue = value;
|
|
}
|
|
public bool SignChange
|
|
{
|
|
get
|
|
{
|
|
if (previousValue < 0.00 && currentValue > 0.00) return true;
|
|
if (previousValue > 0.00 && currentValue < 0.00) return true;
|
|
return false;
|
|
}
|
|
}
|
|
public double PreviousValue
|
|
{
|
|
get { return previousValue; }
|
|
}
|
|
public double CurrentValue
|
|
{
|
|
get { return currentValue; }
|
|
}
|
|
public String GetValueString()
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.Append("[").Append(previousValue).Append("->").Append(currentValue).Append("]");
|
|
return sb.ToString();
|
|
}
|
|
}
|
|
}
|