垂直線を引く方法
DrawingObjects.Add()
で、VerticalLine
オブジェクトを追加することで、画面上に垂直線を追加することができます。
これは、水平線 (HorizontalLine
) を引く方法と同様です。
VerticalLine オブジェクトで垂直線を表示する
コード
次のサンプルコードでは、日付が変わるタイミングで垂直線を描画しています。
解説
VerticalLine
オブジェクトは、VerticalLine.Create()
を使って生成するのですが、このとき、描画位置の点を示す、下記のいずれかのオブジェクトを指定します。
BNPoint
… 足のインデックスと価格を指定(BN は BarNumber の略)DTPoint
… 日時と価格を指定(DT は DateTime の略)
ここでは、BNPoint.Create()
で BNPoint
オブジェクトを生成しています。
X 座標としては現在の足のインデックス (CurrentBar
) を指定し、Y 座標としては価格 0
円を指定しています(垂直線を引く場合は上下位置は関係ないので価格は何でもよい)。
あとは、この BNPoint
オブジェクトを使って VerticalLine
を生成し、それを DrawingObjects.Add()
で追加すれば垂直線が描画されます。
最後のポイントは、いつ描画するかの条件分岐です。
ここでは、足種 (BarType
) が「ティック」「分足」「秒足」のいずれかであり、かつ、現在の足で日付が変わったときのみ DrawVerticalLine()
を呼び出して垂直線を描画しています。
仮に別の足種(日足や週足など)でも描画してしまうと、すべての足で垂直線が描画されることになり、大変なことになります。
おまけ
BNPoint
の代わりに、DTPoint
を使う場合は、次のような感じになります。
足のインデックス (CurrentBar
) で横方向の座標を指定する代わりに、時刻情報 (BarDateTime
) を指定します。
関連記事