私たちのファンページに参加してください
ObjectCreateAndSet - MetaTrader 5のためのライブラリ
- ビュー:
- 1059
- 評価:
- パブリッシュ済み:
- 2016.11.15 16:36
- アップデート済み:
- 2016.11.22 07:34
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
添付された *mqh ファイルには、オブジェクトの作成とオブジェクトプロパティの変更のための関数が含まれています。チャート上にオブジェクトを作成したり、既存のオブジェクトのプロパティを変更するテストコードをすばやく記述する必要があるときには、特に便利です。
もう1つのファイルは、使用例のスクリプトです(テキストラベルを作成し、テキストと途中で徐々に90度回転させ色を変えます)。
I. オブジェクト作成のための関数:
これらの関数はMQL5レフェレンスに説明されている標準関数に基づいています。対応する標準関数との主な相違点は下記のとおりです。
- ツールヒントを設定したり、異なる時間枠でオブジェクトの可視性を設定するための行を追加しました。
- 座標、価格やアンカーポイントを設定せずに関数を作成する行を削除しました(VLineCreate(...) およびEventCreate(...)を除く)。
- このライブラリに実装されているオブジェクトのプロパティを設定(変更)するための関数に基づいて、プロパティの設定が成功したかどうかを確認するための条件が追加されました。
オブジェクト作成のための関数:
名前 |
簡潔な記述 |
オブジェクトの型 |
---|---|---|
VLineCreate |
垂直線を作成する |
|
HLineCreate |
水平線を作成する |
|
TrendCreate |
与えられた座標で動向線を作成する |
|
ArrowedLineCreate |
与えられた座標で矢印を作成する |
|
ChannelCreate |
与えられた座標で等距離チャンネルを作成する |
|
RectangleCreate |
与えられた座標で四角形を作成する |
|
TriangleCreate |
与えられた座標で三角形を作成する |
|
EllipseCreate |
与えられた座標で楕円形を作成する |
|
ArrowCreate |
OBJ_ARROWを作成する |
OBJ_ARROW |
TextCreate | テキストオブジェクトを作成する |
OBJ_TEXT |
LabelCreate |
テキストラベルを作成する |
|
ButtonCreate |
ボタンを作成する |
|
BitmapCreate |
チャートウィンドウでビットマップを作成する |
|
BitmapLabelCreate |
ビットマップラベルオブジェクトを作成する |
|
EditCreate |
編集オブジェクトを作成する |
|
EventCreate |
チャートにイベントオブジェクトを作成する |
|
RectLabelCreate |
四角形ラベルを作成する |
II. オブジェクトプロパティ設定のための関数
修飾子なしでのObjectSetDouble(...)、ObjectSetInteger(...)及びObjectSetString(...)の使用:
修飾子を持ったObjectSetDouble(...)、ObjectSetInteger(...)及びObjectSetString(...)の使用:
名前 |
列挙型 | プロパティ | 簡潔な記述 | プロパティ型 | |
---|---|---|---|---|---|
1. | ObSetDoubleMod | ENUM_OBJECT_PROPERTY_DOUBLE | OBJPROP_PRICE | 価格座標 - double、 修飾子 = アンカーポイントの数。 | double |
OBJPROP_LEVELVALUE | レベル数 - double、修飾子 = レベル番号 |
double | |||
2. |
ObSetIntegerLevelColorMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELCOLOR | レベル線の色 - color、修飾子 = レベル番号 |
color |
3. |
ObSetIntegerLevelStyleMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELSTYLE |
レベル線のスタイル ENUM_LINE_STYLE、修飾子 = レベル番号 |
ENUM_LINE_STYLE |
4. |
ObSetIntegerLevelWidthMod |
ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_LEVELWIDTH |
レベル線の幅 - int、修飾子 = レベル番号 |
int |
5. | ObSetIntegerTimeMod | ENUM_OBJECT_PROPERTY_INTEGER | OBJPROP_TIME |
時刻座標 - datetime、修飾子 = アンカーポイントの数。 |
datetime |
6. | ObSetStringMod | ENUM_OBJECT_PROPERTY_STRING | OBJPROP_LEVELTEXT | レベル記述 - string、修飾子 = レベル番号 | string |
OBJPROP_BMPFILE |
ビットマップラベルオブジェクトのBMPファイル名 - string。リフェレンスのリソースも参照。修飾子:0-ON、1-OFF | string |
その他の関数:
bool ObDelete (long chart_ID,string name) |
指定された名前のオブジェクトを削除します。 |
III. 使用法:
インクルードファイルとして使用することもできますし、特定の関数をソースコードにコピーすることもできます。
第2の方法を選択した場合は、まずそれをインクルードファイルとして使用する方が良いと思います。必要な関数呼び出しがすべて実装されれば、インクルードディレクティブ(#include ...)は削除できます。
次に、コンパイラはインクルードファイルからコピーする必要のある関数を指摘します。
インクルードファイルとしての使用:
- 添付されたObjectCreateAndSet.mqhを Includeフォルダに保存します。これにはMetaEditorのナビゲータウィンドウが使用できます。ナビゲータウィンドウでIncludeフォルダをクリックしてOpen Folder(フォルダを開く)を選びます。
- ライブラリを自分のコードで使うにはファイルの最初の#include...行を自分のコードにコピペします。
#include <ObjectCreateAndSet.mqh>
添付されたスクリプトは、ライブラリをインクルードする例を提供します。 - この後でコードをコンパイルします。名前の入力を開始すると、含まれている関数のツールヒントが表示されます。
図1 最初の数文字を入力した後のツールヒント内の完全な関数名
図2 ツールヒント内の関数のパラメータ
ところでMetaEditorツールバーの functions list(関数リスト)ボタンを使って現在のファイルに使われる関数のリストを手早く見ることができます。
図3 ファイルで使用される関数のリストを表示するためのボタン
ボタンを押すと、ドロップダウンリストが表示されます。特定の機能に移動するには、リスト内の名前をクリックします。
図4 ボタンを押すとファイルで関数リストが開きます(特定の機能にすばやく移動するのに便利です)。
更新:
- 2015.09.14 </ b0>:ObDelete()関数で、オブジェクトを削除するときにエラーが発生した場合、オブジェクトの名前の出力を「エキスパート」タブに追加しました。コード内のエラーを見つけやすくなりました。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/13374
入力パラメータでの時間枠選択オプションを含むColorMomentum_AMA指標
ColorLinearRegSlope_V2_HTF入力パラメータでの時間枠選択オプションを含むColorLinearRegSlope_V2指標
入力パラメータでの時間枠選択オプションを含むColorMaRsi-Trigger指標
Exp_ColorMaRsi-TriggerExp_ColorMaRsi-Triggerエキスパートアドバイザー はColorMaRsi-Trigger セマフォシグナル指標によって生成されたシグナルに基づいています。