/// <summary> /// Сохранить настройки в файл /// </summary> private void Save() { if (_canSave == false) { return; } try { using (StreamWriter writer = new StreamWriter(@"Engine\" + Name + @".txt", false)) { if (_indicatorsCandles != null) { for (int i = 0; i < _indicatorsCandles.Count; i++) { writer.WriteLine(_indicatorsCandles[i].GetType().Name + "@" + _indicatorsCandles[i].Name + "@" + _indicatorsCandles[i].NameArea + "@" + _indicatorsCandles[i].CanDelete); } } if (ChartCandle.GetChartArea("TradeArea") != null) { writer.WriteLine("Trades"); } writer.Close(); } } catch (Exception error) { SendErrorMessage(error); } }
/// <summary> /// Удалить файл настроек /// </summary> public void Delete() { try { for (int i = 0; _indicatorsCandles != null && i < _indicatorsCandles.Count; i++) { _indicatorsCandles[i].Delete(); } if (File.Exists(@"Engine\" + Name + @".txt")) { File.Delete(@"Engine\" + Name + @".txt"); } if (ChartCandle != null) { ChartCandle.Delete(); } } catch (Exception error) { SendErrorMessage(error); } }
/// <summary> /// Загрузить настройки из файла /// </summary> private void Load() { if (!File.Exists(@"Engine\" + Name + @".txt")) { return; } try { using (StreamReader reader = new StreamReader(@"Engine\" + Name + @".txt")) { while (!reader.EndOfStream) { string readerStr = reader.ReadLine(); if (readerStr == null) { continue; } string[] indicator = readerStr.Split('@'); if (indicator[0] == "KalmanFilter") { CreateIndicator(new KalmanFilter(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "PivotPoints") { CreateIndicator(new PivotPoints(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Pivot") { CreateIndicator(new Pivot(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "VolumeOscillator") { CreateIndicator(new VolumeOscillator(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "ParabolicSAR") { CreateIndicator(new ParabolicSaR(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "BfMfi") { CreateIndicator(new BfMfi(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "BullsPower") { CreateIndicator(new BullsPower(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "BearsPower") { CreateIndicator(new BearsPower(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Cmo") { CreateIndicator(new Cmo(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Cci") { CreateIndicator(new Cci(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "StandardDeviation") { CreateIndicator(new StandardDeviation(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "MovingAverage") { CreateIndicator(new MovingAverage(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Bollinger") { CreateIndicator(new Bollinger(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Fractal") { CreateIndicator(new Fractal(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "ForceIndex") { CreateIndicator(new ForceIndex(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "OnBalanceVolume") { CreateIndicator(new OnBalanceVolume(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "StochasticOscillator") { CreateIndicator(new StochasticOscillator(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Rsi") { CreateIndicator(new Rsi(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Roc") { CreateIndicator(new Roc(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Rvi") { CreateIndicator(new Rvi(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Volume") { CreateIndicator(new Volume(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "AwesomeOscillator") { CreateIndicator(new AwesomeOscillator(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "AccumulationDistribution") { CreateIndicator(new AccumulationDistribution(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Adx") { CreateIndicator(new Adx(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Atr") { CreateIndicator(new Atr(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Alligator") { CreateIndicator(new Alligator(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Trades") { ChartCandle.CreateTickArea(); } if (indicator[0] == "PriceChannel") { CreateIndicator(new PriceChannel(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "PriceOscillator") { CreateIndicator(new PriceOscillator(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "MacdHistogram") { CreateIndicator(new MacdHistogram(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "MacdLine") { CreateIndicator(new MacdLine(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Momentum") { CreateIndicator(new Momentum(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "MoneyFlowIndex") { CreateIndicator(new MoneyFlowIndex(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Envelops") { CreateIndicator(new Envelops(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "EfficiencyRatio") { CreateIndicator(new EfficiencyRatio(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Line") { CreateIndicator(new CandleChart.Indicators.Line(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "AdaptiveLookBack") { CreateIndicator(new AdaptiveLookBack(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "IvashovRange") { CreateIndicator(new IvashovRange(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Ac") { CreateIndicator(new Ac(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "VerticalHorizontalFilter") { CreateIndicator(new VerticalHorizontalFilter(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "WilliamsRange") { CreateIndicator(new WilliamsRange(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Trix") { CreateIndicator(new Trix(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "Ichimoku") { CreateIndicator(new Ichimoku(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } if (indicator[0] == "TradeThread") { CreateIndicator(new TradeThread(indicator[1], Convert.ToBoolean(indicator[3])), indicator[2]); } } reader.Close(); } } catch (Exception error) { SendErrorMessage(error); } }