MQL5言語のプログラミング例に関する記事

icon

MQL5言語でMetaTraderプラットフォームのインジケータと自動売買ロボットを作成する方法を示すコード例を含む膨大な記事のコレクションにアクセスします。ソースコードは記事に添付されているので、MetaEditorで開いて実行して、アプリがどのように機能するかを確認できます。

これらの記事は自動取引初心者にも、プログラム経験があるプロのトレーダーにも役に立つでしょう。それらは単に例を特徴とするだけではなく、新しいアイデアも含んでいます。

新しい記事を追加
最新 | ベスト
preview
最も注目すべき人工協調探索アルゴリズムの修正(ACSm)

最も注目すべき人工協調探索アルゴリズムの修正(ACSm)

ここでは、ACSアルゴリズムの進化、つまり収束特性とアルゴリズムの効率性を向上させることを目的とした3つの変更について検討します。主要な最適化アルゴリズムの1つを変換します。行列の修正から母集団形成に関する革新的なアプローチまでをカバーします。
preview
GMDH (The Group Method of Data Handling):MQL5で多層反復アルゴリズムを実装する

GMDH (The Group Method of Data Handling):MQL5で多層反復アルゴリズムを実装する

この記事では、MQL5におけるGMDH (The Group Method of Data Handling)の多層反復アルゴリズム実装について説明します。
preview
RestAPIを統合したMQL5強化学習エージェントの開発(第2回):三目並べゲームREST APIとのHTTPインタラクションのためのMQL5関数

RestAPIを統合したMQL5強化学習エージェントの開発(第2回):三目並べゲームREST APIとのHTTPインタラクションのためのMQL5関数

この記事では、MQL5がPythonやFastAPIとどのように相互作用できるか、MQL5のHTTP呼び出しを使用してPythonの三目並べゲームと相互作用する方法について説明します。この記事では、この統合のためのFastAPIを使用したAPIの作成について説明し、MQL5でのテストスクリプトを提供することで、MQL5の多用途性、Pythonのシンプルさ、そして革新的なソルーションを生み出すために異なるテクノロジーを接続するFastAPIの有効性を強調しています。
preview
GMDH (The Group Method of Data Handling):MQL5で組合せアルゴリズムを実装する

GMDH (The Group Method of Data Handling):MQL5で組合せアルゴリズムを実装する

この記事では、MQL5における組合せアルゴリズムと、その改良版である組合せ選択(Combinatorial Selective)アルゴリズムの実装について、データ処理のグループ法アルゴリズムファミリーの探求を続けます。
preview
純粋なMQL5におけるエネルギーベースの学習を用いた特徴量選択アルゴリズム

純粋なMQL5におけるエネルギーベースの学習を用いた特徴量選択アルゴリズム

この記事では、「FREL:A stable feature selection algorithm」と題された学術論文に記載された、Feature Weighting as Regularized Energy-Based Learningと呼ばれる特徴量選択アルゴリズムの実装を紹介します。
preview
初級から中級まで:テンプレートとtypename(II)

初級から中級まで:テンプレートとtypename(II)

この記事では、最も難しいプログラミング状況のひとつである、同じ関数または手続きのテンプレート内で異なる型を使用する方法について説明します。これまで私たちは主に関数に焦点を当ててきましたが、ここで扱う内容はすべて手続きにも役立ち、応用可能です。
preview
DoEasy - コントロール(第3部):バインドされたコントロールの作成

DoEasy - コントロール(第3部):バインドされたコントロールの作成

本稿では、基本要素にバインドされた従属コントロールを作成します。開発は、基本的な制御機能を使用して実行されます。さらに、影を持つことができるオブジェクトに適用するとまだいくつかのロジックエラーが発生するため、グラフィック要素の影オブジェクトを少しいじります。
preview
リプレイシステムの開発(第32回):受注システム(I)

リプレイシステムの開発(第32回):受注システム(I)

