MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
ボラティリティを予測するための計量経済学ツール:GARCHモデル

ボラティリティを予測するための計量経済学ツール:GARCHモデル

この記事では、条件付き異分散性(GARCH)という非線形モデルの特性について説明します。また、このモデルを基に、一歩先のボラティリティを予測するためのiGARCHインジケーターを構築しました。モデルのパラメータ推定には、ALGLIB数値解析ライブラリを使用しています。
preview
取引におけるニューラルネットワーク:時系列の区分線形表現

取引におけるニューラルネットワーク:時系列の区分線形表現

本記事は、これまでの公開記事とはやや異なる内容となっています。本記事では、時系列データの代替的な表現について解説します。時系列の区分的線形表現とは、小さな区間ごとに線形関数を用いて時系列データを近似する手法です。
preview
ニューラルネットワークが簡単に(第97回):MSFformerによるモデルの訓練

ニューラルネットワークが簡単に(第97回):MSFformerによるモデルの訓練

さまざまなモデルアーキテクチャの設計を検討する際、モデルの訓練プロセスには十分な注意が払われないことがよくあります。この記事では、そのギャップを埋めることを目指します。
preview
多通貨エキスパートアドバイザーの開発(第14回):リスクマネージャーにおける適応型ボリューム変更

多通貨エキスパートアドバイザーの開発(第14回):リスクマネージャーにおける適応型ボリューム変更

以前開発されたリスクマネージャーには基本的な機能のみが含まれていました。取引戦略のロジックに干渉することなく取引結果を向上させるために、どのような開発の可能性があるかを検討してみましょう。
preview
初心者からプロまでMQL5をマスターする(第3回):複雑なデータ型とインクルードファイル

初心者からプロまでMQL5をマスターする(第3回):複雑なデータ型とインクルードファイル

これはMQL5プログラミングの主な側面を説明する連載の第3回目です。この記事では、前回の記事で触れなかった複雑なデータ型について説明します。具体的には、構造体、共用体、クラス、および「関数」データ型を扱います。また、#includeプリプロセッサディレクティブを使ってプログラムにモジュール性を加える方法についても解説します。
preview
季節性を利用した外国為替スプレッド取引

季節性を利用した外国為替スプレッド取引

この記事では、外国為替取引におけるスプレッド取引時に季節性要因を利用したレポートデータの生成および提供の可能性について検討します。
preview
ニューラルネットワークの実践:擬似逆行列(II)

ニューラルネットワークの実践:擬似逆行列(II)

この連載は教育的な性質のものであり、特定の機能の実装を示すことを目的としていないため、この記事では少し異なる方法でおこないます。因数分解を適用して行列の逆行列を取得する方法を示す代わりに、擬似逆行列の因数分解に焦点を当てます。その理由は、特別な方法で一般的な係数を取得することができる場合、一般的な係数を取得する方法を示すことに意味がないからです。さらに良いことに、読者は物事がなぜそのように起こるのかをより深く理解できるようになります。それでは、時間の経過とともにハードウェアがソフトウェアに取って代わる理由を考えてみましょう。
preview
リプレイシステムの開発(第56回):モジュールの適応

リプレイシステムの開発(第56回):モジュールの適応

モジュール同士はすでに適切に連携していますが、リプレイサービスでマウスポインタを使用しようとするとエラーが発生します。次のステップに進む前に、この問題を修正する必要があります。さらに、マウスインジケーターのコードにある別の問題も修正します。この修正によって、今回のバージョンは最終的に安定し、洗練されたものになります。
preview
リプレイシステムの開発(第55回):コントロールモジュール

リプレイシステムの開発(第55回):コントロールモジュール

この記事では、開発中のメッセージシステムに統合できるように、コントロールインジケーターを実装します。それほど難しくはありませんが、このモジュールの初期化について理解しておくべき細かい点がいくつかあります。ここで提示される資料は教育目的のみに使用されます。示された概念を学習し習得する以外の目的での利用は決して想定されていません。
preview
MQL5経済指標カレンダーを使った取引(第1回):MQL5経済指標カレンダーの機能をマスターする

MQL5経済指標カレンダーを使った取引(第1回):MQL5経済指標カレンダーの機能をマスターする

この記事では、まず、MQL5経済指標カレンダーの基本機能を理解し、それを取引に活用する方法を探ります。次に、MQL5で経済指標カレンダーの主要機能を実装し、取引の判断に役立つニュースを取得する方法を説明します。最後に、この情報を活用して取引戦略を効果的に強化する方法を紹介します。
preview
知っておくべきMQL5ウィザードのテクニック(第44回):ATR (Average True Range)テクニカル指標

知っておくべきMQL5ウィザードのテクニック(第44回):ATR (Average True Range)テクニカル指標

