MQL4の関数

MT4プログラミング

MQL4の関数は、MetaTrader 4で使用されるMQL4プログラミング言語の中核的な部分で、特定のタスクを実行するために設計されたコマンド群です。MQL4では、トレード関連、テクニカル分析、データ操作、入出力など、さまざまなカテゴリの関数が提供されています。

以下に、MQL4 の主な関数をカテゴリについて説明します。


1.トレード操作関連の関数

トレード注文を送信、管理、取得するための関数です。

  • OrderSend()
    • 市場注文や指値注文を送信します。
    mql4著作権を所有するint ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, 0, 0, "Buy Order", 0, 0, Green);
  • OrderClose()
    • 開いているポジションを閉じます。
    mql4著作権を所有するbool closed = OrderClose(OrderTicket(), OrderLots(), Bid, 3, Red);
  • OrderModify()
    • 指値注文または逆指値注文を修正します。
  • OrderSelect()
    • 特定のご注文を選択して情報を取得します。
  • OrdersTotal()
    • 現在の注文数を取得します。

2. テクニカル指標関連の関数

MT4の標準的なテクニカル指標を使用するための関数です。

  • iMA()
    • 移動平均を取得します。
    mql4著作権を所有するdouble ma = iMA(Symbol(), 0, 14, 0, MODE_SMA, PRICE_CLOSE, 0);
  • iRSI()
    • RSI(相対力指数)を計算します。
    mql4著作権を所有するdouble rsi = iRSI(Symbol(), 0, 14, PRICE_CLOSE, 0);
  • iMACD()
    • MACDの値を取得します。
  • iBands()
    • ボリンジャーバンドの価値を取得します。
  • iCustom()
    • カスタムインディケータの値を取得します。

3. 時系列データ関連の関数

チャート上の価格や時間データを取得します。

  • iOpen()
    • 指定された時間枠の開始値を取得します。
    mql4著作権を所有するdouble openPrice = iOpen(Symbol(), 0, 1);
  • iClose()
    • 指定された時間枠の終値を取得します。
  • iHigh()
    • 指定された時間枠の最高値を取得します。
  • iLow()
    • 指定された時間枠の格安を取得します。
  • TimeCurrent()
    • 現在のサーバー時間を取得します。

4. システム関連の関数

プログラムの設定や状態を管理するための関数です。

  • Sleep()
    • 指定したミリ秒間、プログラムを停止します。
    mql4著作権を所有するSleep(1000); // 1秒間停止
  • Print()
    • コンソールにメッセージを出力します。
    mql4著作権を所有するPrint("Hello, MQL4!");
  • Alert()
    • アラートメッセージを表示します。
    mql4著作権を所有するAlert("Trade signal generated!");
  • GetLastError()
    • 最後に発生したエラーコードを取得します。

5. 入出力関連の関数

ファイル操作や外部データの処理を行います。

  • FileOpen()
    • ファイルを開く、または新規作成します。
    mql4著作権を所有するint handle = FileOpen("data.csv", FILE_CSV | FILE_WRITE);
  • FileWrite()
    • ファイルにデータを書き込みます。
  • FileRead()
    • ファイルからデータを読みます。

6. 数値計算関連の関数

数学的な計算やデータ変換を行うための関数です。

  • MathAbs()
    • 絶対値を計算します。
    mql4著作権を所有するdouble absValue = MathAbs(-5);
  • MathSqrt()
    • 平方根を計算します。
  • MathPow()
    • 指定した数の累乗を計算します。
  • NormalizeDouble()
    • 指定された桁数に数値を丸めます。
    mql4著作権を所有するdouble rounded = NormalizeDouble(1.23456, 2); // 結果: 1.23

7. イベント関連の関数

特定のタイミングや条件で動作を制御します。

  • OnInit()
    • プログラムの初期化時に実行されます。
  • OnTick()
    • 新しいティックデータが到着するたびに実行されます。
  • OnTimer()
    • タイマーイベントで実行されます。

MQL4関数のカスタマイズ

MQL4では、標準関数以外に、独自の関数を定義して再利用可能なコードを作成することが可能です。

例: 独自の

double CalculateSpread() {
return (Ask - Bid) * 10000; // スプレッドをピップ単位で計算
}

MQL4の関数を習得すれば、自動売買プログラムやカスタムインディケータの作成が簡単になります。 具体的な質問やコードの例が必要な場合はお気軽にどうぞ!

コメント

タイトルとURLをコピーしました