これまで開発してきたものの中で、このシステムが最も複雑であることは、おそらく皆さんもお気づきでしょうし、最終的にはご納得いただけると思います。あとは非常に単純なことですが、取引サーバーの動作をシミュレーションするシステムを作る必要があります。取引サーバーの操作方法を正確に実装する必要性は、当然のことのように思えます。少なくとも言葉ではです。ただし、リプレイ/シミュレーションシステムのユーザーにとって、すべてがシームレスで透明なものとなるようにする必要があります。
preview
DoEasy - サービス関数(第1回):価格パターン

DoEasy - サービス関数(第1回):価格パターン

この記事では、時系列データを使用して価格パターンを検索するメソッドの開発に着手します。パターンには、どのようなタイプのパターンにも共通する、一定のパラメータセットがあります。この種のデータはすべて、基となる抽象パターンのオブジェクトクラスに集約されます。今回は、抽象パターンクラスとピンバーパターンクラスを作成します。
preview
DoEasy - サービス関数(第3回):アウトサイドバーパターン

DoEasy - サービス関数(第3回):アウトサイドバーパターン

本記事では、DoEasyライブラリにおけるアウトサイドバーのプライスアクションパターンを開発し、価格パターン管理へのアクセス手法を最適化します。あわせて、ライブラリのテスト中に判明したエラーや不具合の修正もおこないます。
preview
プライスアクション分析ツールキットの開発(第3回):Analytics Master EA

プライスアクション分析ツールキットの開発(第3回):Analytics Master EA

シンプルな取引スクリプトから完全に機能するエキスパートアドバイザー(EA)に移行することで、取引エクスペリエンスが大幅に向上します。チャートを自動で監視し、バックグラウンドで重要な計算を実行し、さらに2時間ごとに定期的な更新を提供するシステムを想像してみてください。このEAは、的確な取引判断を下すために不可欠な主要指標を分析し、常に最新の情報を取得して戦略を効果的に調整できるようにします。
preview
古典的な戦略を再構築する(第9回):多時間枠分析(II)

古典的な戦略を再構築する(第9回):多時間枠分析(II)

本日のディスカッションでは、AIモデルがどの時間枠で最高のパフォーマンスを発揮するかを明らかにするため、多時間枠分析の戦略を検討します。この分析により、EURUSDペアにおいて月次および時間足の時間枠が比較的誤差の少ないモデルを生成することが分かりました。この結果を活用し、月次時間枠でAIによる予測を行い、時間枠で取引を実行するアルゴリズムを作成しました。
preview
古典的な戦略をPythonで再構築する(第3回):高値更新と安値更新の予測

古典的な戦略をPythonで再構築する(第3回):高値更新と安値更新の予測

本連載では、古典的な取引戦略を実証的に分析し、AIを用いてそれらの改善が可能かどうかを検証します。本日の議論では、線形判別分析モデルを用いて高値更新と安値更新の予測に挑戦します。
preview
DoEasy - コントロール(第29部):ScrollBar補助コントロール

DoEasy - コントロール(第29部):ScrollBar補助コントロール

この記事では、ScrollBar補助コントロール要素とその派生オブジェクト(垂直および水平のスクロールバー)の開発を開始します。スクロールバーは、フォームのコンテンツがコンテナを超えた場合にスクロールするために使用されます。スクロールバーは通常フォームの下部と右側にあります。下部の水平のものはコンテンツを左右にスクロールし、垂直のものは上下にスクロールします。
preview
Candlestick Trend Constraintモデルの構築(第9回):マルチ戦略エキスパートアドバイザー(II)

Candlestick Trend Constraintモデルの構築(第9回):マルチ戦略エキスパートアドバイザー(II)

エキスパートアドバイザー(EA)に統合できる戦略の数は、事実上無限と言えます。しかし、戦略を追加するたびにアルゴリズムの複雑さが増していきます。複数の戦略を組み込むことで、EAは多様な市場環境により柔軟に適応し、収益性を向上させる可能性が高まります。本日は、Trend Constraint EAの機能をさらに強化するための取り組みとして、リチャード・ドンチャンが開発した著名な戦略のひとつを対象に、MQL5を活用する方法をご紹介します。
preview
初心者からプロまでMQL5をマスターする(第4回):配列、関数、グローバルターミナル変数について

