MQL4の関数は、MetaTrader 4で使用されるMQL4プログラミング言語の中核的な部分で、特定のタスクを実行するために設計されたコマンド群です。MQL4では、トレード関連、テクニカル分析、データ操作、入出力など、さまざまなカテゴリの関数が提供されています。
以下に、MQL4 の主な関数をカテゴリについて説明します。
1.トレード操作関連の関数
トレード注文を送信、管理、取得するための関数です。
OrderSend()- 市場注文や指値注文を送信します。
int ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "Buy Order", 0, 0, Green);OrderClose()- 開いているポジションを閉じます。
bool closed = OrderClose(OrderTicket(), OrderLots(), Bid, 3, Red);OrderModify()- 指値注文または逆指値注文を修正します。
OrderSelect()- 特定のご注文を選択して情報を取得します。
OrdersTotal()- 現在の注文数を取得します。
2. テクニカル指標関連の関数
MT4の標準的なテクニカル指標を使用するための関数です。
iMA()- 移動平均を取得します。
double ma = iMA(Symbol(), 0, 14, 0, MODE_SMA, PRICE_CLOSE, 0);iRSI()- RSI(相対力指数)を計算します。
double rsi = iRSI(Symbol(), 0, 14, PRICE_CLOSE, 0);iMACD()- MACDの値を取得します。
iBands()- ボリンジャーバンドの価値を取得します。
iCustom()- カスタムインディケータの値を取得します。
3. 時系列データ関連の関数
チャート上の価格や時間データを取得します。
iOpen()- 指定された時間枠の開始値を取得します。
double openPrice = iOpen(Symbol(), 0, 1);iClose()- 指定された時間枠の終値を取得します。
iHigh()- 指定された時間枠の最高値を取得します。
iLow()- 指定された時間枠の格安を取得します。
TimeCurrent()- 現在のサーバー時間を取得します。
4. システム関連の関数
プログラムの設定や状態を管理するための関数です。
Sleep()- 指定したミリ秒間、プログラムを停止します。
Sleep(1000); // 1秒間停止Print()- コンソールにメッセージを出力します。
Print("Hello, MQL4!");Alert()- アラートメッセージを表示します。
Alert("Trade signal generated!");GetLastError()- 最後に発生したエラーコードを取得します。
5. 入出力関連の関数
ファイル操作や外部データの処理を行います。
FileOpen()- ファイルを開く、または新規作成します。
int handle = FileOpen("data.csv", FILE_CSV | FILE_WRITE);FileWrite()- ファイルにデータを書き込みます。
FileRead()- ファイルからデータを読みます。
6. 数値計算関連の関数
数学的な計算やデータ変換を行うための関数です。
MathAbs()- 絶対値を計算します。
double absValue = MathAbs(-5);MathSqrt()- 平方根を計算します。
MathPow()- 指定した数の累乗を計算します。
NormalizeDouble()- 指定された桁数に数値を丸めます。
double rounded = NormalizeDouble(1.23456, 2); // 結果: 1.23
7. イベント関連の関数
特定のタイミングや条件で動作を制御します。
OnInit()- プログラムの初期化時に実行されます。
OnTick()- 新しいティックデータが到着するたびに実行されます。
OnTimer()- タイマーイベントで実行されます。
MQL4関数のカスタマイズ
MQL4では、標準関数以外に、独自の関数を定義して再利用可能なコードを作成することが可能です。
例: 独自の
double CalculateSpread() {
return (Ask - Bid) * 10000; // スプレッドをピップ単位で計算
}
MQL4の関数を習得すれば、自動売買プログラムやカスタムインディケータの作成が簡単になります。 具体的な質問やコードの例が必要な場合はお気軽にどうぞ!

コメント