ATRオシレーターは、特に外国為替市場において、ボラティリティの代理として機能する非常に人気のあるインジケーターです。これは、特にボリュームデータが不足している市場で広く活用されています。以前のインジケーターと同様に、パターンに基づいて分析をおこない、MQL5ウィザードライブラリのクラスとアセンブリを活用して、戦略およびテストレポートを共有します。
preview
主成分を用いた特徴量選択と次元削減

主成分を用いた特徴量選択と次元削減

この記事では、Luca Puggini氏とSean McLoone氏による論文「Forward Selection Component Analysis: Algorithms and Applications」に基づき、修正版のForward Selection Component Analysis (FSCA)アルゴリズムの実装について詳しく解説します。
preview
MacOSでのMetaTrader 5

MacOSでのMetaTrader 5

macOS上のMetaTrader 5取引プラットフォーム用の特別なインストーラーを提供します。これは、アプリケーションをネイティブにインストールできる本格的なウィザードです。インストーラーは、システムの識別、最新のWineバージョンのダウンロードとインストール、設定の適用、その後のMetaTraderのインストールまで、すべての手順を自動で実行します。インストールが完了すると、すぐにプラットフォームを使用できます。
preview
ニュース取引が簡単に(第5回):取引の実施(II)

ニュース取引が簡単に(第5回):取引の実施(II)

この記事では、取引管理クラスを拡張し、ニュースイベントを取引するための買い逆指値注文(買いストップ注文)と売り逆指値注文(売りストップ注文)を追加します。また、オーバーナイト取引を防ぐために、これらの注文に有効期限の制約を実装します。さらに、逆指値注文(ストップ注文)を使用する際に発生しうるスリッページ、特にニュースイベント中に発生する可能性のあるスリッページを防止または最小限に抑えるために、スリッページ関数をエキスパートアドバイザー(EA)に組み込みます。
preview
Connexusのリクエスト(第6回):HTTPリクエストとレスポンスの作成

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

Connexusライブラリ連載第6回目では、HTTPリクエストの構成要素全体に焦点を当て、リクエストを構成する各コンポーネントを取り上げます。そして、リクエスト全体を表現するクラスを作成し、これまでに作成したクラスを統合します。
preview
Controlsクラスを使用してインタラクティブなMQL5ダッシュボード/パネルを作成する方法(第2回):ボタンの応答性の追加

Controlsクラスを使用してインタラクティブなMQL5ダッシュボード/パネルを作成する方法(第2回):ボタンの応答性の追加

この記事では、ボタンの応答性を有効にすることで、静的なMQL5ダッシュボードパネルをインタラクティブなツールへと変換することに焦点を当てます。GUIコンポーネントの機能を自動化し、ユーザーのクリックに適切に反応する方法を探究します。この記事の最後には、ユーザーのエンゲージメントと取引体験を向上させる動的なインターフェイスを構築します。
preview
MQL5で取引管理者パネルを作成する(第5回):2要素認証(2FA)

MQL5で取引管理者パネルを作成する(第5回):2要素認証(2FA)

本日は、現在開発中の取引管理パネルのセキュリティ強化について説明します。Telegram APIを統合し、2要素認証(2FA)を実現する新しいセキュリティ戦略にMQL5を実装する方法を探ります。このディスカッションでは、MQL5を活用してセキュリティ対策を強化する方法について貴重な洞察を得ることができます。さらに、MathRand関数の機能に焦点を当て、セキュリティフレームワーク内でどのように効果的に活用できるかを検討します。さらに詳しく知りたい方は、読み続けてください。
preview
Candlestick Trend Constraintモデルの構築(第9回):マルチ戦略エキスパートアドバイザー(II)

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

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

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

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

プライスアクション分析ツールキットの開発(第1回):チャートプロジェクター

このプロジェクトは、MQL5アルゴリズムを活用して、MetaTrader 5向けの包括的な分析ツールセットを開発することを目的としています。これらのツールは、スクリプトやインジケーターからAIモデルやエキスパートアドバイザー(EA)に至るまで幅広く、市場分析プロセスの自動化を実現します。場合によっては、これらのツールによって、高度な分析を人間の介入なしで実行し、適切なプラットフォームに結果を予測することも可能になります。どのようなチャンスも逃しません。一緒に強力な市場分析用カスタムツールチェストを構築するプロセスを探求していきましょう。まず、「チャートプロジェクター」と名付けたシンプルなMQL5プログラムを開発することから始めます。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第6回): Deep Double Descentの活用

MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第6回): Deep Double Descentの活用

伝統的な機械学習では、モデルの過剰適合を防ぐことが実践者にとって重要であると教えられます。しかし、この考え方は、ハーバード大学の勤勉な研究者たちによって発表された新たな洞察によって見直されつつあります。彼らの研究によれば、一見すると過剰適合に見える現象が、場合によっては訓練プロセスを早期に終了した結果である可能性があることが示唆されています。本記事では、この研究論文で提案されたアイデアを活用し、市場リターン予測におけるAIの利用をどのように向上させられるかを解説します。
preview
日足レンジブレイクアウト戦略に基づくMQL5 EAの作成