初心者からプロまでMQL5をマスターする(第4回):配列、関数、グローバルターミナル変数について

この記事は初心者向け連載の続きです。データ配列、データと関数の相互作用、および異なるMQL5プログラム間でのデータ交換を可能にするグローバルターミナル変数について詳しく説明します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)

MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)

本記事では、より良い売買シグナルを得るために、RSIのレベルと期間を最適化する方法を探ります。最適なRSI値を推定する手法や、グリッドサーチと統計モデルを用いた期間選定の自動化について紹介します。最後に、Pythonによる分析を活用しながら、MQL5でソリューションを実装します。私たちのアプローチは、複雑になりがちな問題をシンプルに解決することを目指した、実用的かつ分かりやすいものです。
preview
リプレイシステムの開発(第38回):道を切り開く(II)

リプレイシステムの開発(第38回):道を切り開く(II)

MQL5プログラマーを自認する人の多くは、この記事で概説するような基本的な知識を持っていません。MQL5は多くの人によって限定的なツールだと考えてられていますが、実際の理由は、そのような人たちが必要な知識を持っていないということです。知らないことがあっても恥じることはありません。聞かなかったことを恥じるべきです。MetaTrader 5で指標の複製を強制的に無効にするだけでは、指標とEA間の双方向通信を確保することはできません。まだこれにはほど遠いものの、チャート上でこの指標が重複していないという事実は、私たちに自信を与えてくれます。
preview
細菌走化性最適化(BCO)

細菌走化性最適化(BCO)

この記事では、細菌走化性最適化(BCO)アルゴリズムのオリジナルバージョンとその改良版を紹介します。新バージョン「BCOm」では、細菌の移動メカニズムを簡素化し、位置履歴への依78ytf存を軽減するとともに、計算負荷の大きかった元のバージョンに比べて、より単純な数学的手法を採用しています。この記事では両者の違いを詳しく検討し、とくにBCOmの特徴に焦点を当てます。また、テストを実施し、その結果をまとめます。
preview
機械学習の限界を克服する(第1回):相互運用可能な指標の欠如

機械学習の限界を克服する(第1回):相互運用可能な指標の欠如

私たちのコミュニティがAIをあらゆる形態で活用した信頼性の高い取引戦略を構築しようとする努力を、静かに蝕んでいる強力で広範な力があります。本稿では、私たちが直面している問題の一部は、「ベストプラクティス」に盲目的に従うことに根ざしていることを明らかにします。読者に対して、実際の市場に基づくシンプルな証拠を提供することで、なぜそのような行動を避け、むしろドメイン固有のベストプラクティスを採用すべきかを論理的に示します。これによって、私たちのコミュニティがAIの潜在的な可能性を回復するチャンスを少しでも持てるようになるのです。
preview
リプレイシステムの開発(第35回):調整(I)

リプレイシステムの開発(第35回):調整(I)

前に進む前に、いくつかのことを解決する必要があります。これらは実際には必要な修正ではなく、クラスの管理方法や使用方法の改善です。その理由は、システム内の何らかの相互作用によって障害が発生したということです。このような失敗をなくすために原因を突き止めようと試みましたが、すべて失敗に終わりました。例えば、C/C++でポインタや再帰を使用すると、プログラムがクラッシュしてしまいます。
preview
DoEasy-コントロール(第12部):基本リストオブジェクト、ListBoxおよびButtonListBox WinFormsオブジェクト

DoEasy-コントロール(第12部):基本リストオブジェクト、ListBoxおよびButtonListBox WinFormsオブジェクト

この記事では、WinFormsオブジェクトリストの基本オブジェクトと、2つの新しいオブジェクトを作成します。ListBoxとButtonListBoxです。
preview
プライスアクション分析ツールキットの開発(第5回):Volatility Navigator EA

