TextSetFont()の使い方
MQL4 (MT4)のTextSetFont()の使い方をChatGPTに確認しました。
賢いですね。きちんとした回答を詳しくもらえました。
使用GPTs:EA Creator
MT4 MQL4のTextSetFontの使い方を実装例を交えて教えて下さい。補足で気を付ける点なども教えて下さい。
使い方
TextSetFont
は、MetaTrader 4 (MT4) のMQL4言語において、チャート上のテキストラベルオブジェクトのフォントを設定するために使用される関数です。この関数を用いることで、フォント名、サイズ、スタイルフラグ、テキストの傾き角度を指定することができます。
TextSetFont関数の使用法
bool TextSetFont(
const string name, // フォント名またはディスク上のフォントファイルへのパス
int size, // フォントサイズ
uint flags=0, // フラグの組み合わせ
int orientation=0 // テキストの傾斜角度
);
使用例
以下は、チャート上のテキストラベルのフォントを設定する実装例です。
void OnStart()
{
// チャートにテキストラベルを作成
string objectName = "MyLabel";
if(ObjectCreate(0, objectName, OBJ_LABEL, 0, 0, 0))
{
// 作成したテキストラベルのプロパティを設定
ObjectSetString(0, objectName, OBJPROP_TEXT, "Sample Text");
ObjectSetInteger(0, objectName, OBJPROP_CORNER, CORNER_LEFT_UPPER);
ObjectSetInteger(0, objectName, OBJPROP_XDISTANCE, 10);
ObjectSetInteger(0, objectName, OBJPROP_YDISTANCE, 20);
// テキストラベルのフォントを設定
if(!TextSetFont(objectName, "Arial", 12, 0, 0))
{
Print("フォント設定に失敗しました。");
}
else
{
Print("フォントが設定されました。");
}
}
else
{
Print("テキストラベルの作成に失敗しました。エラー: ", GetLastError());
}
}
注意点
name
パラメータには、システムにインストールされているフォント名を指定するか、カスタムフォントファイルへのパスを指定します。flags
パラメータを使用して、フォントスタイル(太字、斜体など)の組み合わせをビットフラグで指定できます。例えば、FW_BOLD | ITALIC
のように指定します。orientation
パラメータで、テキストの傾きを設定できます。この値は度数法で指定され、正の値は時計回りの傾斜を意味します。- 関数が
false
を返した場合、フォント設定に失敗しています。これは指定されたフォントがシステムに存在しない、またはパスが正しくない場合に起こり得ます。
TextSetFont
関数により、MQL4スクリプトでテキストオブジェクトの視覚的表現をより細かく制御することが可能になります。
MQL4リファレンス
正式な仕様は”MQL4 Reference“をご確認下さい。上記内容を確認しておくとより分かりやすいかと思います。
リンク:https://docs.mql4.com/objects/textsetfont
他のオブジェクト関数の利用方法
以下のそれぞれのリンク先で確認していますので、ご参照ください。
関数名 | 概要 |
---|---|
ObjectCreate | チャート上に新しいオブジェクトを作成します。 |
ObjectName | 指定されたインデックスにあるオブジェクトの名前を取得します。 |
ObjectDelete | チャートから指定された名前のオブジェクトを削除します。 |
ObjectsDeleteAll | 特定のウィンドウ、またはすべてのウィンドウからオブジェクトを削除します。 |
ObjectFind | 指定された名前のオブジェクトが存在するウィンドウのインデックスを返します。 |
ObjectGetTimeByValue | 指定された価格に対応する時間をオブジェクトから取得します。 |
ObjectGetValueByTime | 指定された時間に対応する価格をオブジェクトから取得します。 |
ObjectMove | 指定されたオブジェクトを新しい位置に移動します。 |
ObjectsTotal | チャート上のオブジェクトの総数を返します。 |
ObjectGetDouble | 指定されたオブジェクトのプロパティ値(double型)を取得します。 |
ObjectGetInteger | 指定されたオブジェクトのプロパティ値(整数型)を取得します。 |
ObjectGetString | 指定されたオブジェクトのプロパティ値(文字列型)を取得します。 |
ObjectSetDouble | 指定されたオブジェクトのプロパティ値(double型)を設定します。 |
ObjectSetInteger | 指定されたオブジェクトのプロパティ値(整数型)を設定します。 |
ObjectSetString | 指定されたオブジェクトのプロパティ値(文字列型)を設定します。 |
TextSetFont | テキストオブジェクトのフォント名、サイズ、スタイル、重さを設定します。 |
TextOut | チャートに直接テキストを描画します。 |
TextGetSize | 指定されたテキストのサイズを取得します。 |
ObjectDescription | オブジェクトの説明を取得します。 |
ObjectGet | オブジェクトのプロパティを取得します。 |
ObjectGetFiboDescription | フィボナッチオブジェクトのレベル説明を取得します。 |
ObjectGetShiftByValue | 指定された価格に対応するオブジェクトのシフトを取得します。 |
ObjectGetValueByShift | 指定されたシフトに対応するオブジェクトの価格を取得します。 |
ObjectSet | オブジェクトの特定のプロパティを設定します。 |
ObjectSetFiboDescription | フィボナッチオブジェクトのレベル説明を設定します。 |
ObjectSetText | オブジェクトにテキストを設定します。 |
ObjectType | オブジェクトのタイプを取得します。 |
コメント