MQL4とMQL5のプログラム記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
新しいMetaTrader 4ビルド600以降へのアップデート

新しいMetaTrader 4ビルド600以降へのアップデート

4ターミナル(build600以降)の、ユーザーデータの保存場所が変更されました。以前は、全てのプログラムやテンプレート、プロフィールなどがターミナルのインストールディレクトリに直接保存されていましたが、これからは特定のユーザーターミナルの動作に必要不可欠なデータは、データフォルダと呼ばれる別個の特別なフォルダに保存されます。この記事では、よくある質問についての回答を集めました。
CSV ファイルを介した MetaTrader 4 と Matlab 間の連携

CSV ファイルを介した MetaTrader 4 と Matlab 間の連携

CSV ファイルを介した MetaTrader 4 と Matlab 間のデータ配列交換作成法の段階的手順。
オブジェクト指向プログラミング

オブジェクト指向プログラミング

オブジェクト指向プログラミングに関する多相性やカプセル化などについて理解する必要はありません。これらの機能を使うだけで良いのです。この記事ではオブジェクト指向プログラミングの基本を例を使って具体的に見ていきます。
80-20 トレード戦略

80-20 トレード戦略

この記事では、80-20 トレード戦略を分析するためツール (インジケーターおよびEA) の開発について説明します。トレードルールは"ストリートスマート"より引用します。リンダラッシュクとローレンス · コナーズによる"短期的なトレード戦略”です。mql5を使用して、戦略ルールを定式化し、最近の相場のヒストリーベースで、インディケータとEAをテストします。
ビジュアルストラテジービルダー。 プログラミングなしでトレーディングロボットを作成する

ビジュアルストラテジービルダー。 プログラミングなしでトレーディングロボットを作成する

この記事では、ビジュアルストラテジービルダーを紹介します。 ユーザーがプログラミングせずにトレードロボットやユーティリティを作成する方法について紹介します。 作成されたEAは、完全に機能し、ストラテジーテスターでテストすることができます。また、クラウドで最適化またはリアルタイムチャートでライブ実行することも可能です。
グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)

グラフィカルインタフェース III: シンプルなボタンと多機能ボタン(チャプター 1)

ボタンについて考えましょう。ここでは、簡単なボタン、拡張機能を持ったボタン(アイコンボタンとスプリットボタン)、また相互接続されたボタン(ボタングループとラジオボタン)を作成するためのいくつかのクラスの例を説明していきます。そのうえ、それらの能力を拡大するためのコントロールのために既存クラスにいくつかの追加を導入します。
トレーダーのリスクを低減するには

トレーダーのリスクを低減するには

金融市場における取引には広範囲のリスクがつきもので、これらは取引システムのアルゴリズムで考慮されるべきです。そのようなリスクを低減することは、取引で利益を得るために最も重要な課題です。
preview

Rを使って高速化したMQL5の統計分布

Rで実装されている基本的な統計分布を操作するための関数を紹介します。コーシー、ワイブル、正規、対数正規、ロジスティック、指数、均一、ガンマ分布、カイ 2 乗、中央と非心 beta スチューデントの t 分布、F 分布フィッシャーの離散二項および否定的な二項分布、幾何学、幾何とポアソン分布。これらのモデルに実際の分布の適合性の程度を評価できるように、分布の理論的モーメントを計算する関数があります。
DLLを使用せず、名前のつけられたパイプを使っての MetaTrader 5との通信

DLLを使用せず、名前のつけられたパイプを使っての MetaTrader 5との通信

多くの開発者が同じ課題に出会います。安全性の低い DLL を使わずトレーディングターミナルのサンドボックスを手に入れる方法です。もっとも簡単で安全な方法の一つは、通常のファイル処理で動作する標準的な「名前付きパイプ」を使用することです。名前付きパイプにより、プロセッサ内でプログラム間のクライアントサーバー通信を行うことができます。サーバー、クライアント、それらの間のデータ交換、パフォーマンスのベンチマークを含んだ C++ 言語および MQL5 での実用例を見ていきます。
ボリンジャーバンドによる取引システムの設計方法を学ぶ

ボリンジャーバンドによる取引システムの設計方法を学ぶ

この記事では、取引の世界で最も人気のある指標の1つであるボリンジャーバンドについて学びます。テクニカル分析を検討し、ボリンジャーバンド指標に基づいてアルゴリズム取引システムを設計する方法を確認します。
テクニカル分析と市場予測の手法について

テクニカル分析と市場予測の手法について

