public admin_user insert_admin_user()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    db.applications.InsertOnSubmit(app);

                    admin_user.app_id = app.app_id;

                    if (admin_user.login1 != null)
                    {
                        admin_user.login1.password = Utilities.MD5Encript.MD5Hash(admin_user.login1.password);
                    }
                    db.admin_users.InsertOnSubmit(admin_user);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_admin_user_By_AppId(admin_user.app_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public credit_type insert_credit_type()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    db.applications.InsertOnSubmit(app);
                    credit_type.App_id = app.app_id;
                    db.credit_types.InsertOnSubmit(credit_type);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_credit_type_By_AppId(credit_type.App_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public void saveChanges()
        {
            using (var db = new PlanningContext())
            {
                application data = null;

                if (!this._isCreateMode)
                {
                    var id = Convert.ToInt32(this.application_id.Text);
                    data = db.applications.Where(d => d.application_id == id).FirstOrDefault();
                    if (data == null)
                    {
                        this._mainInterface.statusText = $"ERROR: ID '{this.application_id.Text}' does not exist.";
                        return;
                    }
                }
                else
                {
                    data = new application();
                }

                data.application_id      = Convert.ToInt32(this.application_id.Text);
                data.name                = /**/ (this.name.Text);
                data.description         = /**/ (this.description.Text);
                data.application_version = Convert.ToInt32(this.application_version.Text);
                data.is_active           = (bool)this.is_active.IsChecked;


                if (this._isCreateMode)
                {
                    db.applications.Add(data);
                }
                db.SaveChanges();
            }
        }
Exemple #4
0
        public shop insert_shop()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    db.SubmitChanges();
                    shop.app_id = app.app_id;
                    shop.master_balance_sheets.Add(new master_balance_sheet {
                        App_id = Guid.NewGuid().ToString(), credit_balance = 0, netbalance = 0, online_credit = 0, sales_balance = 0
                    });
                    db.shops.InsertOnSubmit(shop);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_shop_By_AppId(shop.app_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
Exemple #5
0
 public ActionResult removeShortlist(int?app_id)
 {
     if (app_id.HasValue)
     {
         int         app_id_ = Convert.ToInt32(app_id);
         application app     = db.applications.Find(app_id_);
         if (app != null)
         {
             app.accept_status = 0;
             if (db.SaveChanges() > 0)
             {
                 return(RedirectToAction("interestedCandidates"));
             }
             else
             {
                 return(RedirectToAction("interestedCandidates"));
             }
         }
         return(RedirectToAction("interestedCandidates"));
     }
     else
     {
         return(HttpNotFound());
     }
 }
        public ActionResult Apply(int?id)
        {
            application app = new application();

            if (id != null)
            {
                cards                    card       = _entities.cards.Find(id);;
                List <COUNT>             counttList = _entities.COUNT.Where(c => c.ITEM_TYPE_ID == card.ITEM_TYPE_ID).ToList();
                Dictionary <int, String> countDic   = new Dictionary <int, string>();
                foreach (var i in counttList)
                {
                    string param = i.COUNT_VALUE + " " + i.PRICE + "руб/шт";
                    countDic.Add(i.Id, param);
                }
                ViewBag.count_id = new SelectList(_entities.COUNT, "Id", "COUNT_VALUE");
                //ViewBag.material_id = new SelectList(_entities.materials, "Id", "description");
                ViewBag.towns = new SelectList(_entities.Towns, "Id", "Name");
                app.vc_id     = card.Id;
                app.cards     = card;
                return(View(app));
            }
            else
            {
                return(View("error Apply get"));
            }
        }
        public shop_expense insert_shop_expense()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    db.SubmitChanges();
                    shop_expense.app_id = app.app_id;
                    db.shop_expenses.InsertOnSubmit(shop_expense);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_shop_expense_By_AppId(shop_expense.app_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public bank_list insert_bank_list()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    db.applications.InsertOnSubmit(app);
                    bank_list.app_id = app.app_id;
                    db.bank_lists.InsertOnSubmit(bank_list);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_bank_list_By_AppId(bank_list.app_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
 public bool AddNewApplication(application application)
 {
     try
     {
         _entities.application.Add(application);
         _entities.SaveChanges();
     }
     catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
     {
         Exception raise = dbEx;
         foreach (var validationErrors in dbEx.EntityValidationErrors)
         {
             foreach (var validationError in validationErrors.ValidationErrors)
             {
                 string message = string.Format("{0}:{1}",
                                                validationErrors.Entry.Entity.ToString(),
                                                validationError.ErrorMessage);
                 // raise a new exception nesting
                 // the current instance as InnerException
                 raise = new InvalidOperationException(message, raise);
             }
         }
         throw raise;
     }
     return(true);
 }
Exemple #10
0
        public login insert_login()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    login.password = Utilities.MD5Encript.MD5Hash(login.password);
                    db.applications.InsertOnSubmit(app);
                    login.App_id = app.app_id;
                    db.logins.InsertOnSubmit(login);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_login_By_AppId(login.App_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
Exemple #11
0
        public void CreateApplication()
        {
            var option = new DbContextOptionsBuilder <appcontext>()
                         .UseInMemoryDatabase(databaseName: "CreateApplication")
                         .Options;

            using (var context = new appcontext(option))
            {
                var application = new application();
                application.client                = new client();
                application.client.name           = "Flávio";
                application.client.cpf            = "04745578840";
                application.productfinancial      = new productfinancial();
                application.productfinancial.name = "Tesouro Direto";
                application.productfinancial.percentageyieldyear = 10;
                application.valueapplication = 5000;
                application.dateapplication  = DateTime.Now;

                var applicationservice = new applicationservice(context);
                applicationservice.CreateApplication(application);
            }

            using (var context = new appcontext(option))
            {
                Assert.Equal(1, context.applications.Count());
                Assert.Equal(1, context.clients.Single().id);
                Assert.Equal("Flávio", context.clients.Single().name);
                Assert.Equal("04745578840", context.clients.Single().cpf);
                Assert.Equal(1, context.productfinancials.Single().id);
                Assert.Equal("Tesouro Direto", context.productfinancials.Single().name);
                Assert.Equal(10.0m, context.productfinancials.Single().percentageyieldyear);
                Assert.Equal(5000m, context.applications.Single().valueapplication);
            }
        }
        public login_log insert_login_log()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    db.applications.InsertOnSubmit(app);
                    login_log.App_id = app.app_id;
                    db.login_logs.InsertOnSubmit(login_log);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_login_log_By_AppId(login_log.App_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
 protected virtual void EstimateAdvice(application.analysis.workData data,
                                       application.analysis.analysisResult advices, 
                                       decimal initCapAmt, decimal priceWeight, decimal feePerc, byte buy2SellInterval,
                                       data.tmpDS.tradeEstimateDataTable toTbl)
 {
     application.analysis.EstimateAdvice(data,advices, initCapAmt, priceWeight, feePerc, buy2SellInterval, toTbl);
 }
 public void Init(application.analysis.workData data,
                  application.analysis.analysisResult advices)
 {
     this.myAnalysisData = data;
     this.myTradeAdvices = advices;
     ReLoad();
 }
Exemple #15
0
        private master_transaction initializeDailySalesTransaction(string transcode, decimal amount)
        {
            transaction_category tranct = trancategory.SingleOrDefault(a => a.code == transcode);
            master_transaction   trans  = new master_transaction();

            trans.amount          = master_daily_sale.sales;
            trans.shop            = master_daily_sale.shop;
            trans.trans_timestamp = DateTime.Now;
            trans.details         = tranct.name + " For " + ((DateTime)master_daily_sale.date).ToShortDateString();
            trans.description     = tranct.name + " For " + ((DateTime)master_daily_sale.date).ToShortDateString();
            application app = new application
            {
                app_id = Guid.NewGuid().ToString()
            };

            trans.app_id = app.app_id;
            // master_balance_sheet sheet = dbmc.master_balance_sheets.SingleOrDefault(a => a.shop == master_daily_sale.shop);
            trans.balance_before = sheet != null ? sheet.sales_balance : Decimal.Zero;
            trans.posted_by      = master_daily_sale.posted_by;
            // transaction_category tc = dbmc.transaction_categories.SingleOrDefault(a => a.code == transcode);
            trans.trans_category = tranct.id;
            trans.trans_type     = (tranct.type == true)? 1 : 0;
            trans.amount         = amount;
            calulateBlanaceSheetAfterDailySalesAlter(tranct.type == false ? Decimal.Negate((decimal)trans.amount): (decimal)trans.amount);
            //trans.balance_after = Decimal.Add((decimal)trans.balance_before, (tc.type == false ? Decimal.Negate((decimal)trans.amount): (decimal)trans.amount));
            trans.balance_after = sheet.sales_balance;
            return(trans);
        }
Exemple #16
0
        public bool editApplication(string id, application inputApp)
        {
            //finner gammle application
            Application temp = db.Applications.FirstOrDefault(k => k.userid == id);

            if (temp == null)
            {
                return(false);
            }
            // endrer verdier
            temp.email     = inputApp.email;
            temp.phone     = inputApp.phone;
            temp.amount    = inputApp.amount;
            temp.months    = inputApp.months;
            temp.montlypay = inputApp.pay;


            try
            {
                // lagre kunden
                db.SaveChanges();
            }
            catch (Exception feil)
            {
                Console.Write(feil);
                return(false);
            }
            return(true);
        }
        public master_balance_sheet insert_master_balance_sheet()
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    application app = new application
                    {
                        app_id = Guid.NewGuid().ToString()
                    };
                    db.applications.InsertOnSubmit(app);
                    master_balance_sheet.App_id = app.app_id;
                    db.master_balance_sheets.InsertOnSubmit(master_balance_sheet);
                    db.SubmitChanges();

                    scope.Complete();
                }


                return(find_master_balance_sheet_By_AppId(master_balance_sheet.App_id));
            }
            catch (Exception)
            {
                return(null);
            }
        }
Exemple #18
0
        public HashSet <tModel> createWADLPortTypeTModels(String wadlURL, application app)
        {
            HashSet <tModel> tModels = new HashSet <tModel>();

            // Create a tModel for each portType

            return(tModels);
        }
Exemple #19
0
        public ActionResult disableApp(int app_id)
        {
            application job = db.applications.Find(app_id);

            job.status = (job.status + 1) % 2;
            db.SaveChanges();
            return(RedirectToAction("applications", "backend"));
        }
Exemple #20
0
        public ActionResult DeleteConfirmed(int id)
        {
            application application = db.applications.Find(id);

            db.applications.Remove(application);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #21
0
        public override global::System.Data.DataSet Clone()
        {
            application cln = ((application)(base.Clone()));

            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return(cln);
        }
Exemple #22
0
        public DeviceInfoControl(application app)
        {
            InitializeComponent();

            this.labelID.Content    = $"{app.application_id}";
            this.labelIndex.Content = $"{app.bit_index}";
            this.labelName.Content  = $"{app.description}";
        }
Exemple #23
0
        public string Put([FromBody] application app)
        {
            app.status = "rejected";

            hle.Entry(app).State = System.Data.Entity.EntityState.Modified;
            hle.SaveChanges();

            return("loan has been rejected");
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            application application = await db.application.FindAsync(id);

            db.application.Remove(application);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Exemple #25
0
        public ApplicationInfoControl(application app)
        {
            InitializeComponent();

            this.labelID.Content    = $"{app.application_id}";
            this.labelIndex.Content = $"{app.bit_index}";
            this.labelName.Content  = app.description;
            this.labelPath.Content  = app.path_to_output_file;
        }
 public static int DeleteApp(int appId, int ownerId)
 {
     using (DALContext cnx = new DALContext())
     {
         application app = cnx.application.Where(x => x.id == appId && x.owner_id == ownerId).FirstOrDefault();
         cnx.application.DeleteObject(app);
         return(cnx.SaveChanges());
     }
 }
        protected bool Validate(application application)
        {
            if (application.count_id <= 0)
            {
                ModelState.AddModelError("Count", "Count field shouldn't be empty");
            }

            return(ModelState.IsValid);
        }
Exemple #28
0
        public application Application(BettingSuiteDataContext db)
        {
            application app = new application
            {
                app_id = Guid.NewGuid().ToString()
            };

            db.applications.InsertOnSubmit(app);
            return(app);
        }
        public application Application()
        {
            application app = new application
            {
                app_id = Guid.NewGuid().ToString()
            };

            db.applications.InsertOnSubmit(app);
            return(app);
        }
Exemple #30
0
 public Application(application item)
 {
     Id                   = item.id;
     SeekerId             = item.seeker_id;
     PositionId           = item.position_id;
     Status               = (Enums.ApplicationStatuses)item.status_id;
     ApplicationStartDate = item.application_start_date;
     LastUpdated          = item.last_updated.GetValueOrDefault();
     Active               = item.active.GetValueOrDefault();
 }
Exemple #31
0
        public void getPublicInfoTest1()
        {
            API         parent = _api;
            application target = _api.application;
            app_info    actual;

            actual = target.getPublicInfo();
            Assert.AreEqual(actual.api_key, Constants.FBSamples_ApplicationKey);
            Assert.IsNotNull(actual.display_name);
        }
Exemple #32
0
        //private void LodgeCommission(master_transaction master_transaction, transaction_category tran)
        //{
        //    commission_balance balance = db.commission_balances.SingleOrDefault(a => a.shop == master_transaction.shop);

        //    if (balance == null)
        //    {
        //        balance = new commission_balance
        //        {
        //            shop = master_transaction.shop.Value,
        //            balance = 0

        //        };
        //    }

        //    transaction_category commtran = null;
        //    if (tran.code == "CR")
        //    {
        //        commtran = db.transaction_categories.SingleOrDefault(a => a.code == "CTR");
        //    }
        //    else if (tran.code == "C")
        //    {
        //        commtran = db.transaction_categories.SingleOrDefault(a => a.code == "CT");
        //    }
        //    commission_transaction ctran = new commission_transaction
        //    {
        //        amount = master_transaction.amount,
        //        balance_after = getbal(balance.balance, master_transaction.amount, commtran),
        //        balance_before = balance.balance,
        //        description = master_transaction.details,
        //        details = master_transaction.details,
        //        posted_by = master_transaction.posted_by,
        //        shop = master_transaction.shop,
        //        trans_category = commtran.id,
        //        trans_timestamp = master_transaction.trans_timestamp,
        //        trans_type = commtran.type == true ? 1 : 0
        //    };

        //    balance.balance = getbal(balance.balance, master_transaction.amount, commtran).Value;


        //    using (TransactionScope scope = new TransactionScope())
        //    {
        //        if (balance.app_id == null)
        //        {
        //            balance.app_id = getAppID().app_id;
        //            db.commission_balances.InsertOnSubmit(balance);
        //        }
        //        ctran.app_id = getAppID().app_id;
        //        db.commission_transactions.InsertOnSubmit(ctran);
        //        db.SubmitChanges();
        //        scope.Complete();

        //    }



        //}

        public WgbSalesUpload.application getAppID()
        {
            application app = new application
            {
                app_id = Guid.NewGuid().ToString()
            };

            db.applications.InsertOnSubmit(app);
            return(app);
        }
Exemple #33
0
        override public TradePoints Execute(application.Data data, int[] parameters)
        {
            //application.Data vnidxData1 =  data.New("^VNINDEX");
            
            adviceInfo = new TradePoints();
            DataSeries minusDmi_14 = new Indicators.MinusDI(data.Bars, parameters[0], "");
            DataSeries plusDmi_14 = new Indicators.PlusDI(data.Bars, parameters[1], "");

            AppTypes.MarketTrend lastTrend = AppTypes.MarketTrend.Unspecified;
            AppTypes.MarketTrend currentTrend = AppTypes.MarketTrend.Unspecified;

            for (int idx = 0; idx < minusDmi_14.Count; idx++)
            {

                currentTrend = ((plusDmi_14[idx] > minusDmi_14[idx]) ? AppTypes.MarketTrend.Upward : AppTypes.MarketTrend.Downward);
                if (lastTrend == AppTypes.MarketTrend.Downward && currentTrend == AppTypes.MarketTrend.Upward)
                    BuyAtClose(idx);
                if (lastTrend == AppTypes.MarketTrend.Upward && currentTrend == AppTypes.MarketTrend.Downward)
                    SellAtClose(idx);
                lastTrend = currentTrend;
            }
            return adviceInfo;

        }
        private void DrawCurveIndicator(application.Indicators.Meta meta)
        {
            //Indicators.Meta meta = Indicators.Libs.FindMetaByName(indicatorName);
            string curveName = constCurveNamePrefixIndicator + meta.ClassType.Name + "-" + meta.ParameterString;
            //Remove the old one if any
            if (this.CurrentEditCurveName.Trim() != "")
            {
                RemoveCurveIndicator(this.CurrentEditCurveName, true);
                this.CurrentEditCurveName = curveName;
            }

            baseClass.controls.graphPanel myGraphPanel = (meta.DrawInNewWindow ? this.newPanel : this.pricePanel);

            DataSeries indicatorSeries = application.Indicators.Libs.GetIndicatorData(this.myData, meta);
            this.myData.DateTime.FirstValidValue = indicatorSeries.FirstValidValue;
            switch (meta.Output[0].ChartType)
            {
                case AppTypes.ChartTypes.Bar:
                     PlotCurveBar(curveName,myGraphPanel, this.myData.DateTime, indicatorSeries,
                                  meta.Output[0].Color, Color.Black, meta.Output[0].Weight );
                     break;
                case AppTypes.ChartTypes.Line:
                     PlotCurveLine(curveName, myGraphPanel,this.myData.DateTime, indicatorSeries,
                                   meta.Output[0].Color, meta.Output[0].Weight);
                    break;
            }
            // Some indicator such as MACD having more than one output series.
            // In such case, indicator form MUST have [form.ExtraInfo] propery to provide information for the output series. 
            DataSeries[] extraSeries = null;
            if (meta.Output.Length > 1) extraSeries = application.Indicators.Libs.GetIndicatorData(indicatorSeries, meta);
            if (extraSeries != null)
            {
                for (int idx = 0, metaIdx = 1; idx < extraSeries.Length && metaIdx < meta.Output.Length; idx++, metaIdx++)
                {
                    this.myData.DateTime.FirstValidValue = extraSeries[idx].FirstValidValue;
                    curveName = constCurveNamePrefixIndicator + meta.ClassType.Name + "-" + meta.ParameterString + "-" + idx.ToString();
                    switch (meta.Output[metaIdx].ChartType)
                    {
                        case AppTypes.ChartTypes.Bar:
                            PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, extraSeries[idx],
                                         meta.Output[metaIdx].Color, Color.Black, meta.Output[metaIdx].Weight);
                            break;
                        case AppTypes.ChartTypes.Line:
                            PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, extraSeries[idx],
                                                    meta.Output[metaIdx].Color, meta.Output[metaIdx].Weight);
                            break;

                    }
                }
            }

            if (meta.DrawInNewWindow)
                newPanel.myGraphObj.myViewportX = pricePanel.myGraphObj.myViewportX;

            string paraStr = meta.ParameterString;
            curveName = constCurveNamePrefixIndicator + meta.ClassType.Name + "-" + paraStr;
            string text = meta.ClassType.Name + (paraStr == "" ? "" : "(" + paraStr + ")");
            ListViewItem item = activeIndicatorLV.Add(curveName, text, meta.Output[0].Color);
            item.Tag = new IndicatorCurveInfo(curveName,meta);
        }
        public void PlotStrategyTradepoints(application.Strategy.Meta meta, bool showEstimation)
        {
            ShowMessage("");
            EstimateOptions estOption = new EstimateOptions();
            data.tmpDS.tradeEstimateDataTable tbl = new data.tmpDS.tradeEstimateDataTable();
            TradePointInfo[] tradePoints = DataAccess.Libs.GetTradePointWithEstimationDetail(myData.DataTimeRange,myData.DataTimeScale.Code,myData.DataStockCode,meta.Code,
                                                                                             estOption, out tbl); 
            /// Estimate trade points and set tradepoint's [isValid] property to mark whether a tradepoint is valid or not.
            for (int idx = 0; idx < tradePoints.Length; idx++)
            {
                tradePoints[idx].isValid = !tbl[idx].ignored; 
            }
            PlotStrategyTradepoints(application.Strategy.Libs.ToTradePoints(tradePoints), pricePanel);

            //Call estimation handler if any.
            if (showEstimation && myEstimateTradePoints != null) 
                myEstimateTradePoints(this,meta.Code,estOption, tbl);
        }
        /// <summary>
        /// 
        /// </summary>

        protected void PlotStrategyTradepoints(application.Strategy.Data.TradePoints tradePoints, baseClass.controls.graphPanel toPanel)
        {
            ClearStrategyTradepoints(toPanel);
            Charts.DrawCurve[] curveList = myCurveList.CurveInPane(toPanel.Name);
            if (curveList.Length == 0) return;
            CurveItem curveItem = curveList[0].Curve;

            TradePointInfo tradePointInfo;
            for (int idx = 0; idx < tradePoints.Count; idx++)
            {
                tradePointInfo = (TradePointInfo)tradePoints[idx];
                if (!tradePointInfo.isValid) continue;

                TextObj obj = new TextObj();
                obj.FontSpec.Size = Settings.sysTradePointMarkerFontSize;
                obj.FontSpec.IsBold = true;
                obj.FontSpec.Border.IsVisible = true;
                obj.FontSpec.Fill.IsVisible = true;
                obj.FontSpec.Fill.Color = Settings.sysTradePointMarkerColorBG;
                switch (toPanel.myGraphObj.myViewportState.myAxisType)
                {
                    case Charts.AxisType.DateAsOrdinal :
                        obj.Location.X = tradePointInfo.DataIdx+1; 
                        break;
                    default:
                        obj.Location.X = curveItem.Points[tradePointInfo.DataIdx].X;
                        break;
                }
                obj.Location.Y = curveItem.Points[tradePointInfo.DataIdx].Y;
                obj.Location.CoordinateFrame = CoordType.AxisXYScale;
                obj.Location.AlignH = AlignH.Center;
                switch (tradePointInfo.TradeAction)
                {
                    case AppTypes.TradeActions.Buy:
                    case AppTypes.TradeActions.Accumulate:
                        obj.Text = Settings.sysTradePointMarkeBUY;
                        obj.FontSpec.FontColor = Settings.sysTradePointMarkerColorBUY;
                        break;
                    case AppTypes.TradeActions.Sell:
                    case AppTypes.TradeActions.ClearAll:
                        obj.Text = Settings.sysTradePointMarkerSELL;
                        obj.FontSpec.FontColor = Settings.sysTradePointMarkerColorSELL;
                        break;
                    default:
                        obj.Text = Settings.sysTradePointMarkerOTHER;
                        obj.FontSpec.FontColor = Settings.sysTradePointMarkerColorOTHER;
                        break;
                }
                toPanel.myGraphObj.myGraphPane.GraphObjList.Add(obj);
            }
            toPanel.myGraphObj.UpdateChart();
        }
 public IndicatorCurveInfo(string curveName, application.Indicators.Meta metaData)
 {
     CurveName = curveName;
     meta = metaData;
 }
Exemple #38
0
 private CurveItem PlotCandleStick(string curveName, Charts.Controls.baseGraphPanel graphPane, application.AnalysisData data,
                                   Color barUpColor, Color barDnColor, Color bullCandleColor, Color bearCandleColor)
 {
     pricePane.myGraphObj.SetSeriesX(data.DateTime.Values, Charts.AxisType.DateAsOrdinal);
     CurveItem curveItem = graphPane.myGraphObj.AddCandleStick(curveName, data.High.Values, data.Low.Values, data.Open.Values, data.Close.Values, data.Volume.Values,
                                                               barUpColor, barDnColor, bullCandleColor, bearCandleColor);
     return curveItem;
 }
 private void onGotData(application.importLibs.importStat stat)
 {
     if (fCanceled) stat.cancel =true;
     this.ShowMessage(stat.updateCount.ToString() + "/" + stat.errorCount.ToString() + "/" + stat.dataCount.ToString(),"Import");
 }
        /// <summary>
        /// Draw curve for indicator
        /// </summary>
        /// <param name="meta"></param>
        private void DrawCurveIndicator(application.Indicators.Meta meta)
        {
            //Indicators.Meta meta = Indicators.Libs.FindMetaByName(indicatorName);
            string curveName = constCurveNamePrefixIndicator + meta.ClassType.Name + "-" + meta.ParameterString;
            string paraStr = meta.ParameterString;
            if (paraStr == string.Empty)
            {
                curveName = meta.ClassType.Name;
            }
            else
            {
                curveName = meta.ClassType.Name + "-" + paraStr;
            }
            //Remove the old one if any
            if (this.CurrentEditCurveName.Trim() != "")
            {
                RemoveCurveIndicator(this.CurrentEditCurveName, true);
                this.CurrentEditCurveName = curveName;
            }
            //Determine panel for drawing.
            //TUAN-BEGIN
            baseClass.controls.graphPanel myGraphPanel = null;
            myGraphPanel = myNewPanelList.Find(meta.SelectedWindowName);
            if (myGraphPanel == null)
            {
                myGraphPanel = CreateNewPanel(MakeNewPanelName(curveName));
            }
            //TUAN-END

            //DataValues[] indicatorValue = DataAccess.Libs.GetIndicatorData(myData.DataStockCode,myData.myDataParam, meta.ClassType.Name);
            //TUAN - fix bug - SMA 5 and 10 are the same curve line data when draw both of them.
            DataValues[] indicatorValue = application.Indicators.Libs.GetIndicatorData(myData, meta);
            this.myData.DateTime.FirstValidValue = indicatorValue[0].FirstValidValue;
            for (int idx = 0; idx < indicatorValue.Length; idx++)
            {
                curveName = constCurveNamePrefixIndicator + meta.ClassType.Name + "-" + meta.ParameterString + "-" + idx.ToString();
                switch (meta.Output[idx].ChartType)
                {
                    case AppTypes.ChartTypes.Bar:
                        PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, indicatorValue[idx],
                                     meta.Output[idx].Color, Color.Black, meta.Output[idx].Weight);
                        break;
                    case AppTypes.ChartTypes.Line:
                        PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, indicatorValue[idx],
                                      meta.Output[idx].Color, meta.Output[idx].Weight);
                        break;
                }
            }

            myGraphPanel.myGraphObj.myViewportX = pricePanel.myGraphObj.myViewportX;

            string text = meta.ClassType.Name + (paraStr == "" ? "" : "(" + paraStr + ")");
            ListViewItem item = activeIndicatorLV.Add(curveName, text, meta.Output[0].Color);
            item.Tag = new IndicatorCurveInfo(curveName,meta);
        }
        public void PlotStrategyTradepoints(application.Strategy.StrategyMeta meta, bool showEstimation, EstimateTradePointFunc estimateFunc)
        {
            int idx;
            ShowMessage("");
            EstimateOptions estOption = new EstimateOptions();
            databases.tmpDS.tradeEstimateDataTable tbl = new databases.tmpDS.tradeEstimateDataTable();
            application.StrategyStatistics statistics=new StrategyStatistics();
            //TradePointInfo[]
            tradePoints = DataAccess.Libs.GetTradePointWithEstimationDetail(myData.myDataParam,myData.DataStockCode,meta.Code,
                                                                                             estOption, out tbl,out statistics);
            /// Estimate trade points and set tradepoint's [isValid] property to mark whether a tradepoint is valid or not.
            for (idx = 0; idx < tradePoints.Length; idx++)
            {
                tradePoints[idx].isValid = !tbl[idx].ignored;
            }

            for (idx = tradePoints.Length - 1; idx > 0; idx--)
                if (tradePoints[idx].isValid) break;

            TradePointInfo tpiTradePointInfo = (TradePointInfo)tradePoints[idx];
            BusinessInfo biLastTrade = tpiTradePointInfo.BusinessInfo;
            BusinessInfo biLastPoint=tradePoints[tradePoints.Length-1].BusinessInfo;

            double price= myData.Close[myData.Close.Count-1];
            double risk = (biLastPoint.Short_Resistance - price) / (price - biLastPoint.Short_Support);
            //string sResult = "Close price=" + price+
            //                 "Target="+biLastTrade.Short_Target+
            //                 "Resistance=" + biLastPoint.Short_Resistance +
            //                 " Support=" + biLastPoint.Short_Support +
            //                 " Risk return=" +risk+
            //                 " Winning Percentage:"+ String.Format("{0:P2}",statistics.dWinningPercentagePerTrade)+
            //                 " Max %Win Per Trade:" +  String.Format("{0:P2}",statistics.dMaxWinningPercentage)+
            //                 " Max %Lose Per Trade" + String.Format("{0:P2}", statistics.dMaxLosingPercentage)+
            //                 " Average %Win Per Trade" + String.Format("{0:P2}", statistics.dAverageWinningPercentage)+
            //                 " Average %Lose Per Trade" + String.Format("{0:P2}", statistics.dAverageLosingPercentage); ;

            PlotStrategyTradepoints(application.Strategy.StrategyLibs.ToTradePoints(tradePoints), pricePanel);

            //MessageBox.Show(sResult);
            //Show form
            //Tools.Forms.TradeStatistics formStatistic = (client.main)this.ParentForm;
            if (formStatistic == null)
            {
                formStatistic = new Tools.Forms.TradeStatistics();
                formStatistic.AddStatisticInfo("Close price", price);
                formStatistic.AddStatisticInfo("Target", biLastTrade.Short_Target);
                formStatistic.AddStatisticInfo("Resistance", biLastPoint.Short_Resistance);
                formStatistic.AddStatisticInfo("Support", biLastPoint.Short_Support);
                formStatistic.AddStatisticInfo("Risk return", String.Format("{0:0.0%}", risk));
                formStatistic.AddStatisticInfo("Winning Percentage", String.Format("{0:0.0%}", statistics.dWinningPercentagePerTrade));
                formStatistic.AddStatisticInfo("Max %Win Per Trade", String.Format("{0:0.0%}", statistics.dMaxWinningPercentage));
                formStatistic.AddStatisticInfo("Max %Lose Per Trade", String.Format("{0:0.0%}", statistics.dMaxLosingPercentage));
                formStatistic.AddStatisticInfo("Average %Win Per Trade", String.Format("{0:0.0%}", statistics.dAverageWinningPercentage));
                formStatistic.AddStatisticInfo("Average %Lose Per Trade", String.Format("{0:0.0%}", statistics.dAverageLosingPercentage));

                formStatistic.Show(this.DockPanel, DockState.DockRight);
            }
            else
            {
                formStatistic.ReAssignInfo(0,price);
                formStatistic.ReAssignInfo(1, biLastTrade.Short_Target);
                formStatistic.ReAssignInfo(2, biLastPoint.Short_Resistance);
                formStatistic.ReAssignInfo(3, biLastPoint.Short_Support);
                formStatistic.ReAssignInfo(4, String.Format("{0:0.0%}", risk));
                formStatistic.ReAssignInfo(5, String.Format("{0:0.0%}", statistics.dWinningPercentagePerTrade));
                formStatistic.ReAssignInfo(6, String.Format("{0:0.0%}", statistics.dMaxWinningPercentage));
                formStatistic.ReAssignInfo(7, String.Format("{0:0.0%}", statistics.dMaxLosingPercentage));
                formStatistic.ReAssignInfo(8, String.Format("{0:0.0%}", statistics.dAverageWinningPercentage));
                formStatistic.ReAssignInfo(9, String.Format("{0:0.0%}", statistics.dAverageLosingPercentage));
                formStatistic.Refresh();
            }
            //Call estimation handler if any.
            if (showEstimation && estimateFunc != null)
                estimateFunc(this, meta.Code, estOption, tbl);
        }
 public void SetFilterStatus(application.myTypes.commonStatus status)
 {
     myAlertFilterForm.myStatus =  status;
 }
 public TradePointInfo[] GetTradePointWithEstimationDetail(DataParams dataParam,string stockCode, string strategyCode, EstimateOptions options,
     out databases.tmpDS.tradeEstimateDataTable toTbl, out application.StrategyStatistics statistics)
 {
     toTbl = null;
     statistics = null;
     try
     {
         string dataKey = LoadAnalysisData(stockCode, dataParam, false);
         TradePointInfo[] tradePoints = Analysis(dataKey, strategyCode);
         statistics = new application.StrategyStatistics();
         toTbl = application.Strategy.StrategyLibs.EstimateTrading_Details(sysDataCache.Find(dataKey) as application.AnalysisData, tradePoints, options,out statistics);
         return tradePoints;
     }
     catch (Exception ex)
     {
         WriteSysLogLocal("WS083", ex);
     }
     return null;
 }
Exemple #44
0
 public static TradePointInfo[] GetTradePointWithEstimationDetail(DataParams dataParam,string stockCode, string strategyCode, 
                                                                  EstimateOptions options,out databases.tmpDS.tradeEstimateDataTable toTbl,
                                                                     out application.StrategyStatistics statistics)
 {
     try
     {
         lock (myClient)
         {
             return myClient.GetTradePointWithEstimationDetail(out toTbl,out statistics, dataParam, stockCode, strategyCode, options);
         }
     }
     catch (Exception er)
     {
         toTbl = null;
         statistics = null;
         if (OnError != null) OnError(er);
     }
     return null;
 }
        private application.forms.baseIndicatorForm GetIndicatorForm(application.Indicators.Meta meta)
        {
            if (meta == null) return null;
            application.forms.baseIndicatorForm form = null;

            form = (application.forms.baseIndicatorForm)this.indicatorFormCache.Find(meta.ClassType.Name);
            if (form == null || form.IsDisposed)
            {
                form = application.Indicators.Libs.GetIndicatorForm(meta);
                form.Text = meta.Name;
                form.onPlotChart += new application.forms.baseIndicatorForm.PlotChart(IndicatorFormHandler);
            }
            this.indicatorFormCache.Add(meta.ClassType.Name, form);
            return form;
        }
        private application.forms.baseIndicatorForm GetIndicatorForm(application.Indicators.Meta meta)
        {
            if (meta == null) return null;
            application.forms.baseIndicatorForm form = null;

            form = (application.forms.baseIndicatorForm)this.indicatorFormCache.Find(meta.ClassType.Name);
            if (form == null || form.IsDisposed)
            {
                form = application.Indicators.Libs.GetIndicatorForm(meta);
                form.Text = meta.Name;
                form.onPlotChart += new application.forms.baseIndicatorForm.PlotChart(IndicatorFormHandler);
            }
            //TUAN update list new windows on indicator form
            else
            {
                if (form.GetType().Equals(typeof(application.forms.commonIndicatorForm)))
                {
                    ((application.forms.commonIndicatorForm)(form)).updateFormFromMeta(meta);
                }
            }
            //TUAN
            this.indicatorFormCache.Add(meta.ClassType.Name, form);
            return form;
        }
 //IndicatorFormHandler : Draw / Remove indicator's curves
 private void IndicatorFormHandler(application.forms.baseIndicatorForm indicatorForm, bool removeChart)
 {
     if (removeChart)
     {
         string curveName = constCurveNamePrefixIndicator + indicatorForm.FormMeta.ClassType.Name + "-" +
                            indicatorForm.FormMeta.ParameterString;
         RemoveCurveIndicator(curveName, true);
     }
     else
     {
         DrawCurveIndicator(indicatorForm.FormMeta);
     }
     UpdateChart();
 }
Exemple #48
0
        private void DrawCurveIndicator(application.Indicators.Meta meta)
        {
            pricePane.myGraphObj.myGraphPane.CurveList.Clear();

            //Indicators.Meta meta = Indicators.Libs.FindMetaByName(indicatorName);
            string curveName = meta.ClassType.Name + "-" + meta.ParameterString;
            Charts.Controls.baseGraphPanel myGraphPanel = pricePane;

            commonClass.DataSeries indicatorSeries = application.Indicators.Libs.GetIndicatorData(this.myData, meta);
            this.myData.DateTime.FirstValidValue = indicatorSeries.FirstValidValue;
            switch (meta.Output[0].ChartType)
            {
                case commonClass.AppTypes.ChartTypes.Bar:
                    PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries,
                                 meta.Output[0].Color, Color.Black, meta.Output[0].Weight);
                    break;
                case commonClass.AppTypes.ChartTypes.Line:
                    PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries,
                                  meta.Output[0].Color, meta.Output[0].Weight);
                    break;
            }
            // Some indicator such as MACD having more than one output series.
            // In such case, indicator form MUST have [form.ExtraInfo] propery to provide information for the output series. 
            commonClass.DataSeries[] extraSeries = null;
            if (meta.Output.Length > 1) extraSeries = application.Indicators.Libs.GetIndicatorData(indicatorSeries, meta);
            if (extraSeries != null)
            {
                for (int idx = 0, metaIdx = 1; idx < extraSeries.Length && metaIdx < meta.Output.Length; idx++, metaIdx++)
                {
                    this.myData.DateTime.FirstValidValue = extraSeries[idx].FirstValidValue;
                    curveName = meta.ClassType.Name + "-" + meta.ParameterString + "-" + idx.ToString();
                    switch (meta.Output[metaIdx].ChartType)
                    {
                        case commonClass.AppTypes.ChartTypes.Bar:
                            PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, extraSeries[idx],
                                         meta.Output[metaIdx].Color, Color.Black, meta.Output[metaIdx].Weight);
                            break;
                        case commonClass.AppTypes.ChartTypes.Line:
                            PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, extraSeries[idx],
                                                    meta.Output[metaIdx].Color, meta.Output[metaIdx].Weight);
                            break;

                    }
                }
            }
            pricePane.myGraphObj.DefaultViewport();
            pricePane.myGraphObj.UpdateChart(); 
        }
