private void ConsoleTextbox_SelectionChanged(object sender, RoutedEventArgs e) { if (InstrumentSelect1.SelectedIndex == -1) { return; } string SelectedIstrument = InstrumentSelect1.SelectedItem.ToString(); string ChangesPCTAsString = ValueStatistics.GetChangePCT(SelectedIstrument, TimeValues.DayToSecond, TimeValues.DayToSecond, 6, false); PrevDailyChangePCTRelative1.Text = ChangesPCTAsString; ChangesPCTAsString = ValueStatistics.GetChangePCT(SelectedIstrument, TimeValues.WeekToSecond, TimeValues.WeekToSecond, 1, false); PrevWeekChangePCTRelative1.Text = ChangesPCTAsString; ChangesPCTAsString = ValueStatistics.GetChangePCT(SelectedIstrument, TimeValues.HourToSecond, TimeValues.HourToSecond, 24, false); PrevHourlyChangePCTRelative1.Text = ChangesPCTAsString; string PrevDailyAvgStr = ValueStatistics.CalcPivot(SelectedIstrument, TimeValues.DayToSecond, TimeValues.DayToSecond, 6, false); PrevDailyAvg1.Text = PrevDailyAvgStr; RecommendedSellStart1.Text = ValueStatistics.GetAvgMinMaxBelowAvg(SelectedIstrument, TimeValues.DayToSecond, 0).ToString(); YesterdayAvg1.Text = ValueStatistics.CalcPivot(SelectedIstrument, TimeValues.DayToSecond, TimeValues.DayToSecond, 1, false); RecommendedBuyStart1.Text = ValueStatistics.GetAvgMinMaxBelowAvg(SelectedIstrument, TimeValues.DayToSecond, 1).ToString(); }
private void ShowSomeStatistics() { ValueStatistics.CalcInversionEachInstrument(10, 10 + 2, 0.0001, 2); ValueStatistics.CalcTransactionsEachInstrument(); ValueStatistics.GetTopXLastestTransactionsAllInstruments(); ValueStatistics.GetChangePCTAllInstruments(); Globals.Logger.Log("Daily Pivots:"); ValueStatistics.CalcPivot("Heating Oil (HO)", TimeValues.DayToSecond, TimeValues.DayToSecond, 7); ValueStatistics.CalcPivot("Gasoline (RB)", TimeValues.DayToSecond, TimeValues.DayToSecond, 7); ValueStatistics.CalcPivot("Crude Oil (CL)", TimeValues.DayToSecond, TimeValues.DayToSecond, 7); ValueStatistics.CalcPivot("Natural Gas (NG)", TimeValues.DayToSecond, TimeValues.DayToSecond, 7); }
public static double GetAvgMinMaxBelowAvg(string InstrumentName, int PeriodInSeconds, int BelowAvg = 1) { long Now = DBHandler.GetUnixStamp(); long StartStamp1 = Now - 1 * TimeValues.DayToSecond; long EndStamp1 = Now - 0 * TimeValues.DayToSecond; double Average1 = ValueStatistics.GetInstrumentAveragePricePeriod(InstrumentName, StartStamp1, EndStamp1); List <InstrumentValuePair> values = Globals.Persistency.GetInstrumentValues(InstrumentName, StartStamp1, EndStamp1); values = ExpandValues(values); double SumOfValue = 0; double ValueCount = 0; foreach (var itr in values) { if ((BelowAvg == 1 && itr.SellValue <= Average1) || (BelowAvg == 0 && itr.SellValue >= Average1)) { SumOfValue += itr.SellValue; ValueCount++; } } return(SumOfValue / ValueCount); }