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

icon

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

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

新しい記事を追加
最新 | ベスト
preview
初級から中級へ:BREAK文とCONTINUE文

初級から中級へ:BREAK文とCONTINUE文

この記事では、ループ内でのRETURN、BREAK、CONTINUE文の使い方について解説します。ループの実行フローにおいて、これらの各文がどのような役割を果たすかを理解することは、より複雑なアプリケーションを扱う上で非常に重要です。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
Connexusヘルパー(第5回):HTTPメソッドとステータスコード

Connexusヘルパー(第5回):HTTPメソッドとステータスコード

この記事では、Web上でクライアントとサーバー間の重要な通信手段であるHTTPメソッドとステータスコードについて理解します。各メソッドの役割を理解することで、リクエストをより正確に制御できるようになり、サーバーに対して実行したいアクションを明確に伝えることができます。これにより、通信の効率が向上します。
preview
マーケットプロファイルインジケーター(第2回):キャンバス上の最適化と描画

マーケットプロファイルインジケーター(第2回):キャンバス上の最適化と描画

この記事では、複数のグラフィカルオブジェクトでの描画を、CCanvasクラスのオブジェクト上での描画に置き換えた、最適化されたマーケットプロファイルインジケーターのバージョンについて考察しています。
preview
USDとEURの指数チャート—MetaTrader 5サービスの例

USDとEURの指数チャート—MetaTrader 5サービスの例

MetaTrader 5サービスを例に、米ドル指数(USDX)およびユーロ指数(EURX)チャートの作成と更新について考察します。サービス起動時には、必要な合成銘柄が存在するかを確認し、未作成であれば新規作成します。その後、それを気配値表示ウィンドウに追加します。続いて、合成銘柄の1分足およびティック履歴を作成し、最後にその銘柄のチャートを表示します。
preview
Connexusの本体(第4回):HTTP本体サポートの追加

Connexusの本体(第4回):HTTP本体サポートの追加

この記事では、JSONやプレーンテキストなどのデータを送信するために不可欠な、HTTPリクエストにおける本体(ボディ)の概念について探りました。適切なヘッダを使った正しい使い方を議論し、説明しました。また、Connexusライブラリの一部であるChttpBodyクラスを導入し、リクエストの本体の処理を簡素化しました。
preview
MQL5で取引管理者パネルを作成する(第7回):信頼できるユーザー、回復、暗号化

MQL5で取引管理者パネルを作成する(第7回):信頼できるユーザー、回復、暗号化

チャートの更新や管理パネル(Admin Panel) EAとのチャットに新しいペアを追加する際、または端末を再起動するたびにトリガーされるセキュリティプロンプトは、時に煩わしく感じられることがあります。このディスカッションでは、ログイン試行回数を追跡して信頼できるユーザーを識別する機能を検討し、実装します。一定回数の試行に失敗した場合、アプリケーションは高度なログイン手続きに移行し、パスコードを忘れたユーザーが回復できるようにします。さらに、管理パネルに暗号化を効果的に統合してセキュリティを強化する方法についても取り上げます。
preview
ログレコードをマスターする(第6回):ログをデータベースに保存する

ログレコードをマスターする(第6回):ログをデータベースに保存する

この記事では、ログを構造化され、スケーラブルな方法で保存するためにデータベースを使用する手法を取り上げます。基本的な概念、主要な操作、MQL5におけるデータベースハンドラの設定と実装を順を追って解説し、最後にその結果を検証し、このアプローチが最適化と効率的なモニタリングにどのように役立つかを明らかにします。
preview
適応型社会行動最適化(ASBO):Schwefel、ボックス=ミュラー法

適応型社会行動最適化(ASBO):Schwefel、ボックス=ミュラー法

この記事は、生物の社会的行動の世界と、それが新たな数学モデルであるASBO(適応型社会的行動最適化、Adaptive Social Behavior Optimization)の構築に与える影響について、興味深い洞察を提供します。生物社会におけるリーダーシップ、近隣関係、協力の原則が、革新的な最適化アルゴリズムの開発にどのように着想を与えるのかを探ります。
preview
初級から中級へ:Includeディレクティブ

