MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
MQL5プログラミングベージックス:リスト
MQL5プログラミングベージックス:リスト

MQL5プログラミングベージックス:リスト

トレーディング戦略開発のためのプログラミング言語の新バージョン、MQL5は、以前のバージョン、MQL4と比較してより強力で効果的な機能を提供しています。その利点は本質的にオブジェクト指向プログラミングの機能にあります。この記事は、ノードやリストなど複雑なカスタムデータ型を用いることについて詳しく見ていきます。また、MQL5での実際的なプログラミングにてリストを用いる例を紹介します。
MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション
MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション

MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション

本稿では DLL ライブラリ- MetaTrader 4 と MATLAB の数学的デスクトップパッケージのインタラクションを可能にするラッパーの作成に関する考察を行います。また落とし穴とそれを克服する方法を説明します。本稿は Borland C++ Builder 6 コンパイラを使用している準備済みの C/C++ プログラマ―を対象としています。
CCanvasでのカスタム指標とインフォグラフィックス
CCanvasでのカスタム指標とインフォグラフィックス

CCanvasでのカスタム指標とインフォグラフィックス

本稿は、より複雑な構造的実装を伴う新しい種類の指標について検討し、擬似3D型指標と動的インフォグラフィックスの開発についても説明します。
Simulink:Expert Advisors開発者へのガイド
Simulink:Expert Advisors開発者へのガイド

Simulink:Expert Advisors開発者へのガイド

私はプロのプログラマではありません。そのため、トレーディングシステムの作業をする際、「シンプルから複雑へ」という原則は私にとって重要なものです。では私にとってシンプルとは正確にどういうことを言うのでしょうか?まず、システム作成プロセスの視覚化、そしてその動作のロジックです。また、手書きコードを最小限に抑えることです。本稿では、Matlabパッケージを基にトレーディングシステムを作成し検証することを目指しています。そしてIMetaTrader 5用のExpert Advisorを書いていきます。検証段階ではMetaTrader 5からの履歴データを使用します。
グラフィックエキスパートアドバイザー: オートグラフ
グラフィックエキスパートアドバイザー: オートグラフ

グラフィックエキスパートアドバイザー: オートグラフ

本稿はトレードを管理する便利なインターフェースである画面表示の利用法について書いています。
グラフィカルインタフェース V:リストビュー要素(チャプター 2)
グラフィカルインタフェース V:リストビュー要素(チャプター 2)

グラフィカルインタフェース V:リストビュー要素(チャプター 2)

前の章では、縦横スクロールバーを作成するためのクラスを書きました。この章では、それを実装します。縦スクロールバーはそのコンパウンドの一部となるリストビュー要素を作成するためのクラスが記述されます。
preview
データサイエンスと機械学習(第01回):線形回帰

データサイエンスと機械学習(第01回):線形回帰

私たちトレーダーは、数字に基づいた判断をするよう、システムと自分自身を訓練する時期に来ています。目ではなく、直感で信じるのは、これが世界が向かっているところだということです。波の方向に垂直に移動しましょう。
オープンされたポジションの二段階の修正
オープンされたポジションの二段階の修正

オープンされたポジションの二段階の修正

二段階アプローチにより、トレンドに近い状況でのポジションの不必要なクロージングや再オープンを避けることができます。
МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法
МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法

МetaTrader 5からWCFサービスを利用し.NETアプリケーションにクオートをエクスポートする方法

MetaTrader 5からご自身のアプリケーションにクオートをエクスポートしたくありませんか?MQL5-DLLジャンクションを使用するとそのソリューションの作成が可能です!本稿でMetaTrader 5から.NETに書かれたアプリケーションにクオートをエクスポートする方法の一つをお伝えします。私はまさにこのプラットフォームの使用により、クオートのエクスポート実装がおもしろく、根本的にやさしく行えました。残念ながらバージョン5はまだ.NETをサポートしていないので、かつてのように.NETサポート機能のあるwin32 dllを interlayerとして利用します。
Expert Advisor 内での Expert Advisor コンテスト
Expert Advisor 内での Expert Advisor コンテスト

Expert Advisor 内での Expert Advisor コンテスト

仮想取引によって、適応型 Expert Advisor を作成することができます。それは実マーケットでトレードをオン、オフするものです。1件の Expert Advisor に複数の戦略を組み合わせます。マルチシステム Expert Advisor は自動でトレーディング戦略を選択します。それは実マーケットで仮想取引の収益性をもとにトレードを行うには最良のものです。この種の方法により、ドローダウンを減少し、マーケットでの作業の収益性を上げることができるのです。実験を行い、結果を他の人と共有してください。多くの人がみなさんの戦略ポートフォリオを知りたがっていると思います。
Accumulation/Distributionへのインサイトと、そのゴール地点
Accumulation/Distributionへのインサイトと、そのゴール地点

