104 lines
3.2 KiB
C#
104 lines
3.2 KiB
C#
using System;
|
|
using System.Text;
|
|
using MarketData.Utils;
|
|
|
|
namespace MarketData.MarketDataModel
|
|
{
|
|
public class ResistanceSupport
|
|
{
|
|
private Price price;
|
|
private double resistance1;
|
|
private double support1;
|
|
private double resistance2;
|
|
private double support2;
|
|
private double resistance3;
|
|
private double support3;
|
|
|
|
public ResistanceSupport(Price price)
|
|
{ // calculate pivot points
|
|
this.price = price;
|
|
double pivot=(price.Low+price.Close+price.High)/3.00;
|
|
resistance1=(2.00*pivot)-price.Low;
|
|
support1=(2.00*pivot)-price.High;
|
|
resistance2 = pivot + (price.High - price.Low);
|
|
support2 = pivot - (price.High - price.Low);
|
|
resistance3 = price.High + 2.00*(pivot-price.Low);
|
|
support3 = price.Low - 2.00*(price.High - pivot);
|
|
}
|
|
public double Resistance1
|
|
{
|
|
get { return resistance1; }
|
|
}
|
|
public double Support1
|
|
{
|
|
get { return support1; }
|
|
}
|
|
public double Resistance2
|
|
{
|
|
get { return resistance2; }
|
|
}
|
|
public double Support2
|
|
{
|
|
get { return support2; }
|
|
}
|
|
public double Resistance3
|
|
{
|
|
get { return resistance3; }
|
|
}
|
|
public double Support3
|
|
{
|
|
get { return support3; }
|
|
}
|
|
public double High
|
|
{
|
|
get { return price.High; }
|
|
}
|
|
public double Low
|
|
{
|
|
get { return price.Low; }
|
|
}
|
|
public double Close
|
|
{
|
|
get { return price.Close; }
|
|
}
|
|
public DateTime Date
|
|
{
|
|
get { return price.Date; }
|
|
}
|
|
public static string Header
|
|
{
|
|
get { return "Symbol,Date,R1,S1,R2,S2,R3,S3,High,Low,Close"; }
|
|
}
|
|
public override string ToString()
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.Append(price.Symbol).Append(",");
|
|
sb.Append(Utility.DateTimeToStringMMHDDHYYYY(price.Date)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(resistance1)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(support1)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(resistance2)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(support2)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(resistance3)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(support3)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(price.High)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(price.Low)).Append(",");
|
|
sb.Append(Utility.FormatCurrency(price.Close));
|
|
return sb.ToString();
|
|
}
|
|
public string ToStringLong()
|
|
{
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.Append("******** R E S I S T A N C E A N D S U P P O R T ****").Append("\n");
|
|
sb.Append("R3:").Append(Utility.FormatCurrency(resistance3)).Append("\n");
|
|
sb.Append("R2:").Append(Utility.FormatCurrency(resistance2)).Append("\n");
|
|
sb.Append("R1:").Append(Utility.FormatCurrency(resistance1)).Append("\n");
|
|
sb.Append("***************************************").Append("\n");
|
|
sb.Append("S1:").Append(Utility.FormatCurrency(support1)).Append("\n");
|
|
sb.Append("S2:").Append(Utility.FormatCurrency(support2)).Append("\n");
|
|
sb.Append("S3:").Append(Utility.FormatCurrency(support3)).Append("\n");
|
|
sb.Append("*************************************************************");
|
|
return sb.ToString();
|
|
}
|
|
}
|
|
}
|