初級から中級へ:Includeディレクティブ

本日の記事では、MQL5のさまざまなコードで広く使用されているコンパイルディレクティブについて解説します。本稿ではこのディレクティブについて表面的な説明に留めますが、今後プログラミングレベルが上がるにつれて不可欠なものとなるため、使い方を理解し始めることが重要です。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
ログレコードをマスターする(第2回):ログのフォーマット処理

ログレコードをマスターする(第2回):ログのフォーマット処理

この記事では、ライブラリ内でログフォーマッターを作成し、適用する方法について詳しく解説します。フォーマッターの基本構造から実践的な実装例まで幅広く取り上げます。この記事を読み終える頃には、ライブラリ内でログを整形するために必要な知識を習得し、その裏側で何がどのように動作しているのかを理解できるようになります。
preview
リプレイシステムの開発(第75回):新しいChart Trade(II)

リプレイシステムの開発(第75回):新しいChart Trade(II)

この記事では、C_ChartFloatingRADクラスについて説明します。これはChart Tradeを機能させるための要となる部分です。ただし、解説はこれで終わりではありません。本記事の内容はかなり広範かつ深い理解を必要とするため、続きは次回の記事で補完します。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
初級から中級へ:WHILE文とDO WHILE文

初級から中級へ:WHILE文とDO WHILE文

この記事では、最初のループ文を実際的かつ視覚的に見ていきます。多くの初心者はループを作成するという作業に直面すると不安を感じますが、正しく安全におこなう方法を知るには経験と練習が必要です。しかし、コード内でループを使用する際の主な問題と注意事項を示すことで、皆さんの悩みや苦しみを軽減できるかもしれません。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(I)モジュール化

MQL5で取引管理者パネルを作成する(第9回):コード編成(I)モジュール化

本ディスカッションでは、MQL5プログラムをより小さく扱いやすいモジュールに分割する一歩を踏み出します。これらのモジュール化されたコンポーネントをメインプログラムに統合することで、構造が整理され保守性が向上します。この手法によりメインプログラムの構造が簡素化されるだけでなく、各コンポーネントを他のエキスパートアドバイザー(EA)やインジケーター開発にも再利用可能にします。モジュール設計を採用することで、将来的な機能拡張の基盤を確立し、私たちのプロジェクトだけでなく広く開発者コミュニティにも貢献できるものとなります。
preview
適応型社会行動最適化(ASBO):二段階の進化

適応型社会行動最適化(ASBO):二段階の進化

生物の社会的行動と、それが新しい数学モデルであるASBO(適応型社会的行動最適化)の開発に与える影響について、引き続き考察していきます。今回は、二段階の進化プロセスを詳しく分析し、アルゴリズムをテストした上で結論を導き出します。自然界において生物の集団が生存のために協力するのと同様に、ASBOも集団行動の原理を活用し、複雑な最適化問題を解決します。
preview
MQL5で取引管理者パネルを作成する(第12回):FX取引計算ツールの統合

MQL5で取引管理者パネルを作成する(第12回):FX取引計算ツールの統合

取引において重要な数値を正確に計算することは、すべてのトレーダーにとって欠かせません。本記事では、強力なユーティリティであるFX取引計算ツールを取引管理パネルに組み込み、マルチパネル型の取引管理者システムの機能をさらに拡張する方法について解説します。リスク、ポジションサイズ、潜在的な利益を効率的に算出することは、取引の精度を高めるうえで非常に重要です。この新機能は、パネル内でこれらの計算をよりスムーズかつ直感的におこなえるよう設計されています。本記事では、MQL5を用いた高度な取引パネル構築の実践的な応用例を紹介します。
preview
初級から中級まで:共用体(II)

初級から中級まで:共用体(II)

