/// <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; }
public void Start() { BeginTime = DateTime.Now; nextRaiseTime = BeginTime.AddMilliseconds(Target.Delay + Target.Interval); OnClick?.Invoke(this, null); }
/// <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; }