コード例 #1
0
 public ConnorsRSI(List <double> rates, int RSI_Close = 3, int RSI_Streak = 2, int ROC_period = 100, string name = "ConnorsRSI")
     : base("ConnorsRSI", name)
 {
     try
     {
         //Проверка входных параметров
         if (rates == null)
         {
             throw new Exception("Нет входных данных");
         }
         if (rates.Count < ROC_period + 2)
         {
             throw new Exception("Количество исходных значений должно быть на два больше, чем период процентного рейтинга");
         }
         Rates            = rates;
         RSI_ClosePeriod  = RSI_Close;
         RSI_StreakPeriod = RSI_Streak;
         Values           = new List <double>(Rates.Count); //м.б. надо будет сделать больше раза в два для будущих значений
         Subtotals        = new SubtotalsCRSI(RSI_Close, RSI_Streak, ROC_period);
         CreateIndicator();
     }
     catch (Exception e)
     {
         ErrorOfInit(e.Message);
     }
     EndOfInit();
 }
コード例 #2
0
 public SubtotalsCRSI(SubtotalsCRSI subCRSI)
 {
     Price          = subCRSI.Price;
     PreviousPrice  = subCRSI.PreviousPrice;
     RsiClose       = subCRSI.RsiClose;
     Streak         = subCRSI.Streak;
     RsiStreak      = subCRSI.RsiStreak;
     DailyReturn    = subCRSI.DailyReturn;
     PosDailyReturn = subCRSI.PosDailyReturn;
     ROC_Period     = subCRSI.ROC_Period;
 }