パンローリング株式会社
  • 出版
    • ウィザードブックス
    • 現代の錬金術師
    • カジノブック
    • フェニックスシリーズ
    • その他刊行書籍
    • セミナーDVD
    • ブルベアグッズ
    • お近くの取扱書店
    • 書店様へ
  • セミナー
    • 今後の開催予定
    • パンローリングチャンネル
    • セミナーDVD
    • 掲示板
    • ブログ広場
  • ソフトウエア
    • 相場アプリケーション
    • 試用版ダウンロード
    • プレミアムサポート
    • 掲示板
  • 会社情報
    • 会社概要
    • 所在地
    • 広報
    • 人材募集
    • お問い合わせ
  • オンラインストア
    • トレーダーズショップ
    • でじじ
    • マンガショップ
  • ホーム
  • 出版トップ
  • ウィザードブックス
  • Vol. 191
前へ | 次へ
FXメタトレーダー4 MQLプログラミング

FXメタトレーダー4 MQLプログラミング

堅牢なEA構築のための総合ガイド
Expert Advisor Programming: Creating Automated Trading Systems in MQL for MetaTrader 4

著 者:アンドリュー・R・ヤング

監修者:長尾慎太郎

訳 者:山下恵美子


定 価:本体2,800円+税

体 裁:A5判/294ページ

発売日:2012年3月

ISBNコード:978-4-7759-7158-1

  • 目次
  • 著者紹介
  • 購入特典

究極のMQLプログラミング――初級者には手解きのコツ、上級者にはひらめきを伝授!

MQLプログラミングのための初めての総合ガイドがついに登場! 本書は、今人気のメタトレーダー4を使ってFXの自動売買を行う堅牢なトレーディングシステムを開発するためのプロセスを紹介したものである。

世界中の個人トレーダーのために、何年にもわたって数多くのEA(自動売買システム)をプログラミングしてきた著者がその豊富な経験に基づいて、トレーディングを行ううえで必要となるさまざまな作業をプログラミングする方法を紹介する。

《トレーディングに必要な作業》
・成行注文、逆指値注文、指値注文を出す
・正確な損切り価格と利食い価格を計算する
・リスクに基づくロット数を計算する
・出した注文に柔軟性のあるトレイリングストップを追加設定する
・注文やポジションの総数を数えたり、それらの変更・決済を一度にまとめて行う
・インディケーターや価格データを使ってトレーディング条件を検証する
・柔軟性のある再利用可能な関数を作成する
・タイマー、メールによる警告、マルチンゲール戦略によるポジションサイジングといった高度な機能を追加する
・よくあるトレーディングエラーの防止と簡単なトラブルシューティングを行う
・小数点以下3桁および5桁を用いるブローカーとFIFOに対応できるようにする
・独自のカスタムインディケーターとスクリプトを作成する

トレーディングアイデアを自由にプログラミングし、短時間でEAを開発することを可能にする本書は、プログラミングの初心者からベテランプログラマーまで、あらゆるレベルのプログラマーにも役立つ。本書では数多くのサンプルプログラムを詳しい説明つきで提供すると同時に、高度な機能を持つサンプルプログラムや再利用可能な関数も紹介する。独自のEAの開発にぜひとも役立ててほしい。

目次

(本テキストは再校時のものです)

監修者まえがき
はじめに

第1章 MQL入門

メタエディター入門
基本的概念
MQ4ファイルの構造

第2章 売買注文

買い気配値、売り気配値、スプレッド
注文種別
注文を出す手順
関数OrderSend()
損切り価格と利食い価格の計算方法
関数MarketInfo()
注文やポジションの状態に関する情報の取得
決済とキャンセル
簡単なEA

第3章 高度な売買注文

ECNへの対応
注文の変更
損切り価格と待機注文の価格の検証
ロット数の計算
そのほかの注意点

第4章 作業の関数化

ロット数を計算するための関数
損切り注文と利食い注文を追加設定する
インクルードファイルを使う
ライブラリーを使う
関数を使った簡単なEA

第5章 ポジションと注文の管理

ループ(繰り返し処理)
待機注文と保有中のポジションの数を数える
トレイリングストップ
EAの更新

第6章 売買条件とインディケーター

価格データ
インディケーター
インディケーターの定数
いろいろな足のインディケーターの値の比較

第7章 日時

日付時刻型変数
日付時刻関数
簡単なタイマーの作成
新しい足の始値でトレードを実行する

