SocialVPS — MetaTrader 4(MT4)は、FXトレーダーの間で最も人気のあるプラットフォームの1つであり、その最大の強みの1つは、Expert Advisors(EA)を使用して取引を自動化する機能です。トレーダーがどのように自動売買ボットを構築しているのか不思議に思ったことがある方は、このガイドを参考にしてください。この記事では、MQL4(MT4の背後にあるプログラミング言語)の基本を分解し、最初のEAを作成する方法を説明します。 フォレックスEA.
MQL4とは何か、なぜ重要なのか?
コーディングに入る前に、MQL4とは何かを理解しよう。

MQL4、またはMetaQuotes Language 4は、MT4プラットフォーム上で取引戦略を開発するために特別に設計された高水準プログラミング言語です。MQL4を使用すると、カスタムインジケータ、スクリプト、そして最も重要なExpert Advisors—also known as Forex robots or Forex robotsとして知られているExpert AdvisorsP11Talsoを作成することができます。 アルゴリズム取引ボット.
なぜこれが重要なのでしょうか?なぜなら、ストラテジーを自動化することで、感情的なバイアスを取り除き、24時間365日取引し、手動取引では不可能なほど迅速にアイデアをテストすることができるからです。
Forex EAとは?
Forex EA (Expert Advisor)はMQL4で書かれたソフトウェアで、取引戦略を自動化します。市場を監視し、定義した条件に基づいて取引を開始、終了し、アラートを送信することもできます。基本的に、それはあなたの個人的なトレーディングアシスタント—minus給与として機能します。
FXのEAを作成することは、あなたの取引プランに命を吹き込むようなものです。感情も疲労も推測もなく、指示通りに動きます。
最初のEA作成に必要なツール
基本的なツールとセットアップについて説明しよう。
- MetaTrader 4 プラットフォーム ブローカーまたは MetaTrader 4公式ウェブサイト.
- メタエディター MT4と一緒にインストールされ、ここでコードを書いてコンパイルします。
- 忍耐: コードを学ぶには—基本的なことでさえ—時間がかかる。
初めてのMQL4 Forex EA: ステップ・バイ・ステップ
さて、ここからが楽しいところです。基本的な取引戦略から始めましょう:
10期間移動平均線が20期間移動平均線を上回ったら買い。
10期間移動平均線が20期間移動平均線を下回ったら売り。
ステップ1: MetaEditorを開く
- MT4プラットフォームを開きます。
- MetaEditorアイコンをクリックするか
F4
.
ステップ2:新規EAファイルの作成
- MetaEditorで File → New → Expert Advisor (template).
- 次のような名前を付ける。
シンプルMA_EA
. - クリック Next → Finish.
ステップ3:EAコードを書く
以下は、開始するために使用できる簡略化されたEAコードです:
//+------------------------------------------------------------------+
//| シンプルMA_EA.mq4|。
//+------------------------------------------------------------------+
#property strict
input int FastMA = 10;
input int SlowMA = 20;
input double LotSize = 0.1;
int start() {
double fastMA = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double slowMA = iMA(NULL, 0, SlowMA,, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double fastMA_prev = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 1);
double slowMA_prev = iMA(NULL, 0, SlowMA,, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 1);
if (fastMA > slowMA && fastMA_prev <= slowMA_prev) {
OrderSend(Symbol(), OP_BUY, LotSize, Ask、 2, 0, 0, "Buy Order", 0, 0, clrBlue);
}
if (fastMA = slowMA_prev) {
OrderSend(Symbol(), OP_SELL, LotSize, Bid, 2, 0, 0, "Sell Order", 0, 0, clrRed);
}
return(0);
}
このExpert Advisor(EA)は、単純移動平均(SMA)クロスオーバー戦略を使用して、MetaTrader 4上で自動売買を行います。Fast MAがSlow MAを上回ると、買い注文を発注します。Fast MAがSlow MAを下回ると、売り注文を発注します。
ステップ4:コンパイルとテスト
- を打つ。 Compile ボタンをクリックする。
- MT4に戻り、EAをチャートにドラッグしてテストします。
これで終わりです。これでMQL4を使って最初の自動売買システムを作成したことになる。
確かに!このMQL4 Expert Advisorスクリプトを分解してみよう。 シンプルMA_EA.mq4
あなたや初心者が、コードの各部分が何をしているのかを明確に理解できるように、一行一行丁寧に説明する。
コード分解と機能説明
#property strict
- これにより、コンパイル時のエラーチェックがより厳しくなり、よりクリーンなコードを実現できる。
input int FastMA = 10;
input int SlowMA = 20;
input double LotSize = 0.1;
- これらは input variablesつまり、ユーザーはEAの設定で簡単に変更できる:
FastMA
: の期間である。 Fast Moving Average例えば、10.SlowMA
: の期間である。 Slow Moving Average例えば、20.LotSize
: あなたのトレードの大きさ(この場合は0.1ロット)。
int start() {
- について
start()
関数は main loop MQL4 EA(旧バージョンのMetaTrader 4で使用)で使用。 - この関数は 新しいティック(価格更新)があるたびに を受信した。
double fastMA = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 0);
double slowMA = iMA(NULL, 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 0);
- これらのラインは、次のように計算する。 現在 の値である。 Fast MA そして Slow MA 使用して
iMA()
:NULL
: 現在のチャートシンボル。0
: 現在のタイムフレームFastMA/SlowMA
: 各MAの期間。0
: シフト(現在のキャンドル)。MODE_SMA
: 使用 Simple Moving Average.PRICE_CLOSE
: ローソク足の終値を基準とする。0
: 現在のキャンドル
double fastMA_prev = iMA(NULL, 0, FastMA, 0, MODE_SMA, PRICE_CLOSE, 1);
double slowMA_prev = iMA(NULL, 0, SlowMA, 0, MODE_SMA, PRICE_CLOSE, 1);
- これらのラインは 前のキャンドル MA値(
shift = 1
そのため、クロスオーバー・ロジックについて、現在と以前を比較することができる。
より $8.3 から$5.7/年請求

Tradingロジック
購入条件
if (fastMA > slowMA && fastMA_prev <= slowMA_prev) {
OrderSend(Symbol(), OP_BUY, LotSize, Ask, 2, 0, 0, "Buy Order", 0, 0, clrBlue);
}
- このブロックはチェックする:
- ファストMA 現在 スローMA?
- ファストMAとは何だったのか? 以下 をスローMAに変更した。 前キャンドル?
- もし はいをトリガーする。 買い注文 と:
Symbol()
: 現在のチャートペア(例:EURUSD)。OP_BUY
: オーダータイプ。LotSize
: ロット量Ask
: 現在の売値(買値)。2
: スリップ。0, 0
: ストップロスやテイクプロフィットはありません。"Buy Order"
: オーダーコメントclrBlue
: オーダーチャートに示された色。
販売条件
if (fastMA < slowMA && fastMA_prev >= slowMA_prev) {
OrderSend(Symbol(), OP_SELL, LotSize, 入札, 2, 0, 0, "Sell Order", 0, 0, クリレッド);
}
- このブロックはチェックする:
- ファストMA 以下 スローMA?
- ファストMAとは何だったのか? 以上 以前はスローMAに?
- もし はいを置く。 売り注文 使用して
OrderSend()
同じパラメーターでOP_SELL
.
return(0);
}
- 終了
start()
関数で0を返す(機能的には必要ないが、標準的な構文)。
より良いEAを構築するための次のステップ
EAが機能したら、おそらくそれを改良したくなるはずだ。それは可能です:
- 追加 ストップ・ロス そして 利益を得る ロジックの問題だ。
- 実施する トレーリングストップ.
- もっと使う インジケーター またはカスタムフィルター。
- 含む リスク管理 が特徴だ。
可能性は無限です。学べば学ぶほど、あなたのFX EAはより強力になります。
なぜFXのExpert AdvisorにVPSを使うのか?
この時点で、あなたはこう思うかもしれない: 「EAを作った。でも、24時間365日コンピュータの電源を入れっぱなしにする必要がありますか?"
答えはノーです—それがForex VPSです。仮想プライベートサーバー(VPS)は、あなたのEAがリモートサーバー上でノンストップ稼働することを可能にし、安定したアップタイム、low latency、中断のない取引—を提供します、 ロボットFX システム、アルゴリズム戦略。
VPSを使用することで、インターネットがダウンしたり、PCがクラッシュしたりしても、EAが機能し続けることを保証します。
自動化を真剣にお考えなら、Forex VPSが必要です。SocialVPSから高性能なForex VPSを入手し、EAを維持しましょう。 順調 24/7.
よくある質問
MQL4の習得にはどのくらい時間がかかりますか?
初心者の方は、数日で簡単なEAを書き始めることができます。より高度な機能を習得するには、あなたの熱心さにもよりますが、数週間から数ヶ月かかるでしょう。
コーディングなしでFX EAを作成できますか?
確かに、オンラインで利用可能なノーコードEAビルダーはありますが、それらはしばしば制限されています。MQL4を学ぶことで、ストラテジーを完全にコントロールし、柔軟性を持たせることができます。
FXのEAは儲かるのか?
Forex EAは、健全な戦略に基づいており、十分にテストされていれば、利益を上げることができます。長期的な成功には、バックテストと最適化が重要です。
異なる通貨ペアで同じEAを使用できますか?
はい、しかし、異なるペアやタイムフレームに合うように設定(MA期間やロットサイズなど)を微調整する必要があるかもしれません。
なぜFX EAをVPSで動かす必要があるのですか?
VPSは、EAを24時間365日オンラインに保ちます、 ダウンタイムを防ぐ, また、実行スピードも向上する—これは、動きの速い市場において戦略を左右する。