public JsonResult SaveChart(string data, ChartMaster master, ChartDetail[] details) { Guid id = Guid.NewGuid(); string path = HttpContext.Server.MapPath("~/images/" + id.ToString() + ".png"); byte[] binaryData = Convert.FromBase64String(data); FileStream file = new FileStream(path, FileMode.Create); BinaryWriter bw = new BinaryWriter(file); bw.Write(binaryData); bw.Close(); ChartDbEntities db = new ChartDbEntities(); master.Id = id; master.ImageUrl = "~/images/" + id.ToString() + ".png"; db.ChartMasters.AddObject(master); foreach (ChartDetail detail in details) { detail.ChartId = master.Id; db.ChartDetails.AddObject(detail); } db.SaveChanges(); return(Json("Chart saved in the database!")); }
public BotTabIndex(string name) { TabName = name; Tabs = new List <Connector>(); _valuesToFormula = new List <ValueForm>(); _chartMaster = new ChartMaster(TabName); Load(); }
public BotTabIndex(string name, StartProgram startProgram) { TabName = name; _startProgram = startProgram; Tabs = new List <ConnectorCandles>(); _valuesToFormula = new List <ValueSave>(); _chartMaster = new ChartMaster(TabName, _startProgram); Load(); }
public ChartMaster createMasterChart(int type, int w, int h) { ChartMaster cl = new ChartMaster(mContext.getFontSmall()); cl.setIsMasterChart(true); cl.setSize(w, h); cl.setPosition(0, 0); cl.mShouldDrawCursor = true; cl.mShouldDrawDateSeparator = true; cl.mShouldDrawPriceLine = true; cl.mShouldDrawValue = true; cl.mHasFibonacci = false; cl.allowRepositionCursor(); cl.setListener(this); cl.setChartType(type); return(cl); }
/// <summary> /// конструктор /// </summary> /// <param name="name">имя владельца хранилища алертов</param> /// <param name="connector">коннектор</param> /// <param name="chartMaster">чарт</param> public AlertMaster(string name, Connector connector, ChartMaster chartMaster) { _name = name; _connector = connector; _chartMaster = chartMaster; chartMaster.GetChart().Click += AlertMaster_Click; Load(); GridViewBox = new DataGridView(); GridViewBox.AllowUserToOrderColumns = true; GridViewBox.AllowUserToResizeRows = true; GridViewBox.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; GridViewBox.AllowUserToDeleteRows = false; GridViewBox.AllowUserToAddRows = false; GridViewBox.RowHeadersVisible = false; GridViewBox.SelectionMode = DataGridViewSelectionMode.FullRowSelect; GridViewBox.MultiSelect = false; DataGridViewCellStyle style = new DataGridViewCellStyle(); style.Alignment = DataGridViewContentAlignment.TopLeft; style.WrapMode = DataGridViewTriState.True; GridViewBox.DefaultCellStyle = style; DataGridViewTextBoxCell cell0 = new DataGridViewTextBoxCell(); cell0.Style = style; DataGridViewColumn column0 = new DataGridViewColumn(); column0.CellTemplate = cell0; column0.HeaderText = @"Номер"; column0.ReadOnly = true; column0.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; //column0.Width = 150; GridViewBox.Columns.Add(column0); DataGridViewColumn column = new DataGridViewColumn(); column.CellTemplate = cell0; column.HeaderText = @"Тип"; column.ReadOnly = true; column.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; // column.Width = 150; GridViewBox.Columns.Add(column); DataGridViewColumn column1 = new DataGridViewColumn(); column1.CellTemplate = cell0; column1.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; column1.ReadOnly = true; // column1.Width = 150; column1.HeaderText = @"Статус"; GridViewBox.Columns.Add(column1); GridViewBox.Rows.Add(null, null); GridViewBox.Click += GridViewBox_Click; GridViewBox.DoubleClick += GridViewBox_DoubleClick; PaintGridBox(); }
/// <summary> /// конструктор /// </summary> /// <param name="chartMaster">класс менеджер индикаторов</param> public IndicarotCreateUi(ChartMaster chartMaster) { InitializeComponent(); _chartMaster = chartMaster; _gridViewIndicators = new DataGridView(); HostNames.Child = _gridViewIndicators; _gridViewIndicators.AllowUserToOrderColumns = false; _gridViewIndicators.AllowUserToDeleteRows = false; _gridViewIndicators.AllowUserToAddRows = false; _gridViewIndicators.AllowUserToResizeRows = false; _gridViewIndicators.RowHeadersVisible = false; _gridViewIndicators.ReadOnly = true; _gridViewIndicators.AllowUserToResizeColumns = false; DataGridViewColumn column = new DataGridViewColumn(); column.HeaderText = @"Тип индикатора"; column.CellTemplate = new DataGridViewTextBoxCell(); column.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; _gridViewIndicators.Columns.Add(column); _gridViewIndicators.Rows.Add("Adaptive Look Back"); _gridViewIndicators.Rows.Add("ADX"); _gridViewIndicators.Rows.Add("ATR"); _gridViewIndicators.Rows.Add("Alligator"); _gridViewIndicators.Rows.Add("AO"); _gridViewIndicators.Rows.Add("AC"); _gridViewIndicators.Rows.Add("AccumulationDistribution"); _gridViewIndicators.Rows.Add("Bollinger"); _gridViewIndicators.Rows.Add("BFMFI"); _gridViewIndicators.Rows.Add("BullsPower"); _gridViewIndicators.Rows.Add("BearsPower"); _gridViewIndicators.Rows.Add("CMO"); _gridViewIndicators.Rows.Add("CCI"); _gridViewIndicators.Rows.Add("Envelops"); _gridViewIndicators.Rows.Add("Efficiency Ratio"); _gridViewIndicators.Rows.Add("Fractal"); _gridViewIndicators.Rows.Add("Force Index"); _gridViewIndicators.Rows.Add("OnBalanceVolume"); _gridViewIndicators.Rows.Add("Ichimoku"); _gridViewIndicators.Rows.Add("IvashovRange"); _gridViewIndicators.Rows.Add("KalmanFilter"); // сюда добавить новый индикатор чтоб он стал доступен для выбора _gridViewIndicators.Rows.Add("Moving Average"); _gridViewIndicators.Rows.Add("MACD Histogram"); _gridViewIndicators.Rows.Add("MACD Line"); _gridViewIndicators.Rows.Add("Momentum"); _gridViewIndicators.Rows.Add("MoneyFlowIndex"); _gridViewIndicators.Rows.Add("Parabolic SAR"); _gridViewIndicators.Rows.Add("Price Channel"); _gridViewIndicators.Rows.Add("Price Oscillator"); _gridViewIndicators.Rows.Add("Pivot"); _gridViewIndicators.Rows.Add("Pivot Points"); _gridViewIndicators.Rows.Add("StochasticOscillator"); _gridViewIndicators.Rows.Add("RSI"); _gridViewIndicators.Rows.Add("ROC"); _gridViewIndicators.Rows.Add("RVI"); _gridViewIndicators.Rows.Add("Standard Deviation"); _gridViewIndicators.Rows.Add("Trix"); _gridViewIndicators.Rows.Add("TradeThread"); _gridViewIndicators.Rows.Add("Unk"); _gridViewIndicators.Rows.Add("VerticalHorizontalFilter"); _gridViewIndicators.Rows.Add("Volume Oscillator"); _gridViewIndicators.Rows.Add("Volume"); _gridViewIndicators.Rows.Add("WilliamsRange"); if (_chartMaster.GetChartArea("TradeArea") == null) { _gridViewIndicators.Rows.Add("Trades"); } _gridViewIndicators.SelectionChanged += gridViewIndicators_SelectionChanged; _gridViewAreas = new DataGridView(); HostArea.Child = _gridViewAreas; _gridViewAreas.AllowUserToOrderColumns = false; _gridViewAreas.AllowUserToDeleteRows = false; _gridViewAreas.AllowUserToAddRows = false; _gridViewAreas.AllowUserToResizeRows = false; _gridViewAreas.RowHeadersVisible = false; _gridViewAreas.ReadOnly = true; _gridViewAreas.AllowUserToResizeColumns = false; DataGridViewColumn column1 = new DataGridViewColumn(); column1.HeaderText = @"Окна на графике"; column1.CellTemplate = new DataGridViewTextBoxCell(); column1.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; _gridViewAreas.Columns.Add(column1); string[] areas = chartMaster.GetChartAreas(); for (int i = 0; i < areas.Length; i++) { if (areas[i] != "TradeArea") { _gridViewAreas.Rows.Add(areas[i]); } } _gridViewAreas.Rows.Add("NewArea"); }
/// <summary> /// загрузить из строки сохранения /// </summary> public void Load(string saveStr) { string[] array = saveStr.Split('?'); _name = array[0]; // разбираем паттерны на вход string[] patternsToEnter = array[1].Split('%'); for (int i = 0; i < patternsToEnter.Length - 1; i += 1) { LoadPattern(patternsToEnter[i], PatternsToOpen); } // разбираем паттерны на выход string[] patternsToExit = array[2].Split('%'); for (int i = 0; i < patternsToExit.Length - 1; i += 1) { LoadPattern(patternsToExit[i], PatternsToClose); } IsOn = Convert.ToBoolean(array[3]); Enum.TryParse(array[4], out SideInter); StopOrderIsOn = Convert.ToBoolean(array[5]); ProfitOrderIsOn = Convert.ToBoolean(array[6]); ExitFromSomeCandlesIsOn = Convert.ToBoolean(array[7]); TrailingStopIsOn = Convert.ToBoolean(array[8]); StopOrderValue = Convert.ToInt32(array[9]); ProfitOrderValue = Convert.ToInt32(array[10]); TreilingStopValue = Convert.ToInt32(array[11]); ExitFromSomeCandlesValue = Convert.ToInt32(array[12]); SecurityToInter = array[13]; WeigthToInter = Convert.ToDecimal(array[14]); WeigthToExit = Convert.ToDecimal(array[15]); WeigthToTempPattern = Convert.ToDecimal(array[16]); Enum.TryParse(array[17], out PlaceToUsePattern); ExpandToTempPattern = Convert.ToDecimal(array[18]); MiningMo = Convert.ToDecimal(array[19]); MiningDealsCount = Convert.ToInt32(array[20]); MiningProfit = Convert.ToDecimal(array[21]); DataServer = new OsMinerServer(Name); DataServer.CandleSeriesChangeEvent += _dataServer_CandleSeriesChangeEvent; _chart = new ChartMaster(_name); _chart.ClickToIndexEvent += _chart_ClickToIndexEvent; _chartTempPattern = new ChartPainter(_name + "TempPattern"); _chartTempPattern.IsPatternChart = true; _chartSingleOpenPattern = new ChartPainter(_name + "OpenSinglePattern"); _chartSingleOpenPattern.IsPatternChart = true; _chartSingleClosePattern = new ChartPainter(_name + "CloseSinglePattern"); _chartSingleClosePattern.IsPatternChart = true; if (PatternsToOpen.Count != 0) { PaintClosePattern(0); } if (PatternsToClose.Count != 0) { PaintOpenPattern(0); } }