プライスアクション分析ツールキットの開発(第5回):Volatility Navigator EA

市場の方向性を判断するのは簡単ですが、いつエントリーするかを知るのは難しい場合があります。連載「プライスアクション分析ツールキットの開発」の一環として、エントリーポイント、テイクプロフィットレベル、ストップロスの配置を提供する別のツールを紹介できることを嬉しく思います。これを実現するために、MQL5プログラミング言語を利用しました。この記事では、各ステップについて詳しく見ていきましょう。
preview
リプレイシステムの開発(第57回):テストサービスについて

リプレイシステムの開発(第57回):テストサービスについて

注意点が1つあります。この記事にはサービスコードは含まれておらず、次の記事でのみ提供されます。ただし、実際の開発の出発点として同じコードを使用するため、この記事ではその説明をおこないます。ですので、注意深く、そして忍耐強く読んでください。毎日、すべてがさらに面白くなっていきますので、次の記事を楽しみにお待ちください。
preview
知っておくべきMQL5ウィザードのテクニック(第16回):固有ベクトルによる主成分分析

知っておくべきMQL5ウィザードのテクニック(第16回):固有ベクトルによる主成分分析

データ分析における次元削減技術である主成分分析について、固有値とベクトルを用いてどのように実装できるかを考察します。いつものように、MQL5ウィザードで使用可能なExpertSignalクラスのプロトタイプの開発を目指します。
preview
リプレイシステムの開発(第41回):第2段階(II)の開始

リプレイシステムの開発(第41回):第2段階(II)の開始

もし、この時点まですべてが正しく思えたとしたら、それはアプリケーションの開発を始めるときに、長期的なことをあまり考えていないということです。時間が経つにつれて、新しいアプリケーションをプログラムする必要はなくなり、それらを連携させるだけで済むようになります。それでは、マウス指標を組み立てる方法を説明しましょう。
preview
母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第1回)

母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第1回)

この記事では、2進数遺伝的アルゴリズムやその他の集団アルゴリズムで使用されるさまざまな手法を探ります。選択、交叉、突然変異といったアルゴリズムの主な構成要素と、それらが最適化に与える影響について見ていきます。さらに、データの表示手法と、それが最適化結果に与える影響についても研究します。
preview
MQL5取引ツールキット(第6回):直近で約定された予約注文に関する関数で履歴管理EX5ライブラリを拡張

MQL5取引ツールキット(第6回):直近で約定された予約注文に関する関数で履歴管理EX5ライブラリを拡張

EX5モジュールで、直近で約定された予約注文のデータをシームレスに取得・格納するエクスポート可能な関数を作成する方法を学びます。このステップバイステップの包括的なガイドでは、直近で約定された予約注文の重要なプロパティ(注文タイプ、発注時間、約定時間、約定タイプなど)を取得するための専用かつ機能別の関数群を開発することで、履歴管理EX5ライブラリをさらに強化していきます。これらのプロパティは、予約注文の取引履歴を効果的に管理・分析するうえで重要な情報です。
preview
リプレイシステムの開発(第37回):道を切り開く(I)

リプレイシステムの開発(第37回):道を切り開く(I)

今回は、もっと前にやりたかったことをようやく始めます。確固たる地盤がないため、この部分を公に発表する自信がありませんでした。今、私にはその根拠があります。この記事の内容を理解することにできるだけ集中することをお勧めします。単に読むだけではなくて、という意味です。ここで強調しておきたいのは、この記事を理解できなければ、それに続く記事の内容を理解することはできないということです。
preview
GIT:それは何か?

GIT:それは何か?

今回は、開発者にとって非常に重要なツールを紹介しましょう。GITに馴染みのない方は、この記事を読んでGITとは何か、MQL5でどのように使用するかをご覧ください。
preview
どんな市場でも優位性を得る方法(第3回):VISA消費指数

どんな市場でも優位性を得る方法(第3回):VISA消費指数

