コード例 #1
0
		protected ContextChart() {
			Name = "UNDEFINED";
			Symbol = "UNDEFINED";
			DataSourceName = "UNDEFINED";
			ScaleInterval = new BarScaleInterval();
			DataRange = new BarDataRange(500);
			//ChartBarSpacing = 6;
			ChartStreaming = false;
			ShowRangeBar = false;
		}
コード例 #2
0
		public void AbsorbFrom(ContextChart found) {
			if (found == null) return;
			//KEEP_CLONE_UNDEFINED this.Name = found.Name;
			this.Symbol = found.Symbol;
			this.DataSourceName = found.DataSourceName;
			this.ScaleInterval = found.ScaleInterval.Clone();
			this.DataRange = found.DataRange.Clone();
			//this.ChartBarSpacing = found.ChartBarSpacing;
			this.ChartStreaming = found.ChartStreaming;
			this.ShowRangeBar = found.ShowRangeBar;
		}
コード例 #3
0
		public Bars RescaleBarsAndRegister(NotOnChartBarsKey symbolScaleInterval) {
			DataSource ds = Assembler.InstanceInitialized.RepositoryJsonDataSource.DataSourceFind(symbolScaleInterval.DataSourceName);

			BarDataRange range = new BarDataRange(this.ScriptExecutor.Bars.BarFirst.DateTimeOpen, this.ScriptExecutor.Bars.BarLast.DateTimeOpen);

			Bars bars = null;
			try {
				Bars barsAll = ds.BarsLoadAndCompress(symbolScaleInterval.Symbol, symbolScaleInterval.BarScaleInterval);
				Bars bar = barsAll.SelectRange(range);
			} catch (Exception ex) {
				Debugger.Break();
			}
			try {
				this.Registry.Add(symbolScaleInterval, bars);
			} catch (Exception ex) {
				Debugger.Break();
			}
			return bars;
		}
コード例 #4
0
ファイル: Bars.cs プロジェクト: xiechun/SquareOne
        public Bars SelectRange(BarDataRange dataRangeRq)
        {
            DateTime startDate = DateTime.MinValue;
            DateTime endDate   = DateTime.MaxValue;

            dataRangeRq.FillStartEndDate(out startDate, out endDate);
            if (startDate == DateTime.MinValue && endDate == DateTime.MaxValue && dataRangeRq.RecentBars == 0)
            {
                return(this);
            }

            string start = (startDate == DateTime.MinValue) ? "MIN" : startDate.ToString("dd-MMM-yyyy");
            string end   = (endDate == DateTime.MaxValue) ? "MAX" : endDate.ToString("dd-MMM-yyyy");
            Bars   ret   = this.CloneNoBars(this.ReasonToExist + " [" + dataRangeRq.ToString() + "]", this.ScaleInterval);

            for (int i = 0; i < this.Count; i++)
            {
                if (dataRangeRq.RecentBars > 0 && i >= dataRangeRq.RecentBars)
                {
                    break;
                }
                Bar  barAdding   = this[i];
                bool skipThisBar = false;
                if (startDate > DateTime.MinValue && barAdding.DateTimeOpen < startDate)
                {
                    skipThisBar = true;
                }
                if (endDate < DateTime.MaxValue && barAdding.DateTimeOpen > endDate)
                {
                    skipThisBar = true;
                }
                if (skipThisBar)
                {
                    continue;
                }
                ret.BarAppendBindStatic(barAdding.CloneDetached());
            }
            return(ret);
        }
コード例 #5
0
 public BarDataRangeEventArgs(BarDataRange barDataRange)
 {
     this.BarDataRange = barDataRange.Clone();
 }
コード例 #6
0
		public BarDataRangeEventArgs(BarDataRange barDataRange) {
			this.BarDataRange = barDataRange.Clone();
		}
コード例 #7
0
		internal void ChartRangeBar_AnyValueChanged(object sender, RangeArgs<DateTime> e) {
			BarDataRange newRange = new BarDataRange(e.ValueMin.Date, e.ValueMax.Date);
			try {
				this.chartFormManager.PopulateSelectorsFromCurrentChartOrScriptContextLoadBarsSaveBacktestIfStrategy("ChartRangeBar_AnyValueChanged");
			} catch (Exception ex) {
				Assembler.PopupException("ChartRangeBar_AnyValueChanged", ex);
			}
		}
コード例 #8
0
		public Bars SelectRange(BarDataRange dataRangeRq) {
			DateTime startDate = DateTime.MinValue;
			DateTime endDate = DateTime.MaxValue;
			dataRangeRq.FillStartEndDate(out startDate, out endDate);
			if (startDate == DateTime.MinValue && endDate == DateTime.MaxValue && dataRangeRq.RecentBars == 0) return this;

			string start = (startDate == DateTime.MinValue) ? "MIN" : startDate.ToString("dd-MMM-yyyy");
			string end = (endDate == DateTime.MaxValue) ? "MAX" : endDate.ToString("dd-MMM-yyyy");
			Bars ret = this.CloneNoBars(this.ReasonToExist + " [" + dataRangeRq.ToString() + "]", this.ScaleInterval);
			for (int i=0; i<this.Count; i++) {
				if (dataRangeRq.RecentBars > 0 && i >= dataRangeRq.RecentBars) break; 
				Bar barAdding = this[i];
				bool skipThisBar = false;
				if (startDate > DateTime.MinValue && barAdding.DateTimeOpen < startDate) skipThisBar = true; 
				if (endDate < DateTime.MaxValue && barAdding.DateTimeOpen > endDate) skipThisBar = true;
				if (skipThisBar) continue;
				ret.BarAppendBindStatic(barAdding.CloneDetached());
			}
			return ret;
		}