【MT4】オブジェクト描画セット
無料
mql4のオブジェクト描画のソースコードをセットにしました
Description
■商品概要
チャート上に矢印や水平線などのオブジェクトを描画するとき、いちいち色や大きさなどのプロパティを指定するのは面倒です。
例えばラインを1本引くだけでも、以下のように何行にもわたってプログラムを書く必要があります。
ObjectCreate(NULL, "line", OBJ_HLINE, NULL, NULL, NULL); //ライン描画
ObjectSetInteger(NULL, name, OBJPROP_BACK, true); //背景設定
ObjectSetInteger(NULL, name, OBJPROP_COLOR, clrRed); //色指定
ObjectSetInteger(NULL, name, OBJPROP_HIDDEN, true); //オブジェクト一覧表示設定
ObjectSetInteger(NULL, name, OBJPROP_SELECTABLE, false); //選択可否設定
ObjectSetInteger(NULL, name, OBJPROP_STYLE, STYLE_SOLID); //ラインのスタイル
ObjectSetInteger(NULL, name, OBJPROP_WIDTH, 2); //ラインの太さ
ObjectSetDouble(NULL, name, OBJPROP_PRICE, 0, Close()); //ライン表示位置
ObjectSetString(NULL, name, OBJPROP_TEXT, "line"); //ライン表示名
そこで、これらの関数をまとめて1つの関数から実行することができるようにしました。
CreateHLine("line", Close(), clrRed, 1, STYLE_SOLID, false, ""); //1行でラインを作成
//まとめた関数↓
void CreateHLine(string name, double price, color c, int width = 1, ENUM_LINE_STYLE style = STYLE_SOLID, bool back = false, string dscr = "")
{
ObjectCreate(NULL, name, OBJ_HLINE, NULL, NULL, NULL);
ObjectSetInteger(NULL, name, OBJPROP_BACK, back);
ObjectSetInteger(NULL, name, OBJPROP_COLOR, c);
ObjectSetInteger(NULL, name, OBJPROP_HIDDEN, true);
ObjectSetInteger(NULL, name, OBJPROP_SELECTABLE, false);
ObjectSetInteger(NULL, name, OBJPROP_STYLE, style);
ObjectSetInteger(NULL, name, OBJPROP_WIDTH, width);
ObjectSetDouble(NULL, name, OBJPROP_PRICE, 0, price);
ObjectSetString(NULL, name, OBJPROP_TEXT, dscr);
}
ラインを描画する関数だけではなく、ソースコードには以下のオブジェクトを作成する便利な関数が含まれています。
- ボタン
- エディット(入力ボックス)
- 水平線
- 縦線
- トレンドライン
- 矢印オブジェクト
- ラベルオブジェクト
- テキストオブジェクト
- レクタングルオブジェクト
- レクタングルラベルオブジェクト
■注意点
本プログラムによって発生したあらゆるトラブルにおいて一切の責任を負いかねます。あらかじめご了承ください。