private void openMenuItem_Click(object sender, EventArgs e) { try { string stockCode; if (resultDataGrid.SelectedRows.Count > 0) { for (int idx = 0; idx < resultDataGrid.SelectedRows.Count; idx++) { stockCode = resultDataGrid.SelectedRows[idx].Cells[0].Value.ToString(); //ShowStock(stockCode, Settings.sysScreeningTimeRange, Settings.sysScreeningTimeScale); ShowStock(stockCode, Settings.sysGlobal.DefaultTimeRange, AppTypes.TimeScaleFromCode(Settings.sysGlobal.ScreeningTimeScaleCode)); } } else { if (resultDataGrid.CurrentRow != null) { stockCode = resultDataGrid.CurrentRow.Cells[0].Value.ToString(); //ShowStock(stockCode, Settings.sysScreeningTimeRange, Settings.sysScreeningTimeScale); ShowStock(stockCode, Settings.sysGlobal.DefaultTimeRange, AppTypes.TimeScaleFromCode(Settings.sysGlobal.ScreeningTimeScaleCode)); } } } catch (Exception er) { this.ShowError(er); } }
//Create from analysis data for all enable stocks //private MarketData Create1() //{ // commonClass.BaseAnalysisData stockData = new commonClass.BaseAnalysisData(AppTypes.TimeRanges.Y1, // AppTypes.TimeScaleFromCode("D1"), "SSI", // AppTypes.DataAccessMode.WebService); // return new MarketData(stockData); //} //Create from analysis data for stocks : ACB, FPT //private MarketData Create2() //{ // StringCollection list = new StringCollection(); // list.AddRange(new string[] { "ACB", "FPT" }); // commonClass.BaseAnalysisData stockData = new commonClass.BaseAnalysisData(AppTypes.TimeRanges.Y1, // AppTypes.TimeScaleFromCode("D1"), "SSI", // AppTypes.DataAccessMode.WebService); // return new MarketData(stockData); //} //Create in specific time range and time scale for stocks : ACB, FPT private MarketData Create3() { StringCollection list = new StringCollection(); list.AddRange(new string[] { "ACB", "FPT" }); return(new MarketData(AppTypes.TimeRanges.Y1, AppTypes.TimeScaleFromCode("D1"), list)); }
public override void SetLanguage() { base.SetLanguage(); menuStrip.Text = Languages.Libs.GetString("screening"); mainMenuItem.Text = Languages.Libs.GetString("screening"); runMenuItem.Text = Languages.Libs.GetString("run"); fullViewMenuItem.Text = Languages.Libs.GetString("fullView"); exportResultMenuItem.Text = Languages.Libs.GetString("exportResult"); openMenuItem.Text = Languages.Libs.GetString("openChart"); addToWatchListMenuItem.Text = Languages.Libs.GetString("addToWatchList"); this.Text = Languages.Libs.GetString("screening"); maxDataCountLbl.Text = Languages.Libs.GetString("noDataBars"); timeScaleLbl.Text = Languages.Libs.GetString("timeScale"); //criteriaLbl.Text = Languages.Libs.GetString("criteria"); codeListLbl.Text = Languages.Libs.GetString("codeList"); codeColumn.HeaderText = Languages.Libs.GetString("criteria"); minColumn.HeaderText = Languages.Libs.GetString("min"); maxColumn.HeaderText = Languages.Libs.GetString("max"); timeScaleCb.LoadData(); dataCounEd.Value = Settings.sysGlobal.ScreeningDataCount; timeScaleCb.myValue = AppTypes.TimeScaleFromCode(Settings.sysGlobal.ScreeningTimeScaleCode); stockCodeLb.SetLanguage(); LoadScreeningCodes(); CreateContextMenu(); }
public List <decimal[]> Estimate_Matrix_Profit(AppTypes.TimeRanges timeRange, string timeScaleCode, string[] stockCodeList, string[] strategyList, EstimateOptions option) { return(application.Strategy.Libs.Estimate_Matrix_Profit(timeRange, AppTypes.TimeScaleFromCode(timeScaleCode), common.system.List2Collection(stockCodeList), common.system.List2Collection(strategyList), option)); }
/// <summary> /// Get data and store in cache. Depend on forceReadNew, cached data can be used to boost perfomance /// </summary> /// <param name="timeRange"></param> /// <param name="timeScaleCode"></param> /// <param name="code"></param> /// <param name="forceReadNew"> if true always read from database, ignore the cached data</param> /// <returns>Data key used for data accessing</returns> public string LoadAnalysisData(AppTypes.TimeRanges timeRange, string timeScaleCode, string code, bool forceReadNew) { string cacheName = MakeCacheKey(timeRange, timeScaleCode, code); if (forceReadNew || sysDataCache.Find(cacheName) == null) { AnalysisData myData = new AnalysisData(timeRange, AppTypes.TimeScaleFromCode(timeScaleCode), code, DataAccessMode.Local); sysDataCache.Add(cacheName, myData); } return(cacheName); }
private void dataGrid_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) { try { if (resultDataGrid.CurrentRow == null) { return; } string stockCode = resultDataGrid.CurrentRow.Cells[0].Value.ToString(); if (e.ColumnIndex == 0) { //ShowStock(stockCode, Settings.sysScreeningTimeRange, Settings.sysScreeningTimeScale); ShowStock(stockCode, Settings.sysGlobal.DefaultTimeRange, AppTypes.TimeScaleFromCode(Settings.sysGlobal.ScreeningTimeScaleCode)); return; } } catch (Exception er) { this.ShowError(er); } }
private void LoadSettings() { //General accessLogMediaCb.myValue = Settings.sysGlobal.WriteLogAccess; passwordMinLenEd.Value = Settings.sysGlobal.PasswordMinLen; useStrongPassChk.Checked = Settings.sysGlobal.UseStrongPassword; dayScanForLastPriceEd.myValue = Settings.sysGlobal.DayScanForLastPrice; alertDataCountEd.myValue = Settings.sysGlobal.AlertDataCount; chartMaxLoadFirstEd.myValue = Settings.sysGlobal.ChartMaxLoadCount_FIRST; chartMaxLoadNextEd.myValue = Settings.sysGlobal.ChartMaxLoadCount_MORE; //Auto number sysDataKeyPrefixEd.Text = Settings.sysGlobal.DataKeyPrefix; sysAutoDataKeySizeEd.myValue = Settings.sysGlobal.DataKeySize; sysAutoEditKeySizeEd.myValue = Settings.sysGlobal.AutoEditKeySize; timeOutAutoKeyEd.Value = Settings.sysGlobal.TimeOut_AutoKey; //email smtpServerEd.Text = Settings.sysGlobal.smtpAddress; smtpPortEd.Text = Settings.sysGlobal.smtpPort.ToString(); smtpAuthAccountEd.Text = (Settings.sysGlobal.smtpAuthAccount == null ? "" : Settings.sysGlobal.smtpAuthAccount); smtpAuthPasswordEd.Text = (Settings.sysGlobal.smtpAuthPassword == null ? "" : Settings.sysGlobal.smtpAuthPassword); smtpSSLChk.Checked = Settings.sysGlobal.smtpSSL; //Default defaLanguageCb.myValue = Settings.sysGlobal.DefautLanguage; defaTimeRangeCb.myValue = Settings.sysGlobal.DefaultTimeRange; defaTimeScaleCb.myValue = AppTypes.TimeScaleFromCode(Settings.sysGlobal.DefaultTimeScaleCode); screenDataCountEd.Value = Settings.sysGlobal.ScreeningDataCount; screenTimeScaleCb.myValue = AppTypes.TimeScaleFromCode(Settings.sysGlobal.ScreeningTimeScaleCode); //Timming timerIntervalEd.myValue = Settings.sysGlobal.TimerIntervalInSecs; refreshDataEd.myValue = Settings.sysGlobal.RefreshDataInSecs; tradeAlertCreationEd.myValue = Settings.sysGlobal.CheckAlertInSeconds; autoCheckEd.myValue = Settings.sysGlobal.AutoCheckInSeconds; }
public int GetData_TotalRow(string timeScaleCode, string stockCode, DateTime frDate, DateTime toDate) { return(DbAccess.GetTotalPriceRow(AppTypes.TimeScaleFromCode(timeScaleCode), frDate, toDate, stockCode)); }
public List <double[]> Estimate_Matrix_LastBizWeight(AppTypes.TimeRanges timeRange, string timeScaleCode, string[] stockCodeList, string[] strategyList) { return(application.Strategy.Libs.Estimate_Matrix_LastBizWeight(timeRange, AppTypes.TimeScaleFromCode(timeScaleCode), common.system.List2Collection(stockCodeList), common.system.List2Collection(strategyList))); }
public AnalysisData(string code, DataParams dataParam) : base(code, AppTypes.TimeScaleFromCode(dataParam.TimeScale), dataParam.TimeRange, dataParam.MaxDataCount) { }
public void SignalSeriesTest() { //application.MarketData market = new application.MarketData(AppTypes.TimeRanges.Y1, AppTypes.TimeScaleFromType(AppTypes.TimeScaleTypes.Day),"SSI"); application.MarketData stockData = new application.MarketData(AppTypes.TimeRanges.Y1, AppTypes.TimeScaleFromCode("D1")); DataSeries ds = null; // TODO: Initialize to an appropriate value double fastPeriod = 12; double slowPeriod = 26; double signalPeriod = 9; string name = string.Empty; // TODO: Initialize to an appropriate value MACD target = new MACD(ds, fastPeriod, slowPeriod, signalPeriod, name); // TODO: Initialize to an appropriate value DataSeries actual; actual = target.SignalSeries; Assert.Inconclusive("Verify the correctness of this test method."); }
/// <summary> /// Calculation of Thrust indicators /// </summary> /// <param name="ds">data to calculate CCI</param> /// <param name="period">period to calculate</param> /// <param name="name"></param> public Market_TRIN(DataSeries ds, string name) : base(ds, name) { //application.Data stockData = new application.Data(AppTypes.TimeRanges.Y1, AppTypes.TimeScaleFromCode("D1"), "SSI"); application.MarketData market = new application.MarketData(AppTypes.TimeRanges.Y1, AppTypes.TimeScaleFromCode("D1")); DataSeries advancingIssues = market.AdvancingIssues; DataSeries decliningIssues = market.DecliningIssues; DataSeries advancingVolume = market.AdvancingVolume; DataSeries decliningVolume = market.DecliningVolume; DataSeries result1 = advancingIssues / decliningIssues; DataSeries result2 = advancingVolume / decliningVolume; DataSeries result3 = result1 / result2; int begin = 0; FirstValidValue = 0; this.Name = name; for (int i = begin, j = 0; j < result3.Count; i++, j++) { this[i] = result3[j]; } }
/// <summary> /// Calculation of Thrust indicators /// </summary> /// <param name="ds">data to calculate CCI</param> /// <param name="period">period to calculate</param> /// <param name="name"></param> public Market_BreadthTrust(DataSeries ds, double period, string name) : base(ds, name) { //application.Data stockData = new application.Data(AppTypes.TimeRanges.Y1, AppTypes.TimeScaleFromCode("D1"), "SSI"); application.MarketData market = new application.MarketData(AppTypes.TimeRanges.Y1, AppTypes.TimeScaleFromCode("D1")); DataSeries advancingIssues = market.AdvancingIssues; DataSeries decliningIssues = market.DecliningIssues; DataSeries emaAdvancingIssues = Indicators.EMA.Series(advancingIssues, period, "emaAdvancingIssues"); DataSeries emaTotalIssues = Indicators.EMA.Series(advancingIssues + decliningIssues, period, "emaTotalIssues"); DataSeries result3 = emaAdvancingIssues / emaTotalIssues; int begin = 0; FirstValidValue = 0; this.Name = name; for (int i = begin, j = 0; j < result3.Count; i++, j++) { this[i] = result3[j]; } }