今回は、オブジェクトを使って線を引いていきます。
まずは、現在の足に縦線を引いてみたいと思います。
①datetime time01 = Time[0];
②ObjectsDeleteAll();
③ObjectCreate("Time",OBJ_VLINE,0,time01,0);
④ObjectSet("Time",OBJPROP_COLOR,Red);
⑤ObjectSet("Time",OBJPROP_WIDTH,3);
今回は、OnInit内で全部書きます。
また、短い処理になるので、全部のコードを説明していきます。
①datetime time01 = Time[0];
現在時間(現在の足)に縦線を引くので、datatime型の変数にTime[0]で現在の足の時間を取得して代入します。
②ObjectsDeleteAll();
表示されているオブジェクトをすべて削除します。
③ObjectCreate("Time",OBJ_VLINE,0,time01,0);
オブジェクト名「Time」、種類「OBJ_VLINE(垂直線(縦線))」、ウインドウ番号「0(メインウインドウ)」、1番目の時間のアンカーポイント「time01(上記で取得した現在の時間)」、1番目の価格のアンカーポイント「0」を指定します。
④ObjectSet("Time",OBJPROP_COLOR,Red);
オブジェクト「Time」の色を「赤色」に指定します。
⑤ObjectSet("Time",OBJPROP_WIDTH,3);
オブジェクト「Time」の線の太さを「3」に指定します。
こんな短いコードですが、コンパイルして実行してみます。
縦線はうまく表示されました。
次は横線を引いてみます。
今回は、当日の高値と安値に横線を引いてみます。
①double high = iHigh(NULL,PERIOD_D1,0);
②double low = iLow(NULL,PERIOD_D1,0);
③ObjectsDeleteAll();
④ObjectCreate("High",OBJ_HLINE,0,0,high);
⑤ObjectSet("High",OBJPROP_COLOR,Red);
⑥ObjectSet("High",OBJPROP_WIDTH,3);
⑦ObjectCreate("Low",OBJ_HLINE,0,0,low);
⑧ObjectSet("Low",OBJPROP_COLOR,Blue);
⑨ObjectSet("Low",OBJPROP_WIDTH,3);
①double high = iHigh(NULL,PERIOD_D1,0);
当日の高値にラインを引くので、iHighで通貨ペア「NULL(現在のチャートの通貨ペア)」、時間軸「PERIOD_D!(日足)」、シフト「0(現在の足)」を指定して、double型の変数に高値を代入します。
②double low = iLow(NULL,PERIOD_D1,0);
当日の安値にラインを引くので、iLowで通貨ペア「NULL(現在のチャートの通貨ペア)」、時間軸「PERIOD_D!(日足)」、シフト「0(現在の足)」を指定して、double型の変数に安値を代入します。
③ObjectsDeleteAll();
表示されているオブジェクトをすべて削除します。
④ObjectCreate("High",OBJ_HLINE,0,0,high);
オブジェクト名「High」、種類「OBJ_HLINE(水平線(横線))」、ウインドウ番号「0(メインウインドウ)」、1番目の時間のアンカーポイント「0」、1番目の価格のアンカーポイント「high(上記で取得した高値)」を指定します。
⑤ObjectSet("High",OBJPROP_COLOR,Red);
オブジェクト「High(高値用)」の色を「赤色」に指定します。
⑥ObjectSet("High",OBJPROP_WIDTH,3);
オブジェクト「High(高値用)」の線の太さを「3」に指定します。
⑦ObjectCreate("Low",OBJ_HLINE,0,0,low);
オブジェクト名「Low」、種類「OBJ_HLINE(水平線(横線))」、ウインドウ番号「0(メインウインドウ)」、1番目の時間のアンカーポイント「0」、1番目の価格のアンカーポイント「low(上記で取得した安値)」を指定します。
⑧ObjectSet("Low",OBJPROP_COLOR,Blue);
オブジェクト「Low(安値用)」の色を「赤色」に指定します。
⑨ObjectSet("Low",OBJPROP_WIDTH,3);
オブジェクト「Low(安値用)」の線の太さを「3」に指定します。
これで、完成です。
それでは、コンパイルして実行してみます。
いかがだったでしょうか?
今回は、縦線と横線をオブジェクトで引いてみました。
思ったより簡単に引けました。
これを応用して、各市場のオープンとクローズ時間に縦線を引いたり、高値安値の横線を引いたりしてみたいと思います。
今回は、短くて簡単な記事になってしまいましたが、今回はここまでにしておきます。
それでは、また。