MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析
トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析

トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析

この記事では、トレードに適用される OLAP テクノロジを引き続き取り扱います。 最初の 2 つの記事で紹介した機能を拡張します。 今回は、クオートの運用分析について検討します。シェイプセレクタ 集計されたヒストリーデータに基づいて、トレード戦略に関する仮説を打ち出し、テストします。 この記事では、バーパターンとアダプティブトレードを研究するためのEAを紹介します。
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。ターミナルの再起動(シャットダウン)後に復元できるパラメータについて説明します。すべての例は、私のCaymanプロジェクトからの実際に機能するコードセグメントです。
preview
MQL5での行列およびベクトル演算

MQL5での行列およびベクトル演算

行列とベクトルがMQL5に導入され、数学的な解決策による効率的な操作が可能になりました。これらの新しい型は、数学表記に近い簡潔でわかりやすいコードを作成するための組み込みメソッドを提供します。配列は広範な機能を提供しますが、行列の方がはるかに効率的である場合が多くあります。
ギャップ ー 収入戦略か50/50か?
ギャップ ー 収入戦略か50/50か?

ギャップ ー 収入戦略か50/50か?

ギャップ現象の研究とは、前の時間枠の終値と次の時間の終値との間の有意差の状況や、日々のバーの向かう方向を分析することです。関数GetOpenFileNameのDLLシステムを使用します。
インディケータの経済的計算原理
インディケータの経済的計算原理

インディケータの経済的計算原理

自動化されたトレーディングシステムのプログラムコードではユーザーとテクニカルインディケータの呼び出しはほとんどスペースを取りません。たいてい数行のコード行ですむ簡単なものです。ただこの数行のコードがExpert Advisorの検証に必要な時間の多くを費やす、ということはよくあることです。インディケータ内でデータ計算に関連することはすべて、一見したよりもずっと綿密に配慮される必要があります。本稿ではこの件に関して詳しく述べていきます。
MVCデザインパターンとその可能なアプリケーション
MVCデザインパターンとその可能なアプリケーション

MVCデザインパターンとその可能なアプリケーション

本稿では、人気高いMVCパターンと、MQLプログラムでの使用の可能性、長所、短所について説明します。アイデアは、既存コードをモデル、ビュー、コントローラの3つの別々のコンポーネントに分割することです。
preview
MQL5の圏論(第14回):線形順序を持つ関手

MQL5の圏論(第14回):線形順序を持つ関手

この記事は、MQL5における圏論の実装に関する広範な連載の一部であり、関手について掘り下げます。関手のおかげで線形順序が集合にどのように写像できるかを検証します。一般的には何のつながりもないと見なされてしまうような2つのデータ集合について考えます。
preview
MQL5クックブック - サービス

MQL5クックブック - サービス

この記事では、チャートへの結合を必要としないMQL5プログラムである「サービス」の多彩な機能について説明しています。また、他のMQL5プログラムとのサービスの違いをハイライトし、開発者がサービスで作業する際の微妙な違いを強調しています。例として、読者にはサービスとして実装できる幅広い機能をカバーするさまざまなタスクが提供されます。
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースを作成するためのライブラリの開発が続きます。今回は、チェックボックスコントロールのリストとTimeが対象となります。さらに、CTableクラスではデータを昇順または降順に並べ替えることができるようになりました。
preview
クラスター分析(第I部):インジケーターラインの傾きをマスターする

クラスター分析(第I部):インジケーターラインの傾きをマスターする

クラスター分析は、人工知能の最も重要な要素の1つです。この記事では、指標の傾きのクラスター分析を適用して、市場が横ばいであるかトレンドに従っているのかを判断するためのしきい値の取得を試みます。
ソーシャルテクノロジースタートアップの構築 パート2: MQL5 REST クライアントのプログラミング
ソーシャルテクノロジースタートアップの構築 パート2: MQL5 REST クライアントのプログラミング

ソーシャルテクノロジースタートアップの構築 パート2: MQL5 REST クライアントのプログラミング

本稿パート1でご紹介した PHP ベースの Twitter の考え方を形にしましょう。の異なるパーツを SDSS 組み立てるのです。システムアーキテクチャのクライアント側において、HTTP を介してトレードシグナルを送信するために新しいMQL5 WebRequest() 関数に頼ります。
preview
SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC (Smart Money Concepts)で取引のレベルアップを実現する:OB、BOS、FVG

SMC(Smart Money Concepts、スマートマネーコンセプト)のOB(Order Blocks、注文ブロック)、BOS(Break of Structure、ブレイクオブストラクチャ)、FVG(Fair Value Gaps、公正価格ギャップ)を1つの強力なEAに統合することで、取引をさらに進化させることができます。自動モードで戦略を実行することも、特定のSMCコンセプトだけを使用することも可能で、柔軟かつ精度の高い取引が実現します。
メリルパターンに基づくストラテジービルダー
メリルパターンに基づくストラテジービルダー