Accumulation/Distributionへのインサイトと、そのゴール地点

Accumulation/Distribution (A/D)インジケーターは、一つ興味深い特徴があります - このインジケータチャートのトレンド線のブレークアウトは、特定の確率にてやがて来る価格チャートのトレンド線のブレークアウトを示唆します。この記事は、MQL4プログラミングに慣れ親しんでいない人にとってはとても役に立ち、面白い記事になるかと思います。この観点から最も簡単なコードの構造を用い、コーディングの方法を理解する上でわかりやすい情報を提示することに努めました。
MQL5 ウィザードで独自の Expert Advisor を作成する
MQL5 ウィザードで独自の Expert Advisor を作成する

MQL5 ウィザードで独自の Expert Advisor を作成する

売買ロボットを作成するのにプログラム言語の知識はもはや必須条件ではなくなっています。以前であれば、独自のトレーディングストラテジーを実装するのにプログラム技能がないことは避けがたい障害でしたが、 MQL5 「ウィザード」の登場により状況は根本的に変化しました。トレーダー初心者はプログラム経験がないことを心配しなくてよくなります。 Expert Advisor コードを作成することができる新しい「ウィザード」を使えば、プログラム経験は必要ないのです。
MetaTrader 4 クライアントターミナルと MS SQL  Server の統合
MetaTrader 4 クライアントターミナルと MS SQL  Server の統合

MetaTrader 4 クライアントターミナルと MS SQL Server の統合

本稿は dll を用いたMetaTrader 4 クライアントターミナルの MS SQL Server との統合例を提供します。また、С++ および MQL4 両言語でのソースコード、既製のコンパイル済み Visual C++ 6.0 SP5 プロジェクトを添付しています。
トレード戦略の色の最適化
トレード戦略の色の最適化

トレード戦略の色の最適化

この記事では、ある実験をします。つまり、色の最適化の結果を行います。 色は、赤、緑、青 (RGB) のレベルの3つのパラメータによって決まります。 他にも3つのパラメータを使用した色分け方法があります。 したがって、3つのテストパラメータを1つの色に変換して、値を視覚的に表すことができます。 この記事を読んで、このような表現が役立つかどうかを確認してください。
preview
手動チャートおよび取引ツールキット(第II部)チャートグラフィック描画ツール

手動チャートおよび取引ツールキット(第II部)チャートグラフィック描画ツール

これは連載の次の記事で、キーボードショートカットを使用してチャートグラフィックを手動で適用するための便利なライブラリを作成した方法を示します。使用されるツールには、直線とその組み合わせが含まれます。第2部では、第1部で説明した関数を使用して、描画ツールがどのように適用されるかを確認します。ライブラリは、チャート作成タスクを大幅に簡素化する任意のエキスパートアドバイザーまたはインディケーターに接続できます。このソリューションは外部DLLを使用せず、すべてのコマンドは組み込みのMQLツールを使用して実装されます。
取引のための組合せ論と確率論(第IV部): ベルヌーイの定理
取引のための組合せ論と確率論(第IV部): ベルヌーイの定理

取引のための組合せ論と確率論(第IV部): ベルヌーイの定理

本稿では、よく知られているベルヌーイスキームをハイライトし、それを使用して取引関連のデータ配列を記述する方法を示すことにしました。これらはすべて、自己適応型の取引システムを作成するために使用されます。また、より一般的なアルゴリズムを探して、その応用を見つけます。ベルヌーイの定理はその特殊なケースです。
確率論と数理統計学と例(第1部): 基礎理論と初等理論
確率論と数理統計学と例(第1部): 基礎理論と初等理論

確率論と数理統計学と例(第1部): 基礎理論と初等理論

取引とは、常に不確実性に直面して意思決定を行うことです。つまり、これらの決定が行われた時点では、決定の結果が明確ではありません。これには、そのようなケースを意味ある方法で説明できるようにする数学的モデルの構築への理論的アプローチの重要性が必然的に伴います。
指数平滑化を利用した時系列予測(続編)
指数平滑化を利用した時系列予測(続編)

指数平滑化を利用した時系列予測(続編)

本稿はすでに作成済みのインディケータをグレードアップを模索し、 またブート処理と変位値を利用して予測信頼区間を推定するための手法を簡単に取り上げます。その結果、予測精度を推定するために用いる予測インディケータおよびスクリプトを手にすることになります。
自作 DLL の排除
自作 DLL の排除

自作 DLL の排除