日足レンジブレイクアウト戦略に基づくMQL5 EAの作成

この記事では、日足レンジブレイクアウト(Daily Range Breakout)戦略に基づいてMQL5エキスパートアドバイザー(EA)を作成します。戦略の重要な概念を説明し、EAの設計図を設計し、MQL5でブレイクアウトロジックを実装します。最後に、EAの効果を最大限に引き出すためのバックテストと最適化の手法について探ります。
preview
知っておくべきMQL5ウィザードのテクニック(第43回):SARSAによる強化学習

知っておくべきMQL5ウィザードのテクニック(第43回):SARSAによる強化学習

SARSAは、State-Action-Reward-State-Actionの略で、強化学習を実装する際に使用できる別のアルゴリズムです。Q学習とDQNで見たように、ウィザードで組み立てられたエキスパートアドバイザー(EA)の中で、これを単なる訓練メカニズムとしてではなく、独立したモデルとしてどのように実装できるかを検討します。
preview
ニュース取引が簡単に(第4回):パフォーマンス向上

ニュース取引が簡単に(第4回):パフォーマンス向上

この記事では、ストラテジーテスターでエキスパートアドバイザー(EA)のランタイムを改善する方法について掘り下げていきます。これらのニュースイベントの時間は、指定された時間内にアクセスされます。これにより、EAはボラティリティの高い環境でも低い環境でも、イベントドリブン取引を効率的に管理できます。
preview
MQL5で取引管理者パネルを作成する(第4回):ログインセキュリティ層

MQL5で取引管理者パネルを作成する(第4回):ログインセキュリティ層

悪意のある人物が取引管理者室に侵入し、世界中の何百万ものトレーダーに貴重な洞察を伝えるために使用されるコンピューターと管理パネルにアクセスしたと想像してください。このような侵入は、誤解を招くメッセージの不正送信や、意図しないアクションをトリガーするボタンのランダムクリックなど、悲惨な結果につながる可能性があります。このディスカッションでは、MQL5のセキュリティ対策と、これらの脅威から保護するために管理パネルに実装した新しいセキュリティ機能について説明します。セキュリティプロトコルを強化することで、通信チャネルを保護し、グローバルな取引コミュニティの信頼を維持することを目指しています。この記事のディスカッションでさらに詳しい情報を見つけてください。
preview
MQL5取引ツールキット(第3回):未決注文管理EX5ライブラリの開発

MQL5取引ツールキット(第3回):未決注文管理EX5ライブラリの開発

MQL5のコードやプロジェクトで、包括的な未決注文管理EX5ライブラリを開発して実装する方法を学びましょう。本記事では、広範な未決注文管理EX5ライブラリを作成する手順を紹介し、それをインポートおよび実装する方法を、取引パネルまたはグラフィカルユーザーインターフェース(GUI)の構築を通じて解説します。このEA注文パネルを使用すれば、チャートウィンドウ上のGUIから、指定されたマジックナンバーに関連する未決注文を直接オープン、監視、削除することが可能です。
preview
MQL5とデータ処理パッケージの統合(第3回):データ可視化の強化

MQL5とデータ処理パッケージの統合(第3回):データ可視化の強化

この記事では、基本的なチャートの枠を超え、インタラクティブ性、データの層化、ダイナミックな要素といった機能を組み込むことで、トレーダーがトレンド、パターン、相関関係をより効果的に探求できるようにする、データ可視化の高度化について解説します。
preview
古典的な戦略を再構築する(第10回):AIはMACDを強化できるか?

古典的な戦略を再構築する(第10回):AIはMACDを強化できるか?

MACDインジケーターを経験的に分析し、インジケーターを含む戦略にAIを適用することで、EURUSDの予測精度が向上するかどうかをテストします。さらに、インジケーター自体が価格より予測しやすいのか、またインジケーターの値が将来の価格水準を予測できるのかも同時に評価します。これにより、AI取引戦略にMACDを統合することに投資する価値があるかどうかを判断するための情報を提供します。
preview
ニューラルネットワークが簡単に(第96回):マルチスケール特徴量抽出(MSFformer)

ニューラルネットワークが簡単に(第96回):マルチスケール特徴量抽出(MSFformer)

長期的な依存関係と短期的な特徴量の効率的な抽出と統合は、時系列分析において依然として重要な課題です。正確で信頼性の高い予測モデルを作成するためには、それらを適切に理解し、統合することが必要です。
preview
Across Neighbourhood Search (ANS)

Across Neighbourhood Search (ANS)