メリルパターンに基づくストラテジービルダー

前回の記事では、通貨シンボルチャートの価格値や標準MetaTrader5インジケータの値(ATR、WPR、CCI、RSIなど)など、さまざまなデータにメリルパターンを適用することを考察しました。 今回はメリルパターンに基づいて戦略構築セットを作成してみましょう。
数式の計算(第2部)Prattパーサーおよび操車場パーサー
数式の計算(第2部)Prattパーサーおよび操車場パーサー

数式の計算(第2部)Prattパーサーおよび操車場パーサー

この記事では、演算子の優先順位に基づいたパーサーを使用した数式の解析と評価の原則について検討します。Prattパーサーと操車場パーサー、バイトコードの生成とこのコードによる計算を実装し、式の関数として指標を使用する方法と、これらの指標に基づいてエキスパートアドバイザーで取引シグナルを設定する方法を確認します。
preview
古典的戦略の再構築:原油

古典的戦略の再構築:原油

この記事では、教師あり機械学習アルゴリズムを活用することで、古典的な原油取引戦略を強化することを目的として、原油取引戦略を再検討します。ブレント原油価格とWTI原油価格のスプレッドに基づいて、将来のブレント原油価格を予測する最小二乗モデルを構築します。目標は、将来のブレント価格変動の先行指標を特定することです。
preview
MQL5でのAutoItの使用

MQL5でのAutoItの使用

簡単に説明すると、この記事では、MQL5をAutoItと統合することによってMetraTrader5ターミナルのスクリプトを作成します。その中で、ターミナルのユーザーインターフェイスを操作することによってさまざまなタスクを自動化する方法を説明し、AutoItXライブラリを使用するクラスも紹介します。
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法
自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に向けたExpert Advisor迅速作成法

自動トレーディングシステム選手権2010に参加するためのエクスパート開発をめざし、すぐに使えるExpert Advisorテンプレートを使用します。Even novice MQL5プログラマの初心者でもこのタスクをこなすことは可能です。というのも戦略のために基本クラス、関数、テンプレートがすでに準備されているからです。よってみなさんのトレーディングの考えに合う最低限のコードを書いて実装すれば十分です。
preview
取引トランザクション:リクエストとレスポンスの構造体、説明、ロギング

取引トランザクション:リクエストとレスポンスの構造体、説明、ロギング

この記事では、取引リクエストの構造体、すなわち、リクエストの作成、サーバーに送信する前の事前検証、取引リクエストに対するサーバーの応答、および取引トランザクションの構造体の取り扱いについて検討します。取引注文をサーバーに送信するためのシンプルで便利な関数を作成し、すべての議論された内容に基づいて、取引トランザクションを通知するEAを作成します。
カスタムグラフィックコントロールパート2コントロールライブラリ
カスタムグラフィックコントロールパート2コントロールライブラリ

カスタムグラフィックコントロールパート2コントロールライブラリ

「カスタムグラフィックコントロール」シリーズ第2弾となる本稿では、プログラム(エキスパートアドバイザ、スクリプト、インディケータ)とユーザ間のインタラクションにおいて起こる主要な問題を処理するコントロールライブラリを紹介します。このライブラリにはたいへん多くのクラス(CInputBox、CSpinInputBox、CCheckBox、CRadioGroup、CVSсrollBar、CHSсrollBar、CList、CListMS、 CComBox、CHMenu、CVMenu、CHProgress、CDialer、CDialerInputBox、CTable)と、それらの使用例が含まれています。
preview
価格変動モデルとその主な規定(第1回)。最もシンプルなモデルバージョンとその応用

価格変動モデルとその主な規定(第1回)。最もシンプルなモデルバージョンとその応用

この記事は、数学的に厳密な値動きと市場機能の理論の基礎を提供するものです。現在に至るまで、数学的に厳密な値動き理論は存在しません。その代わりに、「あるパターンの後に、ある方向に価格が動く」という経験則に基づいた仮定で対処する必要がありました。もちろん、これらの仮定は統計にも理論にも裏付けられていません。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

この記事の多通貨EAは、クロスラインを持つ2つのRSI指標、低速RSIと交差する高速RSIを使用するEA(自動売買ロボット)です。
自動ニューストレーダーのバインディング
自動ニューストレーダーのバインディング

自動ニューストレーダーのバインディング

