ちょっと予定を変更して
先にRectangleを描画したコードの説明をします。
水平線を描画するのと似たような感じなんですけど、Rectangleの場合は
対角の二点の座標を指定します。AかB、どっちの組み合わせでもOKです。
例えば
このWeeklyの上ヒゲゾーンのA点の座標というのは
iTime(NULL,TimeFrame,0),iHigh(NULL,TimeFrame,1)
で指定されます。
iTime(NULL,TimeFrame,0) これがX座標、つまり時間
iHigh(NULL,TimeFrame,1) これがY座標、つまり価格
iHighは前回説明しました。
iHighは指定したバーの高値を取得する関数ですが
iTimeは指定したバーの開始時間を取得する関数です。
なので、iTime(NULL,TimeFrame,0)の意味するところは
TimeFrameでWeeklyを選択した場合
バーの開始時間(現在表示してるチャートの通貨ペア、Weekly、今週)
ということです。
一方、対角の
こっちのA点の座標は
陽線と陰線とで座標が違ってきます。
陽線だったら終値ですし、陰線だったら始値です。
そのため
このようにif-else条件処理というものを行っているのです。
この処理については、いずれあらためて説明するとして
陽線の場合はA点の座標は
となります。
Time[0] というのは現在のバーの形成開始時間です。
以上が理解できれば
この部分の記述の意味も理解できると思います。
そして
この部分と同じように
水平線の色の設定にも
ObjectSet という関数を使います。
結局何が言いたかったかというと
「長方形でも丸でも三角でも垂直線でも水平線でも
オブジェクトの記述というのはみんな似たような感じですよー」
ということです。