第8章 ちょっとしたコツとアドバイス

エスケープ文字
チャートにコメントを表示する(チャートコメント)
チェック関数
自作EAの使用制限
関数MessageBox()
メールによる警告
エラー発生後の注文を出し直す
オーダーコメントを識別子として使う
証拠金を調べる
スプレッドを調べる
複数の注文を出す
グローバル変数
利益を調べる
マルチンゲール戦略
EAのデバッグ

第9章 カスタムインディケーターとスクリプト

バッファー
カスタムインディケーターの作成
スクリプト

付録A

簡単なEA
待機注文を出すための簡単なEA

付録B

高度なEA
待機注文を出すための高度なEA

付録C

関数を使ったEA
関数を使ったEA――待機注文

付録D

インクルードファイル

付録E

カスタムインディケーター

索引

監修者まえがき

 本書はアンドリュー・R・ヤングがMetaTraderに搭載されているMetaEditor(MQLエディター)で初歩的な自動売買プログラムの構築する方法を解説した“Expert Advisor Programming”の邦訳である。MetaTraderの名前を初めて聞いたという方に説明しておくと、それは個人投資家が外国為替(FX)の証拠金取引において用いる代表的な売買ツールで、各種ストラテジーの検証やそれに基づいたトレードの自動執行を可能としている。この種のツールがリリースされたおかげで、マーケットのモニタリングと売買の執行においては、機関投資家と個人投資家との距離は近年かなり縮まったと言ってよい。純粋にテクニカルな意味でのハンディキャップを個人投資家が感じることは今やもうないだろう。

 だが、マーケットに関する理解や有効な売買ストラテジーの構築に関しては、残念ながら逆の現象が起きているようだ。機関投資家の世界では、今世紀に入ってから数理的なアプローチによる売買ストラテジーが急速に進化・発展したが、一方で大多数の個人投資家はその流れから完全に取り残されてしまっている。もっとも、こうした技術改革は機関投資家のなかでも限られた人たちだけが実践し、そのメリットを享受しているのが実態であり、したがって、そのサークルから少し離れたところにいれば、機関投資家勤務で運用経験のある人間であってもそうした事情に疎いことになる。いわんやまったく情報が伝わってこない場所にいる個人投資家ならばなおさらである。

 ここで過去を振り返ってみれば、インターネットの黎明期にはこうした情報格差が極めて小さくなったことがあった。ネット上に参加者が少なくかつモラルが存在した時代には、トレードの実務に携わっている人が極めて質の高い情報を無償で発信し、それを読んで理解した側が素直にトレードを実行するだけで簡単に利益を得られるという構図が確かに存在したのだ。だがその後、ネットの裾野が広がるに従い誤った情報や悪意のあるデマがどっとあふれ出し、それを自ら進んで妄信する人が支配的になった。その結果、相場の真実を知る少数の人たちは排斥されるか、ネット上の無軌道ぶりにあきれて自ら去っていった。良貨は悪貨によって駆逐されたのである。彼らがネットに戻ってくることはもう二度とないであろう。今では、トレード技術について正しい何かを知るには、優れた先達の面識を得る偶然のチャンスに巡り会うか、もしくは断片的な情報を基に自分自身の手で一からそれを築き上げていくしかない。

 だが、それでも悲観する必要はまったくない。だれであれ事実に基づいた合理的な思考さえできれば、MetaTraderをはじめとした情報通信関連のツールを駆使することで後者は十分に可能である。むしろ、FXに限らずトレードとは本来まったく個人的なものであり、したがってすべての過程を自分の努力で成し遂げるべき種類のものなのだ。このような理由から、投資家の自助を促す本書のような解説書を私は熱烈に歓迎するものである。

 本書の翻訳にあたっては以下の方々に心から感謝の意を表したい。翻訳者の山下恵美子氏は正確な翻訳を実現してくださった。そして阿部達郎氏にはいつもながら丁寧な編集・校正を行っていただいた。また本書が発行される機会を得たのはパンローリング社社長の後藤康徳氏のおかげである。

 2012年1月

長尾慎太郎

