Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        /// <summary>
        /// ローソク足データ
        /// 親ローソクメーカー更新時の作成
        /// 子ローソクメーカー更新時の作成用
        /// </summary>
        /// <param name="board">板</param>
        /// <param name="timeScale">時間足</param>
        /// <param name="candle">親から送られてきたローソク</param>
        /// <param name="endTime">新しく作成するローソクの終了時刻</param>
        private Candle(MBoard board, MTimeScale timeScale, Candle candle, DateTime endTime)
        {
            MBoard     = board;
            MTimeScale = timeScale;
            EndTime    = endTime;
            BeginTime  = EndTime.AddSeconds(-MTimeScale.SecondsValue);

            Min    = candle.End;
            Max    = candle.End;
            Begin  = candle.End;
            End    = candle.End;
            Volume = candle.Volume;
        }
Beispiel #3
0
        /// <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;
        }