MQL5 言語機能がタスク遂行に十分でなければMQL5 プログラマーは別のツールを使用する必要があります。別のプログラム言語によって仲介DLL を作成する必要があります。MQL5 にはさまざまなデータタイプを表示し、それを API に転送する機能がありますが、残念ながら MQL5 は受け付けられたポインタからデータを抽出することに関する問題を解決することはできません。本稿ではすべての "i" にドットを打ち、複雑なデータタイプを交換し、それと連携するメカニズムを示していきます。
MQL5クックブック - 移動チャンネルのシグナルトレーディング
MQL5クックブック - 移動チャンネルのシグナルトレーディング

MQL5クックブック - 移動チャンネルのシグナルトレーディング

この記事では、移動チャネルに基づいたシグナルを送信するクラスを実装するプロセスについて説明します。各々は、テスト結果を取引戦略が引き続きます。標準ライブラリのクラスは派生クラスを作成するために使用します。
preview
連続ウォークスルー最適化(パート2):ロボットの最適化レポート作成のメカニズム

連続ウォークスルー最適化(パート2):ロボットの最適化レポート作成のメカニズム

ウォークスルー最適化シリーズの最初の記事では、自動オプティマイザで使用するDLLの作成について説明しました。 今回は完全にMQL5言語に専念します。
ミニマーケットエミュレータまたは手動ストラテジーテスター
ミニマーケットエミュレータまたは手動ストラテジーテスター

ミニマーケットエミュレータまたは手動ストラテジーテスター

ミニマーケットエミュレータは、端末での作業の部分的なエミュレーション用に設計された指標で、市場分析と取引の「手動」戦略をテストするために使用することができるでしょう。
トレーダーライフハック:"静かな"最適化とプロットトレード分布
トレーダーライフハック:"静かな"最適化とプロットトレード分布

トレーダーライフハック:"静かな"最適化とプロットトレード分布

トレードのヒストリーの分析とポジションエントリーの時間に応じて、HTMLでトレード結果の分布図をプロットします。このチャートは、次の3つのセクションで表示されています - 時間、曜日及び月。
ジグザグおよび ATR例によるクラスとしてのインディケータ実装
ジグザグおよび ATR例によるクラスとしてのインディケータ実装

ジグザグおよび ATR例によるクラスとしてのインディケータ実装

インディケータを計算する最適な方法についての議論は尽きるところがありません。どこでインディケータ値を計算すべきでしょうか?インディケータ自体でしょうか、またはそのインディケータを使う Expert Advisor に全ロジックを埋め込むのがよいのでしょうか?本稿では、カスタムインディケータ iCustom のソースコードをExpert Advisor のコードに直接、または計算最適化スクリプトに移動し、そして prev_calculated 値をモデル化するバリアントの一つについて述べていきます。
MQL5 「シグナル」のメリット
MQL5 「シグナル」のメリット

MQL5 「シグナル」のメリット

最近MetaTrader 5 に取り入れられたトレードシグナルサービスにより、トレーダーはあらゆるシグナル提供者のトレード処理をコピーすることができます。ユーザーは任意のシグナルを選択、それを定期購入すれば、すべてのティールがアカウントにコピーされます。シグナル提供者は定期購入額を設定すると、購入者から毎月固定額を受け取ることとなります。
領域法
領域法

領域法

取引システム『領域法』は、RSIオシレーターの通常ではない解釈において使われます。この記事では、領域法を可視化するインディケータと、このシステムに基づいてトレードを行うエキスパートアドバイザを提供します。記事では、様々な通貨ペアや時間軸、面積値でのエキスパートアドバイザの詳細なテスト結果が記述されています。
行列代数ライブラリ『LibMatrix』(第一部)
行列代数ライブラリ『LibMatrix』(第一部)

行列代数ライブラリ『LibMatrix』(第一部)

著者は読者に簡単な行列代数ライブラリを紹介します。主要な機能とその特徴を見ていきます。
CURLを使用した HTML の解析
CURLを使用した HTML の解析

CURLを使用した HTML の解析

この記事では、サードパーティのコンポーネントを使用してライブラリを解析する簡単な HTML コードについて説明します。 特に、GET リクエストと POST リクエストでは取得できないデータにアクセスする方法について説明します。 ページが大きすぎないウェブサイトを選定し、該当サイトから興味深いデータを取得しましょう。
ショウは続く- または ZigZag 再び。
ショウは続く- または ZigZag 再び。

ショウは続く- または ZigZag 再び。