はじめに

 最近、トレーダーたちの間でにわかに人気を集めているのがFX市場だ。FX市場は24時間取引ができ、しかも少ない証拠金で大きな取引ができる高レバレッジが魅力の市場だ。そのため大勢の一般トレーダーたちが活発にトレードするようになった。

 そしてFX用トレーディングプラットフォームとして、今最も人気を集めているのがメタトレーダー4(略してMT4)である。メタクオーツ・ソフトウエア社が開発したメタトレーダーは、ゲインキャピタル、FXCM、アルパリ、インターバンクFXなどの大手をはじめ、世界中のFXブローカーたちが発注ソフトとして採用している。

 メタトレーダーの人気の秘密は、無料で使えること、発注ソフトとして採用しているブローカーが多いこと、そして多くの役立つテクニカル分析ツールが搭載されている点にある。しかし、最大の魅力は、MQL(Meta Quotes Language)というパワフルなプログラミング言語を使って独自のプログラムを作成できる点にあるといってよいだろう。

 MQLのおかげで、トレーダーたちは独自のインディケーターや自動売買戦略を簡単にプログラミングできるようになった。しかも、ソフトウエアは無料で使える。株式や先物トレーディング用の似たようなソフトは1000ドル以上するものもある。また、トレーダーやプログラマーたちが集う世界規模のコミュニティーでは、プログラミングサービスやアドバイスのほか、さまざまなEA(エキスパートアドバイザー=Expert Advisors。自動売買システム)やインディケーターが無料あるいは有料で提供されている。

 MQLはC言語などの従来言語に似ているため、経験豊富なプログラマーにとっては比較的とっつきやすく、マニュアルも充実している。しかし、MQLでトレーディング戦略を効果的にプログラミングするには、試行錯誤を繰り返しながら地道に学んでいくしかない。

 MQLは低級言語の部類に入る。したがって、トレード関数を使ってさまざまなトレードを行うには独自の手順を作成する必要がある。したがって、例えばトレイリングストップのような簡単なものをプログラミングするのでも、MQLプログラミングの初心者にとっては困難な作業になるかもしれない。

 堅牢な自動売買戦略をプログラミングするときには、考慮しなければならない要素がたくさんある。しかもメタトレーダー自体、独特の特徴を多く持つため、プログラマーとしては注意が必要だ。初心者にとって、トラブルシューティング(問題解決)やEAのプログラミングに必要な技術を学ぶには若干時間がかかるかもしれない。

 本書によってEAプログラミング初心者の学習期間を短縮できれば幸いだ。本書では過去数年にわたってEAのプログラミングのために費やした多大な時間のなかで私が習得したちょっとしたコツやアドバイスもたくさん提供している。読者のみなさんのプログラミングにぜひ役立ててもらいたい。

