/// <summary> /// ローソク足データ /// 子ローソクメーカー新規用 /// タイムスタンプは時間足の単位で切り捨てるが、1日以上は切り捨てないことに注意。 /// </summary> /// <param name="board">板</param> /// <param name="timeScale">時間足</param> /// <param name="candle">親から送られてきたローソク</param> public Candle(MBoard board, MTimeScale timeScale, Candle candle) { MBoard = board; MTimeScale = timeScale; // 開始時刻は、この時間足で切り捨てる BeginTime = candle.BeginTime; int TimeSeconds = ((BeginTime.Hour * 60 + BeginTime.Minute) * 60 + BeginTime.Second); BeginTime = BeginTime.AddSeconds(-(TimeSeconds % MTimeScale.SecondsValue)); BeginTime.AddMilliseconds(-BeginTime.Millisecond); // ミリ秒切り捨て // 終了時刻を求める EndTime = BeginTime.AddSeconds(MTimeScale.SecondsValue); Min = candle.End; Max = candle.End; Begin = candle.End; End = candle.End; Volume = candle.Volume; //Min = candle.Min; //Max = candle.Max; //Begin = candle.Begin; //End = candle.End; //Volume = candle.Volume; }
private void onPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { switch (e.PropertyName) { case nameof(Slider): { //Console.WriteLine(Slider); SliderTime = (DateTime)BeginTime.AddSeconds(Slider); onProgressOffset(); if (_sliderMouseDown) { onJump(); } } break; case nameof(BeginTime): { if (BeginTime != null) { Slider = 0; } } break; } }
/// <summary> /// ローソク足データ /// 親ローソクメーカー新規用 /// タイムスタンプは時間足の単位で切り捨てるが、1日以上は切り捨てないことに注意。 /// </summary> /// <param name="board">板</param> /// <param name="timeScale">時間足</param> /// <param name="ticker">現在のTicker</param> public Candle(MBoard board, MTimeScale timeScale, Ticker ticker) { MBoard = board; MTimeScale = timeScale; // 切り捨てて、ローソクの開始時刻を求める BeginTime = ticker.Timestamp; int TimeSeconds = ((BeginTime.Hour * 60 + BeginTime.Minute) * 60 + BeginTime.Second); BeginTime = BeginTime.AddSeconds(-(TimeSeconds % MTimeScale.SecondsValue)); BeginTime.AddMilliseconds(-BeginTime.Millisecond); // ミリ秒切り捨て // 終了時刻を求める EndTime = BeginTime.AddSeconds(MTimeScale.SecondsValue); Min = ticker.Ltp; Max = ticker.Ltp; Begin = ticker.Ltp; End = ticker.Ltp; Volume = ticker.Volume; }
DateTime getTimeFromSlider() { return(BeginTime.AddSeconds(Slider / 1000.0)); }