ZigZag 構成の明確であるがまだサブスタンダートな方法について、そしてそれがどんな結果につながるか:単一のタイムフレーム(TF)にて、3つの大きなものに構築される ZigZag を表現するマルチフレーム フラクタル ZigZag インディケータ、について取り上げます。そこでは、それら大きなは標準的ではなく、範囲は M5~MN1です。
グラフィカルインタフェース V:コンボボックス要素(チャプター 3)
グラフィカルインタフェース V:コンボボックス要素(チャプター 3)

グラフィカルインタフェース V:コンボボックス要素(チャプター 3)

シリーズの第五部の最初の2つの記事では、スクロールバーとビューリストを作成するためのクラスが作成されました。この章では、コンボボックスコントロールのクラスを作成する方法についてお話します。これはまた、とりわけ第五部の前の章で考慮された要素を含むコンパウンドコントロールです。
preview
ニューラルネットワークが簡単に(第8回): アテンションメカニズム

ニューラルネットワークが簡単に(第8回): アテンションメカニズム

以前の記事では、ニューラルネットワークを整理するための様々な選択肢を既に検証しました. また、画像処理アルゴリズムから借りた畳み込みネットワークについても検討しました. 今回の記事では、言語モデルの開発に弾みをつけた「アテンション・メカニズム」を考えることを提案します.
統計の基礎
統計の基礎

統計の基礎

たとえファンダメンタル分析支持者であったとしても、すべてのトレーダーは、特定の統計的な計算を使用し作業を行います。この記事は、統計の基礎、基礎的な要素を紹介し、意思決定における統計の重要性を示します。
DoEasyライブラリの時系列(第40部): ライブラリに基づいた指標 - 実時間でのデータ更新
DoEasyライブラリの時系列(第40部): ライブラリに基づいた指標 - 実時間でのデータ更新

DoEasyライブラリの時系列(第40部): ライブラリに基づいた指標 - 実時間でのデータ更新

本稿では、DoEasyライブラリに基づく単純な複数期間指標の開発について検討します。時系列クラスを改善して、任意の時間枠からデータを受け取り、現在のチャート期間に表示します。
テスターでのブレークポイント:それは可能です!
テスターでのブレークポイント:それは可能です!

テスターでのブレークポイント:それは可能です!

この記事では、デバッグ情報が表示され、テスターで通過された際のブレークポイントエミュレーションを扱います。
preview
フラクタルによる取引システムの設計方法を学ぶ

フラクタルによる取引システムの設計方法を学ぶ

これは、最も人気のあるテクニカル指標に基づいて取引システムを設計する方法を学ぶための連載の新しい記事です。フラクタル指標という新しい指標を学び、それを基にした取引システムを設計し、MetaTrader 5ターミナルで実行する方法について学びます。
「穴」のないチャート
「穴」のないチャート

「穴」のないチャート

この記事は、バーの見逃しのないチャートの実装を目的にしています。
グラフィカルインタフェースIV:マルチウィンドウモードと優先度のシステム(チャプター2)
グラフィカルインタフェースIV:マルチウィンドウモードと優先度のシステム(チャプター2)

グラフィカルインタフェースIV:マルチウィンドウモードと優先度のシステム(チャプター2)

この章では、MQLアプリケーションでのマルチウィンドウインタフェースの作成の可能性をもたらすライブラリの実装を拡張します。また、グラフィカルオブジェクト上でのマウスの左クリックの優先順位のシステムを開発します。これは、要素がユーザのアクションに応答しない場合に発生する問題を回避するために必要です。
グリッドとマルチンゲール - それらは何でありどのように使用するか
グリッドとマルチンゲール - それらは何でありどのように使用するか

グリッドとマルチンゲール - それらは何でありどのように使用するか

本稿では、グリッドとマルチンゲールとは何か、そしてそれらに共通するものについて詳しく説明しようと思います。また、これらの戦略が実際にどれほど実行可能であるかの分析を試みます。本稿には、数学セクションと実用セクションがあります。
一个绘制支撑和阻力线的指标实例
一个绘制支撑和阻力线的指标实例

一个绘制支撑和阻力线的指标实例

本文提供了一个例子,它是关于如何实现根据指定条件绘制支撑和阻力线的指标的,另外,它也包含了一个可以使用的指标,您将看到,创建指标的过程有多么简单。您也将能学习如何通过修改指标代码来构建用于绘制任何所需线形的条件。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第16部): 銘柄コレクションイベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第16部): 銘柄コレクションイベント

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

本稿では、すべてのライブラリオブジェクトの新しい基本クラスを作成し、イベント機能をすべての子孫に追加します。また、この新しい基本クラスに基づいて、銘柄コレクションイベントを追跡するためのクラスを開発します。新しい基本オブジェクトの機能を開発するために、口座および口座イベントクラスは変更されます。