本書について

 本書を読み終えるころには、トレイリングストップやマネーマネジメントなどの一般的なトレーディング要素を含め、独自の堅牢な自動売買戦略をMQLで作成するのに必要な知識が身についているはずだ。また、MTの組み込みインディケーター関数を使って簡単なインディケーターを構築できるようにもなっているだろう。

 本書はFXトレーディングとテクニカル分析の一般的な知識を持つ読者を対象とするものである。本書の読者はメタトレーダーにおけるEAやインディケーターの使い方については十分な知識を持っていることを想定している。プログラミングに関する基礎的な知識は必要で、基本的なプログラミング技術があり、変数、制御構造、関数、および現在普及しているプログラミング言語のシンタックス(文法)といった概念を知っているとより理解度は高まる。

 本書では実際のコードを見ながら学習を進めていく。新しい概念については登場した時点でできるかぎり説明するが、本書は言語マニュアルではないことを念頭に入れておいてもらいたい。詳しくは、MQLリファレンス(ホームページ http://docs.mql4.com/)を参照してもらいたい。MQLリファレンスはメタトレーダーに用意されているメタエディター(MQLエディター)という良質なIDE(integrated development editor。統合開発環境)にも装備されているので、そちらを参照してもらっても構わない。

 EAの開発に必要な関連事項はすべて網羅しているが、MQLについてはすべてを説明しているわけではない。MQLにはEAのプログラミングでは一般に使われない特殊な関数も数多く含まれている。配列関数、ファイル操作、オブジェクト、ウィンドウ、文字列、変換関数については本書では議論しない。

 MQL4の公式ホームページ http://www.mql4.com/ ではMQLプログラミングについての冊子が無料で入手できるので、便利な補足情報源としてぜひ活用してもらいたい。また同ホームページでは、MQLの基本的なプログラミング概念や高度なプログラミング概念について書かれた有益な記事も多くあり、インディケーターやサンプルコードを含むコードライブラリー、プログラミングについての質問に答えてくれるフォーラムもあるので、併せて利用するとよいだろう。

 本書で紹介するサンプルコードやテクニックは、私がやってみてうまくいったものだ。私は物事は機能性を犠牲にしないかぎり、できるだけシンプルなほうがよいと思っている。とはいえ、何事もそれを達成する方法は一通りではない。特にプログラミングではそうだ。同じ結果を得る有効な方法はたくさんある。さらに良い方法を求めて模索することも重要だ。

 付録に収録したコードはパンローリングのホームページからダウンロードすることができる。ソースコードをダウンロードしておけば自分で入力する手間が省ける。また、ソースコードを必要に応じて変更することで自分のニーズに合った新たなコードを作成することができるので、ぜひチャレンジしてみてもらいたい。

MQL5について

 本書執筆の現時点では、メタトレーダーの次期バージョン(メタトレーダー5)は試用版がリリースされている。最新版MQL(MQL5)には大幅な変更があるようだ。メタクオーツ社が発表したところによれば、メタトレーダー5はメタトレーダー4とは下位互換性はない。したがって、MQL4で書いたプログラムはMQL5用に書き直すか修正する必要がある。

 ただ、メタトレーダー5への移行はゆっくりとしたペースで進むのではないかと私は思っている。ブローカーもしばらくはメタトレーダー4を採用し続けると思われる。したがって、MQL4で書いたプログラムが今すぐに使い物にならなくなることはないだろう。メタトレーダー5やMQL5では関数やシンタックスは若干変更されるかもしれないが、本書で述べた概念そのものが変わることはない。

本書で使用するフォント

 MQL言語の要素、サンプルソースコードには等幅フォントを用いている。ソースコードで太字が使われている部分は、以前のサンプルコードから変更された部分である。

著者紹介

アンドリュー・R・ヤング(Andrew R. Young)
トレーディングシステムのプログラマー。メタトレーダー創成期からカリスマで、その後、MQLプログラミングのオンラインサービスを提供するイージー・エクスパート・フォレックス(Easy Expert Forex)を創設し、起業家としても活躍。現在、米テネシー州ナッシュビル在住。

購入者特典ダウンロード

本書の特典ファイルをトレーダーズショップ(直販サイト)の購入特典ダウンロードページよりダウンロードいただけます。

アクセスキー:
書籍版をご購入のお客様
書籍P.172のページ番号の右側に記載された4桁の数字(半角英数字のみ)

電子書籍版をご購入のお客様
本書に記載されている14桁程度の英小文字(半角英字のみ、数字は含みません)

関連書籍

  • iCustomで変幻自在のメタトレーダー

    iCustomで変幻自在のメタトレーダー

  • たすFX

    たすFX

  • DVDメタトレーダーとiCustomはじめの一歩

    DVDメタトレーダーとiCustomはじめの一歩

  • DVD メタトレーダー4 徹底活用入門

    DVD メタトレーダー4 徹底活用入門

  • FXメタトレーダー実践プログラミング

    FXメタトレーダー実践プログラミング

  • FXメタトレーダー入門

    FXメタトレーダー入門

  • 待つFX

    待つFX

  • ザFX

    ザFX

  • FXトレーディング

    FXトレーディング

  • 実践FXトレーディング

    実践FXトレーディング

書籍
  • ウィザードブックス
  • ウィザードコミックス
  • 現代の錬金術師
  • カジノブック
  • フェニックスシリーズ
  • パンローリングライブラリー
  • その他刊行書籍
DVD
  • パンローリングセミナー
  • ウィザード海外セミナー
グッズ
  • ブルベアグッズ
カタログ
  • Traders Shop Press
  • オーディオブック
書店様向け
  • お近くの取り扱い書店
  • 書店様へ
トレーダーズショップ
マンガショップ
でじじ

パンローリング株式会社

〒160-0023

東京都新宿区西新宿7-9-18

第三雨宮ビル6F

TEL:03-5386-7391

FAX:03-5386-7393

info@panrolling.com

  • 出版
  • セミナー
  • ソフトウエア

会社情報

  • 会社概要
  • お知らせ
  • 公式SNS
  • お問い合わせ
  • プライバシーポリシー

オンラインストア

  • トレーダーズショップ
  • でじじ
  • マンガショップ
© 1996-2026 Pan Rolling Inc. All rights reserved.