本稿は、チャートなどを使用した視覚的思考と、"箱から出した"市場見通しを通じ、よく知られた数学的手法の能力と可能性について考察しています。 一方で、本稿は、トレードの考え方を再考する想像力を得ることがでますので、幅広く皆さんの注目を集めると思います。また他方で、本稿は幅広い分析および予測ツールについての代替開発並びにプログラムコードの実装に役立つでしょう。
メタトレーダー5の EA の自動最適化

メタトレーダー5の EA の自動最適化

この記事では、MetaTrader5での自己最適化メカニズムの実装について説明します。
強化学習におけるモンテカルロ法の応用

強化学習におけるモンテカルロ法の応用

自己学習を行うEAを作成するためのReinforcement learningの適用。前回の記事では、Random Decision Forestアルゴリズムを学び、Reinforcement learning(強化学習)に基づく簡単な自己学習EAを作成しました。このアプローチの主な利点は、取引アルゴリズムを書くことの単純さと『学習」の高速性でした。強化学習(以下、単にRL)は、どのEAにも簡単に組み込むことができ、最適化のスピードを上げられます。
自己適応アルゴリズムの開発(第I部):基本的なパターンの検索

自己適応アルゴリズムの開発(第I部):基本的なパターンの検索

この連載では、ほとんどの市場要因を考慮した自己適応アルゴリズムの開発を示すとともに、これらの状況を体系化してロジックで説明し、取引活動で考慮に入れる方法を示します。非常に単純なアルゴリズムから始めて、徐々に理論を習得し、非常に複雑なプロジェクトに進化していきます。
金融時系列の予測

金融時系列の予測

金融時系列の予測はあらゆる投資活動に必要とされる要素です。将来利益を得るために今資金を投入する、という投資そのもののコンセプトは、将来予測のコンセプトに基づいています。そのため、金融時系列の予測は、組織化された為替やその他有価証券の取引システムといった投資業界全体に根差すものです。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第15部): 銘柄オブジェクトのコレクション

本稿では、前の記事で開発した抽象銘柄オブジェクトに基づく銘柄コレクションの作成を検討します。抽象銘柄の子孫は、銘柄データを明確にし、プログラム内での基本的な銘柄オブジェクトプロパティの可用性を定義します。このような銘柄オブジェクトは、グループとの関係によって区別されます。
ディープニューラルネットワーク(その4)ニューラルネットワーク分類器のアンサンブル: バギング

ディープニューラルネットワーク(その4)ニューラルネットワーク分類器のアンサンブル: バギング

本稿では、バギング構造を持つニューラルネットワークのアンサンブルを構築および訓練する方法について説明します。また、アンサンブルを構成する個々のニューラルネットワーク分類器の超パラメータ最適化の特性も特定されます。このシリーズの前の記事で得られた最適化ニューラルネットワークの品質は、作成されたニューラルネットワークのアンサンブルの品質と比較されます。アンサンブルの分類の質をさらに向上させる可能性が考慮されます。
MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

MQL5 クックブック: インジケーターサブウィンドウコンソールーボタン

この記事では、ボタンコンソールでユーザーインターフェースを開発する例を紹介します。ユーザーにインタラクティヴィティ性を伝えるため、ボタンはカーソルが図上にある際に色を変えます。ボタンの上にカーソルがある状態で、ボタンの色は、わずかに暗くなり、ボタンがクリックされた時には、わずかにより暗くなります。さらに、ツールチップをそれぞれのボタンに加え、直感的なインターフェースを作成します。
Expert Advisor Code で簡単にエラーを検出しリカバリする方法

Expert Advisor Code で簡単にエラーを検出しリカバリする方法

Expert Advisor の作成では、コードエラーの検出およびリカバリの質問はひじょうに重要なものです。独特なのは、ちょうど良いタイミングで検出されないエラーが、すでに第一の検証段階にあるトレーディングシステムの貴重な考えを台無しにしてしまうことです。賢明な EA 作成者がだれしもそういった問題を一番最初から考慮に入れるのはそのためです。本稿では、このむつかしい問題に役立つ方法をいくつか詳しく説明します。
МetaТrader 4のイベント

МetaТrader 4のイベント

この記事は、注文のオープン、クローズ、変更などのイベントを観測するМetaТrader 4ターミナルのプログラムに着目しており、MQL4でのプログラミングやターミナルを扱う基本的なスキルを持つユーザーを想定して書かれています。
MQL5言語でのTelegram用ボットの作成

MQL5言語でのTelegram用ボットの作成