Exemple #49
0
        private void DrawCurveIndicator(application.Indicators.Meta meta)
        {
            pricePane.myGraphObj.myGraphPane.CurveList.Clear();

            //Indicators.Meta meta = Indicators.Libs.FindMetaByName(indicatorName);
            string curveName = meta.ClassType.Name + "-" + meta.ParameterString;
            Charts.Controls.baseGraphPanel myGraphPanel = pricePane;

            commonClass.DataValues[] indicatorSeries = application.Indicators.Libs.GetIndicatorData(this.myData, meta);
            for (int idx = 0, metaIdx = 1; idx < indicatorSeries.Length && metaIdx < meta.Output.Length; idx++, metaIdx++)
            {
                this.myData.DateTime.FirstValidValue = indicatorSeries[idx].FirstValidValue;
                curveName = meta.ClassType.Name + "-" + meta.ParameterString + "-" + idx.ToString();
                switch (meta.Output[metaIdx].ChartType)
                {
                    case AppTypes.ChartTypes.Bar:
                        PlotCurveBar(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries[idx],
                                     meta.Output[metaIdx].Color, Color.Black, meta.Output[metaIdx].Weight);
                        break;
                    case AppTypes.ChartTypes.Line:
                        PlotCurveLine(curveName, myGraphPanel, this.myData.DateTime, indicatorSeries[idx],
                                                meta.Output[metaIdx].Color, meta.Output[metaIdx].Weight);
                        break;

                }
            }
            pricePane.myGraphObj.DefaultViewport();
            pricePane.myGraphObj.UpdateChart(); 
        }
 private void onAggregateData(application.importLibs.agrregateStat stat)
 {
     if (fCanceled) stat.cancel = true;
     this.ShowMessage(stat.count.ToString() + "/" + stat.maxCount.ToString(),"Aggregate");
 }