今日はとても面白く興味深い記事をご紹介します。今回は共用体(union)を取り上げ、以前に触れた問題の解決を試みます。また、アプリケーションでunionを使用した際に発生しうる、少し変わった状況についても探っていきます。ここで提示される資料は教育目的のみに使用されます。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
原子軌道探索(AOS)アルゴリズム

原子軌道探索(AOS)アルゴリズム

この記事では、原子軌道モデルの概念を利用して解を探索する原子軌道検索(AOS:Atomic Orbital Search)アルゴリズムについて考えます。AOSは、原子内における確率分布や相互作用のダイナミクスに基づいており、解の探索プロセスをシミュレートするアルゴリズムです。この記事では、候補解の位置更新やエネルギーの吸収・放出のメカニズムを含めたAOSの数学的な側面について詳しく説明します。AOSは、量子力学の原理を計算問題に応用する新たな可能性を切り開く、革新的な最適化手法です。
preview
MQL5 Algo Forgeへの移行(第3回):外部コードを自分のプロジェクトに統合する

MQL5 Algo Forgeへの移行(第3回):外部コードを自分のプロジェクトに統合する

MQL5 Algo Forgeストレージにある任意のリポジトリから外部コードを自分のプロジェクトへ統合する方法を見ていきましょう。本記事ではいよいよ、有望でありながらもより複雑な課題に踏み込みます。すなわち、MQL5 Algo Forge内のサードパーティ製リポジトリからライブラリを実際に接続し、活用する方法についてです。
preview
初級から中級へ:IF ELSE

初級から中級へ:IF ELSE

この記事では、IF演算子と、それに対応するELSEの使い方について解説します。この文は、あらゆるプログラミング言語において、最も重要かつ意義深いものです。しかし、その使いやすさにもかかわらず、使用経験や関連概念に対する理解がないと、時に混乱を招くことがあります。ここで提示されるコンテンツは、教育目的のみを目的としています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
Connexusのクライアント(第7回):クライアント層の追加

Connexusのクライアント(第7回):クライアント層の追加

この記事では、Connexusライブラリの開発を続けます。この章では、リクエストの送信と注文の受信を担当するCHttpClientクラスを構築します。また、モックの概念についても取り上げ、ライブラリをWebRequest関数から切り離すことで、ユーザーの柔軟性を高めます。
preview
機械学習の限界を克服する(第2回):再現性の欠如

機械学習の限界を克服する(第2回):再現性の欠如

本記事では、同一の戦略と金融銘柄を用いても、ブローカーによって取引結果が大きく異なる理由について探ります。その背景には、価格が分散的に形成されていることや、データの不一致があるためです。本記事は、MQL5開発者がMQL5マーケットプレイスで自らの製品に対して賛否両論の評価を受ける理由を理解し、透明性が高く再現可能な成果を確保するためには、特定のブローカーに合わせたアプローチを取る必要があることを示唆しています。この取り組みが広く受け入れられれば、コミュニティにとって重要な実務上のベストプラクティスへと発展する可能性があります。
preview
無政府社会最適化(ASO)アルゴリズム

無政府社会最適化(ASO)アルゴリズム

この記事では、無政府社会最適化(ASO)アルゴリズムに触れ、無政府社会(中央集権的な権力や様々な種類のヒエラルキーから解放された社会的相互作用の異常なシステム)の参加者の非合理的で冒険的な行動に基づくアルゴリズムが、解空間を探索し、局所最適の罠を回避できることを議論します。本稿では、連続問題にも離散問題にも適用可能な統一的なASO構造を提示します。
preview
リプレイシステムの開発(第74回):新しいChart Trade(I)

リプレイシステムの開発(第74回):新しいChart Trade(I)

この記事では、Chart Tradeに関する本連載の最後に示したコードを修正します。これらの変更は、現在のリプレイ/シミュレーションシステムのモデルにコードを適合させるために必要です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
リプレイシステムの開発(第76回):新しいChart Trade(III)

リプレイシステムの開発(第76回):新しいChart Trade(III)