この記事では、MQL5言語でのTelegram用ボットの作成を順を追って説明していきます。この資料は、トレードロボットを自分のモバイルデバイスに繋げたい人にとって、興味深いものになると思います。記事では、トレードシグナルのリンクの実行、サイト上の情報の検索、取引口座の状態や相場、チャートのスクリーンショットをあなたのモバイルデバイスへ送信するボットの例をご紹介します。
preview

Break of Structure (BoS)戦略のステップバイステップガイド

Break of Structure (BoS)戦略に基づく自動売買アルゴリズム開発のための包括的ガイドです。MQL5でエキスパートアドバイザー(EA)を作成し、MetaTrader 5でテストするためのあらゆる側面に関する詳細情報(価格サポートとレジスタンスの分析からリスク管理まで)が含まれています。
トレンドとは何か、相場の構造はトレンドかレンジかで決まるのか?

トレンドとは何か、相場の構造はトレンドかレンジかで決まるのか?

トレーダーはよくトレンドやレンジについて話しますが、トレンドやレンジとは何かを理解している人はほとんどおらず、概念を明確に説明できる人はさらにいません。 基本的な用語について考察することは、多くの場合、偏見や誤解の固まりに悩まされます。 しかし、利益を上げたいのであれば、概念の数学的・論理的な意味を理解する必要があります。 今回は、トレンドとレンジの本質に迫るとともに、相場の構造がトレンドなのか、レンジなのか、何か別のものなのかを定義してみたいと思います。 また、トレンド相場やレンジ相場で利益を出すための最適な戦略についても考えていきたいと思います。
MQLベースのエキスパートアドバイザとデータベースの統合 (SQL server、.NET、および C#)

MQLベースのエキスパートアドバイザとデータベースの統合 (SQL server、.NET、および C#)

この記事では、MQL5 ベースのEAに対して Microsoft SQL server データベースサーバーを使用する方法について説明します。 DLL からの関数のインポートが使用します。 DLL は、Microsoft .NET プラットフォームと C# 言語を使用して作成します。 この記事で使用するメソッドは、マイナーな調整があり、MQL4で書かれているEAに適しています。
実トレーディングにおける売買ロボットの自動最適化

実トレーディングにおける売買ロボットの自動最適化

本稿はトレーダーが EA から直接最適化を起動することで Expert Advisor のインプットを最適化できるようになる関数について説明し、そのライブラリを提供します。
MetaTrader5のカスタムウォークフォワード最適化

MetaTrader5のカスタムウォークフォワード最適化

この記事では、MQL で実装された組み込みのテスターおよび補助ライブラリを使用して、ウォークフォワード最適化による正確なシミュレーションを扱います。
エキスパートアドバイザーの資金管理のためのファンクション

エキスパートアドバイザーの資金管理のためのファンクション

トレード戦略の開発は主に市場に入り、そして、出るためのパターンの探索と、ポジションの維持に注目している。もし自動トレーディングのためにあるパターンをルールとして形式化できれば、トレーダーはポジションの量、マージンのサイズを計算する問題に立ち向かい、さらに貸付資金の安全なレベルを維持して自動モードでオープンなポジションを確実にするであろう。この論説では MQL5 言語を用いてこれらの計算を行う簡単な例を構築する
インジケーターの開発を依頼するための要件定義を作成する方法

インジケーターの開発を依頼するための要件定義を作成する方法

最もよくあるトレードシステムの開発の第一歩は、相場行動パターンを識別できるテクニカルインジケーターの作成です。 専門的に開発されたインジケーターを、フリーランスのサービスからオーダーすることができます。 この記事からは、適切な要件定義を作成する方法を学習します。より速く、希望のインジケーターを取得するのに役立ちます.
preview
時間の取扱い(第1部):基本

時間の取扱い(第1部):基本

時間の処理、証券会社のオフセット、夏時間または冬時間への変更を簡素化および明確化する関数とコードスニペット。正確なタイミングは取引において重要な要素になることがあります。現在時刻でロンドンやニューヨークの証券取引所がすでに開いているかまだ開いていないか、外国為替取引の取引時間はいつ開始および終了するかなどです。手動で取引して生活しているトレーダーにとって、これは大きな問題ではありません。
MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能

MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能

本稿ではMetaTrader 4のためのMetaTrader 5取引環境の簡単なエミュレータについてお話しします。このエミュレータは標準ライブラリの取引クラスの移行と調整を実装するものです。その結果、MetaTrader 5ウィザードで生成されたエキスパートアドバイザーは、そのままMetaTrader 4でコンパイルして実行することができます。
マシンラーニング:サポートベクターマシンをトレーディングで利用する方法

マシンラーニング:サポートベクターマシンをトレーディングで利用する方法

「サポートベクターマシン」は生物情報学分野でこれまで長く利用され、複雑なデータセットを評価し、データ分類すに利用できる有用なパターンを抽出するため数学を利用しています。本稿はサポートベクターマシンとは何か、それがどのように役立つか、またなぜ複雑なパターンを抽出するのに便利かを考察します。そしてそれをマーケットに応用する方法、およびトレードを行う上で将来役立つであろう使用方法を調査します。また「サポートベクターマシン学習ツール」を使用し、読者のみなさんがご自身のトレーディングで実験することができる実用例を提供します。
MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター

MQL5 クックブック:単一ウィンドウでのマルチ タイム フレームのモニター

MetaTrader 5 には解析に利用可能なタイムフレームが21あります。そういったウィンドウでは特別なチャートオブジェクトを利用することができます。既存のチャートにそのチャートオブジェクトを入れ、シンボル、タイムフレーム、その他プロパティを設定することができるのです。本稿ではそのようなチャートグラフィカルオブジェクトの詳細情報を提供します。同時にサブウィンドウにマルチチャートオブジェクトを設定することができるようになるコントロール(ボタン)を持つインディケータを作成します。またチャートオブジェクトは正確にサブウィンドウにフィットし、チャートまたはターミナルのサイズが変更されると自動で調整されます。
シグナルのクイック評価:トレーディング、ドローダウン/ロードとMFE/ MAE配信チャート

シグナルのクイック評価:トレーディング、ドローダウン/ロードとMFE/ MAE配信チャート

購読者は、多くの場合、シグナルプロバイダーのアカウントの総成長を分析することによって、適切なシグナルを検索します。しかし、特定のトレード戦略の潜在的なリスクを分析することも重要です。この記事では、その性能に基づいてトレードシグナルを評価するための簡単かつ効率的な方法を紹介します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 取引サーバから返されたエラーの処理

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第25部): 取引サーバから返されたエラーの処理

サーバに取引注文を送信した後は、エラーコードやエラーがないことを確認する必要があります。本稿では、取引サーバによって返されるエラーの処理について考察し、未決取引リクエストを作成する準備をします。
トレーダーの統計的クックブック:仮説

トレーダーの統計的クックブック:仮説

本稿では仮説について考察します。それは数理統計学の基本的考え方のひとつです。ここでは多様な仮説が検討され、数学的手法を用いて例を挙げて検証されます。実データはノンパラメトリックな方法を用いて一般化されます。データ処理には Statistica パッケージと移植された ALGLIB MQL5 数値解析ライブラリが使用されています。
MQL5ウィザード:トレーディングシグナル用モジュール作成方法

MQL5ウィザード:トレーディングシグナル用モジュール作成方法

この記事は、価格のクロスオーバーと移動平均に関するシグナルの実行とともに、トレーディングシグナルクラスの記述方法、 MQL5ウィザードのトレーディングストラテジー生成プログラムへの挿入方法、MQL5ウィザードにおいて生成されるクラスの記述フォーマットやストラクチャーについて紹介します。
preview
MQL5を使った線の扱い方

MQL5を使った線の扱い方

今回は、MQL5によるトレンドラインや支持線と抵抗線といった、最も重要な線の扱い方についてご紹介します。
preview
初心者からプロまでMQL5をマスターする(第1回):プログラミングを始める

初心者からプロまでMQL5をマスターする(第1回):プログラミングを始める

この記事は、プログラミングに関する連載の紹介です。読者がこれまでプログラミングを扱ったことがないことを前提としているため、この連載は基礎から始まります。プログラミング知識レベル:全くの初心者。
チャネルを利用したトレードのためのエキスパートアドバイザー

チャネルを利用したトレードのためのエキスパートアドバイザー

このエキスパートアドバイザーはチャネルラインをプロットします。上と下のチャネルラインがサポート・レジスタンスレベルとして振る舞います。エキスパートアドバイザーは基準点を設け、値が届くかチャネルラインを越えるかする度にサウンド通知をおこない、関連する印を描きます。フラクタルなフォーメーションにおいて、対応する矢印が最後のバーに現れます。ラインブレイクアウトは大きくなっていくトレンドの可能性を示唆します。このエキスパートアドバイザーは幅広い範囲で批評されます。
確率をトレードギャップに適用する

確率をトレードギャップに適用する

この記事では、トレード戦略の作成とテストに確率と数学的統計手法を適用します。 また、価格とランダムウォークの差を使用して、最適なトレードリスクを探します。 価格がゼロドリフトランダムウォークのように振る舞うならば、収益性の高いトレードは不可能であることが証明されています。