これは一からシンプルなオブジェクト指向 EA を構築する方法を述べ、オブジェクト指向プログラミングのアドバイスを提供したもう一つ別の MQL5 OOP クラス記事の続編です。本稿では、ニュースをトレードすることのできる EA を開発するのに必要とされる技術の基本をお話します。目標は OOP に関する考え方を提示し続け、ファイルシステムと関連づけながらこのシリーズにおける新しいトピックを取り上げることです。
preview
ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークの話題の続きとして、畳み込み型ニューラルネットワークの考察を提案します。 この種のニューラルネットワークは、通常、視覚的なイメージの分析に適用されます。 本稿では、これらのネットワークの金融市場への応用について考察します。
DoEasyライブラリの時系列(第39部): ライブラリに基づいた指標 - データイベントと時系列イベントの準備
DoEasyライブラリの時系列(第39部): ライブラリに基づいた指標 - データイベントと時系列イベントの準備

DoEasyライブラリの時系列(第39部): ライブラリに基づいた指標 - データイベントと時系列イベントの準備

本稿では、DoEasyライブラリを適用して複数の銘柄の複数期間の指標を作成する方法について説明します。指標内で機能するライブラリクラスを準備し、指標のデータソースとして使用される時系列の作成をテストします。時系列イベントの作成と送信も実装します。
自己キャッシング指標の速度比較
自己キャッシング指標の速度比較

自己キャッシング指標の速度比較

本稿では、MQL5指標への古典的なアクセスと、代替のMQL4形式のアクセス法を比較します。指標へのMQL4形式のアクセスについては何種類かが考慮されます。MQL5コア内の指標ハンドルも考慮して分析されます。
preview
継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

本連載では、ユーザーや読者の皆様からのご意見・ご要望をもとに、プログラムを修正しています。 この記事では、オートオプティマイザーの新バージョンを掲載しています。 このバージョンでは、要求された機能を実装し、他の改善点を提供しています。
preview
MQL5取引ツールキット(第2回):ポジション管理EX5ライブラリの拡張と実装

MQL5取引ツールキット(第2回):ポジション管理EX5ライブラリの拡張と実装

MQL5コードやプロジェクトでEX5ライブラリをインポートして使用する方法をご紹介します。今回は、既存のライブラリにポジション管理関数を追加し、2つのエキスパートアドバイザー(EA)を作成することで、EX5ライブラリを拡張します。最初の例では、可変指数ダイナミック平均(VIDyA: Variable Index Dynamic Average)テクニカル指標を使用して、トレーリングストップ取引戦略EAを開発し、2番目の例では、取引パネルを使用して、ポジションの監視、オープン、クローズ、および修正をおこないます。この2つの例では、アップグレードされたEX5ポジション管理ライブラリの使用方法と実装方法を紹介します。
preview
一からの取引エキスパートアドバイザーの開発(第31部):未来に向かって(IV)

一からの取引エキスパートアドバイザーの開発(第31部):未来に向かって(IV)

引き続きEAから分離した部分を取り除きます。本連載は今回で最終回です。そして、最後に取り除くのがサウンドシステムです。この連載をご覧になっていない方には、少し分かりにくいかもしれません。
preview
ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

これまで、様々な種類のニューラルネットワークをその実装とともに考察してきました。 すべての場合において、ニューラルネットワークは、学習率を選択する必要があるグラディエントディーセント法を用いてトレーニングされました。 今回は、正しく選択されたレートの重要性とニューラルネットワーク学習への影響を例を用いて示したいと思います。
preview
データサイエンスと機械学習(第02回):ロジスティック回帰

データサイエンスと機械学習(第02回):ロジスティック回帰

データ分類は、アルゴトレーダーとプログラマーにとって非常に重要なものです。この記事では、「はい」と「いいえ」、上と下、買いと売りを識別するのに役立つ可能性のある分類ロジスティックアルゴリズムの1つに焦点を当てます。
preview
MQL5でインタラクティブなグラフィカルユーザーインターフェイスを作成する(第2回):コントロールと応答性の追加

MQL5でインタラクティブなグラフィカルユーザーインターフェイスを作成する(第2回):コントロールと応答性の追加

ダイナミックな機能でMQL5のGUIパネルを強化することで、ユーザーの取引体験を大幅に向上させることができます。インタラクティブな要素、ホバー効果、リアルタイムのデータ更新を取り入れることで、パネルは現代のトレーダーにとって強力なツールとなるでしょう。
preview
MQL5.comでシグナルプロバイダーとして成功する方法

MQL5.comでシグナルプロバイダーとして成功する方法