この記事では、問題の詳細と検索空間内の環境のダイナミクスを考慮できる柔軟でインテリジェントな最適化手法の開発における重要なステップとしてのANSアルゴリズムの可能性を明らかにします。
preview
スマートマネーコンセプト(オーダーブロック)とフィボナッチ指標を組み合わせた最適な取引エントリー方法

スマートマネーコンセプト(オーダーブロック)とフィボナッチ指標を組み合わせた最適な取引エントリー方法

SMC(オーダーブロック)は、機関投資家トレーダーが大規模なな売買を開始する主要領域です。価格が大きく動いた後、フィボナッチは直近のスイングハイからスイングローへの潜在的なリトレースメントを特定し、最適な取引エントリーを特定するのに役立ちます。
preview
Controlsクラスを使用してインタラクティブなMQL5ダッシュボード/パネルを作成する方法(第1回):パネルの設定

Controlsクラスを使用してインタラクティブなMQL5ダッシュボード/パネルを作成する方法(第1回):パネルの設定

この記事では、取引操作を効率化するために設計されたMQL5のControlsクラスを使用して、インタラクティブな取引ダッシュボードを作成します。パネルには、タイトル、[Trade]、[Close]、[Information]のナビゲーションボタン、取引の実行とポジションの管理用の専用アクションボタンが表示されます。この記事を読み終える頃には、今後の記事でさらに機能強化するための基礎パネルが完成しているはずです。
preview
Connexusの本体(第4回):HTTP本体サポートの追加

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

この記事では、JSONやプレーンテキストなどのデータを送信するために不可欠な、HTTPリクエストにおける本体(ボディ)の概念について探りました。適切なヘッダを使った正しい使い方を議論し、説明しました。また、Connexusライブラリの一部であるChttpBodyクラスを導入し、リクエストの本体の処理を簡素化しました。
preview
データサイエンスとML(第31回):取引のためのCatBoost AIモデルの使用

データサイエンスとML(第31回):取引のためのCatBoost AIモデルの使用

CatBoost AIモデルは、その予測精度、効率性、散在する困難なデータセットに対する頑健性により、機械学習コミュニティの間で最近大きな人気を博しています。この記事では、外国為替市場を打ち負かすために、この種のモデルをどのように導入するかについて詳しく説明します。
preview
PythonとMQL5でロボットを開発する(第3回):モデルベース取引アルゴリズムの実装

PythonとMQL5でロボットを開発する(第3回):モデルベース取引アルゴリズムの実装

PythonとMQL5で自動売買ロボットを開発する連載を続けます。この記事では、Pythonで取引アルゴリズムを作成します。
preview
ニューラルネットワークが簡単に(第95回):Transformerモデルにおけるメモリ消費の削減

ニューラルネットワークが簡単に(第95回):Transformerモデルにおけるメモリ消費の削減

Transformerアーキテクチャに基づくモデルは高い効率を示しますが、その使用は、訓練段階と運転中の両方で高いリソースコストによって複雑になります。この記事では、このようなモデルのメモリ使用量を削減するアルゴリズムを紹介します。
preview
化学反応最適化(CRO)アルゴリズム(第2回):組み立てと結果

化学反応最適化(CRO)アルゴリズム(第2回):組み立てと結果

第2回では、化学演算子を1つのアルゴリズムに集め、その結果の詳細な分析を紹介します。化学反応最適化(CRO)法がテスト機能に関する複雑な問題の解決にどのように対処するかを見てみましょう。
preview
ニューラルネットワークが簡単に(第94回):入力シーケンスの最適化

ニューラルネットワークが簡単に(第94回):入力シーケンスの最適化

時系列を扱うときは、常にソースデータを履歴シーケンスで使用します。しかし、これが最善の選択肢なのでしょうか。入力データの順序を変更すると、訓練されたモデルの効率が向上するという意見があります。この記事では、入力シーケンスを最適化する方法の1つを紹介します。
preview
ニューラルネットワークの実践:擬似逆行列(I)

ニューラルネットワークの実践:擬似逆行列(I)

今日は、純粋なMQL5言語で擬似逆行列の計算を実装する方法を検討し始めます。これから見るコードは、初心者にとっては予想していたよりもはるかに複雑なものになる予定で、それをどのように簡単に説明するかをまだ模索中です。したがって、今のところは、これを珍しいコードを学ぶ機会と考えてください。落ち着いて注意深く学んでください。効率的または迅速な適用を目的としたものではありませんが、可能な限り教訓的なものにすることが目標です。
preview
独自のLLMをEAに統合する(第5部):LLMs(II)-LoRA-チューニングによる取引戦略の開発とテスト

独自のLLMをEAに統合する(第5部):LLMs(II)-LoRA-チューニングによる取引戦略の開発とテスト

今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じてファインチューニング(微調整)し、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。