コード例 #1
0
        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!"));
        }
コード例 #2
0
        public BotTabIndex(string name)
        {
            TabName          = name;
            Tabs             = new List <Connector>();
            _valuesToFormula = new List <ValueForm>();
            _chartMaster     = new ChartMaster(TabName);

            Load();
        }
コード例 #3
0
ファイル: BotTabIndex.cs プロジェクト: sighttviewliu/OsEngine
        public BotTabIndex(string name, StartProgram startProgram)
        {
            TabName       = name;
            _startProgram = startProgram;

            Tabs             = new List <ConnectorCandles>();
            _valuesToFormula = new List <ValueSave>();
            _chartMaster     = new ChartMaster(TabName, _startProgram);

            Load();
        }
コード例 #4
0
ファイル: ScreenBase.cs プロジェクト: thuyps/vnchart_windows
        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);
        }
コード例 #5
0
        /// <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();
        }
コード例 #6
0
        /// <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");
        }
コード例 #7
0
ファイル: PatternController.cs プロジェクト: w1r2p1/OsEngine
        /// <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);
            }
        }