この記事の主な目的は、MQL5.comでトップのシグナルプロバイダーになるための手順を簡単かつ正確に説明することです。私の知識と経験に基づいて、優れた戦略を見つけ、テストして最適化する方法など、成功するシグナルプロバイダーになるために何が必要かを説明します。さらに、シグナルの公開、説得力のある説明の作成、シグナルの効果的な宣伝と管理に関するヒントも提供します。
トレードにおけるOLAPの適用(パート2):インタラクティブな多次元データ分析結果の可視化
トレードにおけるOLAPの適用(パート2):インタラクティブな多次元データ分析結果の可視化

トレードにおけるOLAPの適用(パート2):インタラクティブな多次元データ分析結果の可視化

この記事では、OLAP技術を使用して口座ヒストリーとトレードレポートの処理に設計されたMQLプログラム用のインタラクティブなグラフィカルインタフェースの作成について考察します。 視覚的な結果を得るために、最大化可能でスケーラブルなウィンドウ、ラバーコントロールの適応レイアウト、および図を表示するための新しいコントロールを使用します。 ビジュアライゼーション関数を提供するために、座標軸に沿った変数の選択と、集計関数、ダイアグラムタイプ、並べ替えオプションの選択を含むGUIを実装します。
preview
MQL5入門(第9回):MQL5のオブジェクトの理解と使用

MQL5入門(第9回):MQL5のオブジェクトの理解と使用

現在のデータと履歴データを使用して、MQL5でチャートオブジェクトを作成およびカスタマイズする方法を学びます。このプロジェクトベースのガイドは、取引を可視化し、MQL5の概念を実際に適用するのに役立ち、取引のニーズに合わせたツールの構築が容易になります。
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

マルチラインテキストボックスの開発を続けましょう。今回の課題は、テキストがボックス幅を超えた場合には自動的にワードラップを行い、機会が生じた場合にはワードラップを取り消してテキストを前行に収めることです。
MQL5での「スネーク」ゲームの作成
MQL5での「スネーク」ゲームの作成

MQL5での「スネーク」ゲームの作成

本稿では『スネーク』ゲームのプログラム例を述べていきます。MQL5では、主にイベントハンドル機能によりゲームのプログラムが可能となりました。オブジェクト指向プログラミングによりこのプロセスが格段に簡素化されます。本稿では、イベント処理機能 標準的な MQL5 ライブラリクラスの使用例、また定期的関数呼び出しの詳細を学習します。
MQL5-RPC. MQL5からのリモートプロシージャコール:ウェブサービスアクセスと、利益のためのXML-RPC ATC アナライザー
MQL5-RPC. MQL5からのリモートプロシージャコール:ウェブサービスアクセスと、利益のためのXML-RPC ATC アナライザー

MQL5-RPC. MQL5からのリモートプロシージャコール:ウェブサービスアクセスと、利益のためのXML-RPC ATC アナライザー

この記事は、リモートプロシージャコールを可能にするMQL5-RPCフレームワークを紹介します。XML-RPCの基礎から始め、MQL5の実装、そして、二つの実例を紹介します。最初の例は、外部のウェブサービスを使用するというもので、二つ目は、XML-RPC ATC 2011 Analyzerサービスのクライアントの例です。もし、ATC 2011からの異なる統計の実装や分析方法に興味のある場合、この記事はうってつけだと思います。
preview
データサイエンスと機械学習(第06回):勾配降下法

データサイエンスと機械学習(第06回):勾配降下法

勾配降下法は、ニューラルネットワークや多くの機械学習アルゴリズムの訓練において重要な役割を果たします。これは、その印象的な成果にもかかわらず、迅速でインテリジェントなアルゴリズムであり、多くのデータサイエンティストによっていまだに誤解されています。
preview
アプリケーションを使用してMQL5の関数を理解する

アプリケーションを使用してMQL5の関数を理解する

関数はどのプログラミング言語においても重要なものです。関数は、開発者が同じことを繰り返さないことを意味するDRY (Do not Repeat Yourself)の概念を適用するのに役立つなどの多くのメリットを提供します。この記事では、関数に関する詳細情報と、物事を複雑にすることなく取引システムを強化するために、あらゆるシステムで使用または呼び出しできる簡単なアプリケーションを作成して、MQL5で独自の関数を作成する方法について説明します。
preview
MQLプロジェクトでJSON Data APIを使用する

MQLプロジェクトでJSON Data APIを使用する

MetaTraderにはないデータを使用できることを想像してみてください。価格分析とテクニカル分析による指標からデータを得るだけです。取引力を一段と高めるデータにアクセスできることを想像してみてください。APIデータを通して他のソフトウェア、マクロ分析手法、超高度ツールの出力をMetaTraderを通じてミックスすれば、MetaTraderソフトウェアのパワーを倍増させることができます。この記事では、APIの使い方を教え、便利で価値のあるAPIデータサービスを紹介します。