ビッグデータの世界では、取引戦略を向上させる可能性を秘めた数百万もの代替データセットが存在します。この連載では、最も有益な公共データセットを特定するお手伝いをします。
preview
DoEasy-コントロール(第10部):WinFormsオブジェクト - インターフェイスのアニメーション化

DoEasy-コントロール(第10部):WinFormsオブジェクト - インターフェイスのアニメーション化

ユーザーやオブジェクトとのオブジェクト対話機能を実装して、グラフィカルインターフェイスをアニメーション化するときが来ました。より複雑なオブジェクトを正しく動作させるためにも、新しい機能が必要になります。
preview
ニュース取引が簡単に(第2回):リスク管理

ニュース取引が簡単に(第2回):リスク管理

この記事では、以前のコードと新しいコードに継承を導入します。効率性を高めるために新しいデータベース設計が実装されます。さらに、取引量計算に取り組むためのリスク管理クラスも作成されます。
DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理
DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理

DoEasyライブラリのグラフィックス(第96部): フォームオブジェクトのグラフィックとマウスイベントの処理

本稿では、フォームオブジェクトでマウスイベントを処理する機能の作成を開始し、銘柄オブジェクトに新しいプロパティとそのトラッキングを追加します。さらに、チャート銘柄で新しいプロパティが考慮/追加されて追跡されるため、銘柄オブジェクトクラスを改善します。
preview
DoEasy-コントロール(第11部):WinFormsオブジェクト—グループ、CheckedListBox WinFormsオブジェクト

DoEasy-コントロール(第11部):WinFormsオブジェクト—グループ、CheckedListBox WinFormsオブジェクト

この記事では、WinFormsオブジェクトのグループ化と、CheckBoxオブジェクトリストオブジェクトの作成について検討します。
preview
Connexusのリクエスト(第6回):HTTPリクエストとレスポンスの作成

Connexusのリクエスト(第6回):HTTPリクエストとレスポンスの作成

Connexusライブラリ連載第6回目では、HTTPリクエストの構成要素全体に焦点を当て、リクエストを構成する各コンポーネントを取り上げます。そして、リクエスト全体を表現するクラスを作成し、これまでに作成したクラスを統合します。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第4回):スタッキングモデル

MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第4回):スタッキングモデル

本日は、自らの失敗から学習するAI搭載の取引アプリケーションの構築方法について解説します。特に、「スタッキング」と呼ばれる手法を紹介します。この手法では、2つのモデルを組み合わせて1つの予測をおこないます。1つ目のモデルは通常、性能が比較的低い学習者であり、2つ目のモデルはその学習者の残差を学習する、より高性能なモデルです。目標は、これらのモデルをアンサンブルとして統合することで、より高精度な予測を実現することです。
preview
MQL5で取引管理者パネルを作成する(第3回):テーマ管理のための組み込みクラスの拡張(II)

MQL5で取引管理者パネルを作成する(第3回):テーマ管理のための組み込みクラスの拡張(II)

このディスカッションでは、既存のダイアログライブラリを慎重に拡張して、テーマ管理ロジックを組み込みます。さらに、管理パネルプロジェクトで使用されるCDialog、CEdit、およびCButtonクラスにテーマ切り替えのメソッドを統合します。さらに洞察力のある視点については、引き続きお読みください。
preview
リプレイシステムの開発(第63回):サービスの再生(IV)

リプレイシステムの開発(第63回):サービスの再生(IV)

この記事では、1分足のティックシミュレーションに関する問題を最終的に解決し、実際のティックと共存できるようにします。これにより、将来的なトラブルを回避することが可能になります。ここで提示される資料は教育目的のみに使用されます。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
インジケーターを便利に扱うためのシンプルなソリューション

インジケーターを便利に扱うためのシンプルなソリューション

この記事では、チャート上からインジケーターの設定を直接変更できるシンプルなパネルの作成方法と、そのパネルをインジケーターに接続するために必要な変更点について解説します。この記事はMQL5初心者向けに書かれています。