この記事では、前回の記事で省略されていたDispatchMessageのコードがどのように動作するのかを見ていきます。さらに、次回の記事のテーマについても紹介します。そのため、次のトピックに進む前に、このコードの仕組みを理解しておくことが重要です。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
受信者動作特性曲線の紹介

受信者動作特性曲線の紹介

ROC曲線は、分類器の性能を評価するために使用されるグラフ表現です。ROC曲線は比較的単純に見えますが、実際に使用する際には、よくある誤解や陥りやすい落とし穴があります。この記事の目的は、分類器の性能評価を理解しようとする実務者に向けて、ROC曲線を紹介することです。
preview
初級から中級まで:配列(IV)

初級から中級まで:配列(IV)

この記事では、C、C++、Javaなどの言語で実装されていることと非常によく似たことを実現する方法について見ていきます。つまり、関数や手続きにほぼ無限の数のパラメータを渡す方法についてです。これは一見すると高度なトピックに思えるかもしれませんが、前回までの内容をきちんと理解していれば、実装は決して難しくありません。もちろん、それらの内容を本当に理解していることが前提です。
preview
初級から中級まで:定義(I)

初級から中級まで:定義(I)

この記事では、多くの人が奇妙でまったく脈絡がないと感じるであろうことを扱います。しかし、それらを正しく活用すれば、学習はより楽しく、さらに興味深いものになるでしょう。ここで示す内容を基に、かなり面白いものを構築することも可能です。これにより、MQL5言語の構文をより深く理解できるようになるでしょう。なお、本記事の内容は教育目的に限定されており、完成されたアプリケーションとして捉えるべきではありません。ここでの目的は、提示された概念そのものを応用することではありません。
preview
マーケットプロファイルインジケーター

マーケットプロファイルインジケーター

この記事では、マーケットプロファイルインジケーターについて考察します。この名前の背後に何があるのかを探り、その動作原理を理解し、さらに端末版(MarketProfile)も見ていきます。
preview
MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5で取引管理者パネルを作成する(第9回):コード編成(III)コミュニケーションモジュール

MQL5インターフェイス設計における最新の進展を、再設計されたコミュニケーションパネルの公開とともに詳しく解説します。また、モジュール化の原則に基づいて新しい管理パネルを構築するシリーズも引き続き展開していきます。この記事では、CommunicationsDialogクラスを段階的に開発し、それをDialogクラスから継承する方法を丁寧に解説します。さらに、開発には配列およびListViewクラスを活用します。MQL5開発スキルを高めるための実用的な知見を得るために、ぜひ記事を読み、コメント欄でディスカッションにご参加ください。
preview
リプレイシステムの開発(第60回):サービスの再生(I)

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

これまで長い間インジケーターだけに取り組んできましたが、今度はサービスを再び稼働させて、提供されたデータに基づいてチャートがどのように構築されるかを確認するときが来ました。しかし、すべてがそれほど単純ではないので、先に何が待ち受けているのかを理解するために注意深くならなければなりません。
preview
MQL5入門(第16回):テクニカルチャートパターンを使用したエキスパートアドバイザーの構築

MQL5入門(第16回):テクニカルチャートパターンを使用したエキスパートアドバイザーの構築

本記事では、初心者向けにMQL5エキスパートアドバイザー(EA)の構築方法を紹介します。このEAは、クラシックなテクニカルチャートパターンである三尊を識別し、取引をおこないます。記事では、プライスアクションを用いたパターン検出方法、チャートへの描画、エントリー・ストップロス・テイクプロフィットの設定、さらにそのパターンに基づく取引実行の自動化について解説します。
preview
初級から中級まで:共用体(I)

初級から中級まで:共用体(I)

この記事では、union(共用体)とは何かを見ていきます。ここでは実験を通じて、unionを使用できる最初の構文について分析していきます。ただし、ここで紹介するのは一連の概念や情報の中核部分にすぎません。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(I)

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(I)

MetaTrader 5ターミナルでの取引において、ニュースのアクセス性は非常に重要な要素です。数多くのニュースAPIが存在するものの、多くのトレーダーはそれらを効果的に取引環境に統合することに課題を抱えています。本記事では、ニュースを最も必要とする場所であるチャート上に直接表示する、効率的なソリューションの構築を目指します。その実現のために、APIソースからのリアルタイムニュースを監視し、表示するNews Headline EA(エキスパートアドバイザー)を作成します。
preview
リプレイシステムの開発(第66回)サービスの再生(VII)

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

この記事では、チャート上に新しいバーがいつ表示されるかを判断するための、最初のソリューションを実装します。このソリューションは、さまざまな状況に応用可能です。その仕組みを理解することで、いくつかの重要なポイントを把握する助けとなるでしょう。ここで提示されるコンテンツは、教育目的のみに使用されることを意図しています。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを閲覧することは避けてください。
preview
リプレイシステムの開発(第72回):異例のコミュニケーション(I)

リプレイシステムの開発(第72回):異例のコミュニケーション(I)

私たちが本日作成する内容は、理解が難しいものになるでしょう。したがって本稿では、初期段階についてのみ説明します。この段階は次のステップに進むための重要な前提条件となるため、ぜひ注意深く読んでください。この資料の目的はあくまで学習にあります。提示された概念を実際に応用するのではなく、あくまで理解・習得することが目的です。
preview
取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(最終回)

取引におけるニューラルネットワーク:シャープネス低減によるTransformerの効率向上(最終回)

SAMformerは、長期の時系列予測におけるTransformerモデルの主要な欠点、すなわち学習の複雑さや小規模データセットでの汎化性能の低さに対して解決策を提供します。その浅いアーキテクチャとシャープネス認識型最適化により、不適切な局所解に陥ることを防ぎます。本記事では、MQL5を用いたアプローチの実装を続け、実際的な価値を評価していきます。
preview
ログレコードをマスターする(第7回):チャートにログを表示する方法

ログレコードをマスターする(第7回):チャートにログを表示する方法

MetaTraderのチャート上に、フレームやタイトル、自動スクロール機能を備えたログ表示エリアを構築し、整理された形でログを確認する方法を解説します。本記事では、MQL5を用いてビジュアルログシステムを実装する手順を紹介します。これにより、ロボットの動作をリアルタイムで効率的に監視することが可能になります。
preview
初心者からエキスパートへ:自動幾何解析システム

初心者からエキスパートへ:自動幾何解析システム

幾何学的パターンは、トレーダーに価格動向を簡潔に解釈する手段を提供します。多くのアナリストは手作業でトレンドラインや長方形、その他の形状を描き、形成されたパターンに基づいて取引判断をおこないます。本記事では、自動化による代替手段、すなわちMQL5を活用して最も一般的な幾何学パターンを検出・分析する方法を探ります。方法論を分解して説明し、実装の詳細を論じ、自動パターン認識がトレーダーの市場洞察をどのように鋭くできるかを強調します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第7回):複数期間での同時取引

MQL5で自己最適化エキスパートアドバイザーを構築する(第7回):複数期間での同時取引

本連載記事では、テクニカル指標を使用する際の最適な期間を特定するためのさまざまな方法を検討してきました。本記事では、読者に対して逆のロジックを示します。すなわち、単一の最適期間を選ぶのではなく、利用可能なすべての期間を効果的に活用する方法を示します。このアプローチにより廃棄されるデータ量が減少し、通常の価格予測以外に機械学習アルゴリズムを活用する方法も得られます。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(II)

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(II)

本日は、外部ニュースAPIを統合し、News Headline EAの見出し取得元として活用する新たなステップに進みます。このフェーズでは、既存の大手ニュースソースから新興の情報源まで幅広く取り上げ、それぞれのAPIに効果的にアクセスする方法を学びます。さらに、取得したデータをパースし、エキスパートアドバイザー(EA)内での表示に最適化された形式へ変換する手法についても解説します。ニュース見出しや経済指標カレンダーをチャート上に直接表示できることには、大きなメリットがあります。コンパクトで邪魔にならないインターフェースを通じて、取引中でも効率的に情報を確認できるようになるのです。