MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
多通貨エキスパートアドバイザーの開発(第2回):取引戦略の仮想ポジションへの移行

多通貨エキスパートアドバイザーの開発(第2回):取引戦略の仮想ポジションへの移行

複数の戦略を並行して動作させる多通貨エキスパートアドバイザー(EA)の開発を続けましょう。マーケットポジションを建てることに関連するすべての作業を、戦略レベルから、戦略を管理するEAのレベルに移してみましょう。戦略自体は、マーケットポジションを持つことなく、仮想の取引のみをおこないます。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第5回):深層マルコフモデル

MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第5回):深層マルコフモデル

この記事では、RSIインジケーターに単純なマルコフ連鎖を適用し、インジケーターが主要なレベルを通過した後の価格の挙動を観察します。NZDJPYペアで最も強い買いシグナルと売りシグナルは、RSIがそれぞれ11~20の範囲と71~80の範囲にあるときに生成されるという結論に達しました。データを操作して、保有するデータから直接学習した最適な取引戦略を作成する方法を説明します。さらに、遷移行列を最適に使用することを学習するためにディープニューラルネットワークを訓練する方法を説明します。
preview
Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザーの開発 (I)

Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザーの開発 (I)

今回は、前回の記事で作成した指標を元に、MQL5で最初のエキスパートアドバイザー(EA)を作成します。リスク管理を含め、取引プロセスを自動化するために必要な全機能を紹介します。これにより、手動の取引執行から自動化されたシステムへとスムーズに移行できるメリットがあります。
preview
ニューラルネットワークの実践:擬似逆行列(I)

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

今日は、純粋なMQL5言語で擬似逆行列の計算を実装する方法を検討し始めます。これから見るコードは、初心者にとっては予想していたよりもはるかに複雑なものになる予定で、それをどのように簡単に説明するかをまだ模索中です。したがって、今のところは、これを珍しいコードを学ぶ機会と考えてください。落ち着いて注意深く学んでください。効率的または迅速な適用を目的としたものではありませんが、可能な限り教訓的なものにすることが目標です。
preview
MQL5経済指標カレンダーを使った取引(第1回):MQL5経済指標カレンダーの機能をマスターする

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

この記事では、まず、MQL5経済指標カレンダーの基本機能を理解し、それを取引に活用する方法を探ります。次に、MQL5で経済指標カレンダーの主要機能を実装し、取引の判断に役立つニュースを取得する方法を説明します。最後に、この情報を活用して取引戦略を効果的に強化する方法を紹介します。
preview
リプレイシステムの開発 - 市場シミュレーション(第16回):新しいクラスシステム

リプレイシステムの開発 - 市場シミュレーション(第16回):新しいクラスシステム

もっと仕事を整理する必要があります。コードはどんどん大きくなっており、今やらなければ不可能になります。分割して征服しましょう。MQL5では、このタスクを実行するのに役立つクラスを使用することができますが、そのためにはクラスに関する知識が必要です。おそらく初心者を最も混乱させるのは継承でしょう。この記事では、これらのメカニズムを実用的かつシンプルな方法で使用する方法を見ていきます。
preview
母集団最適化アルゴリズム:荷電系探索(Charged System Search、CSS)アルゴリズム

母集団最適化アルゴリズム:荷電系探索(Charged System Search、CSS)アルゴリズム

この記事では、無生物の自然にヒントを得た別の最適化アルゴリズムである荷電系探索(CSS)アルゴリズムについて検討します。この記事の目的は、物理学と力学の原理に基づいた新しい最適化アルゴリズムを提示することです。
preview
出来高による取引の洞察:トレンドの確認

出来高による取引の洞察:トレンドの確認

強化型トレンド確認手法は、プライスアクション、出来高分析、そして機械学習を組み合わせることで、真の市場動向を見極めることを目的としています。この手法では、取引を検証するために、価格のブレイクアウトと平均比50%以上の出来高急増という2つの条件を満たす必要があります。さらに、追加の確認手段としてLSTMニューラルネットワークを活用します。システムはATR (Average True Range)に基づいたポジションサイズ設定と動的リスク管理を採用しており、誤ったシグナルを排除しつつ、多様な市場環境に柔軟に対応できる設計となっています。
preview
ニューラルネットワークが簡単に(第67回):過去の経験を活かした新しい課題の解決

ニューラルネットワークが簡単に(第67回):過去の経験を活かした新しい課題の解決

この記事では、訓練セットにデータを収集する方法について引き続き説明します。明らかに、学習プロセスには環境との絶え間ない相互作用が必要です。しかし、状況はさまざまです。
preview
初心者のためのMQL5によるSP500取引戦略

初心者のためのMQL5によるSP500取引戦略

MQL5を活用してS&P500指数を正確に予測する方法をご紹介します。古典的なテクニカル分析とアルゴリズム、そして長年の経験に裏打ちされた原理を組み合わせることで、安定性を高め、確かな市場洞察力を得られます。
preview
初級から中級へ:FOR文

初級から中級へ:FOR文

この記事では、FOR文の最も基本的な概念について解説します。ここで紹介する内容をしっかり理解することは非常に重要です。他の制御文と異なり、FOR文にはいくつか特有の癖があり、それが原因で複雑になりやすい側面があります。ですので、理解が追いつかないまま放置せず、できるだけ早い段階から学習と実践を始めるようにしましょう。。
preview
出来高による取引の洞察:トレンドの確認

出来高による取引の洞察:トレンドの確認

強化型トレンド確認手法は、プライスアクション、出来高分析、そして機械学習を組み合わせることで、真の市場動向を見極めることを目的としています。この手法では、取引を検証するために、価格のブレイクアウトと平均比50%以上の出来高急増という2つの条件を満たす必要があります。さらに、追加の確認手段としてLSTMニューラルネットワークを活用します。システムはATR (Average True Range)に基づいたポジションサイズ設定と動的リスク管理を採用しており、誤ったシグナルを排除しつつ、多様な市場環境に柔軟に対応できる設計となっています。
preview
DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動

DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動

前回の記事では、コントロールフォームを使用して拡張グラフィックオブジェクトのピボットポイントを移動する機能を実装しました。次に、単一のグラフィックオブジェクトコントロールポイント(フォーム)を使用して複合グラフィックオブジェクトを移動する機能を実装します。
preview
母集団最適化アルゴリズム:Spiral Dynamics Optimization (SDO)アルゴリズム

母集団最適化アルゴリズム:Spiral Dynamics Optimization (SDO)アルゴリズム

本稿では、軟体動物の殻など自然界における螺旋軌道の構築パターンに基づく最適化アルゴリズム、Spiral Dynamics Optimization(SDO、螺旋ダイナミクス最適化)アルゴリズムを紹介します。著者らが提案したアルゴリズムを徹底的に修正し、改変しました。この記事では、こうした変更の必要性について考えてみたいと思います。
preview
知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ

知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ

K平均法では、まず無作為に生成されたクラスタ重心を使用するデータセットのマクロビューに焦点を当てたプロセスとしてデータポイントを集団化するアプローチを採用し、その後ズームインしてこれらの重心を調整してデータセットを正確に表現します。これを見て、その使用例をいくつか活用していきます。
preview
時系列分類問題における因果推論

時系列分類問題における因果推論

この記事では、機械学習を用いた因果推論の理論と、Pythonによるカスタムアプローチの実装について見ていきます。因果推論と因果思考は哲学と心理学にルーツを持ち、現実を理解する上で重要な役割を果たしています。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第5回):TelegramからMQL5にコマンドを送信し、リアルタイムの応答を受信する

MQL5-Telegram統合エキスパートアドバイザーの作成(第5回):TelegramからMQL5にコマンドを送信し、リアルタイムの応答を受信する

この記事では、MQL5とTelegram間のリアルタイム通信を容易にするためのいくつかのクラスを作成します。Telegramからコマンドを取得し、それをデコードして解釈し、適切な応答を送り返すことに重点を置きます。最終的には、これらの相互作用が取引環境内で効果的にテストされ、運用されていることを確認します。
preview
エキスパートアドバイザーのQ値の開発

エキスパートアドバイザーのQ値の開発

この記事では、エキスパートアドバイザー(EA)がストラテジーテスターで表示できる品質スコアを開発する方法を見ていきます。Van TharpとSunny Harrisという2つの有名な計算方法を見てみましょう。
preview
DoEasy - コントロール(第25部):Tooltip WinFormsオブジェクト

DoEasy - コントロール(第25部):Tooltip WinFormsオブジェクト

今回は、Tooltipコントロールの開発と、ライブラリの新しいグラフィカルプリミティブの開発を開始する予定です。当然ながら、すべての要素にツールチップがあるわけではないですが、すべてのグラフィックオブジェクトにはツールチップを設定する機能があります。
preview
MQL5の圏論(第21回):LDAによる自然変換

MQL5の圏論(第21回):LDAによる自然変換

連載21回目となるこの記事では、自然変換と、線形判別分析を使ったその実装方法について引き続き見ていきます。前回同様、シグナルクラス形式でその応用例を紹介します。
preview
母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

(WOA)は、ザトウクジラの行動と狩猟戦略に着想を得たメタヒューリスティクスアルゴリズムです。WOAの主なアイデアは、クジラが獲物の周囲に泡を作り、螺旋状の動きで獲物に襲いかかる、いわゆる「バブルネット」と呼ばれる捕食方法を模倣することです。
preview
MQL5における修正グリッドヘッジEA(第4部):シンプルなグリッド戦略の最適化(I)

MQL5における修正グリッドヘッジEA(第4部):シンプルなグリッド戦略の最適化(I)

この第4部では、以前に開発したシンプルヘッジとシンプルグリッドエキスパートアドバイザー(EA)を再考します。最適な戦略の使用を目指し、数学的分析と総当り攻撃アプローチを通じてシンプルグリッドEAを改良することに焦点を移します。戦略の数学的最適化について深く掘り下げ、後の回でコーディングに基づく最適化を探求するための舞台を整えます。
preview
MQL5の圏論(第19回):自然性の正方形の帰納法

MQL5の圏論(第19回):自然性の正方形の帰納法

自然性の正方形の帰納法を考えることで、自然変換について考察を続けます。MQL5ウィザードで組み立てられたエキスパートアドバイザー(EA)の多通貨の実装には若干の制約があるため、スクリプトでデータ分類能力を紹介しています。主な用途は、価格変動の分類とその予測です。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第2回)

MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第2回)

この記事は、MQTTプロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の一部です。今回は、コードの構成、最初のヘッダーファイルとクラス、そしてテストの書き方について説明します。この記事には、テスト駆動開発(Test-Driven-Development)の実践と、それをこのプロジェクトにどのように適用しているかについての簡単なメモも含まれています。
preview
リプレイシステムの開発 - 市場シミュレーション(第13回):シミュレーターの誕生(III)

リプレイシステムの開発 - 市場シミュレーション(第13回):シミュレーターの誕生(III)

ここでは、次回以降の仕事に関連するいくつかの要素を簡略化します。シミュレーターが生成するランダム性を視覚化する方法も説明しましょう。
preview
母集団最適化アルゴリズム:Stochastic Diffusion Search (SDS)

母集団最適化アルゴリズム:Stochastic Diffusion Search (SDS)

この記事では、ランダムウォークの原理に基づく非常に強力で効率的な最適化アルゴリズムである確SDS(Stochastic Diffusion Search、確率的拡散探索)について説明します。このアルゴリズムは、複雑な多次元空間で最適解を求めることができ、収束速度が速く、局所極値を避けることができるのが特徴です。
preview
ニューラルネットワークが簡単に(第60回):Online Decision Transformer (ODT)

ニューラルネットワークが簡単に(第60回):Online Decision Transformer (ODT)

最後の2つの記事は、望ましい報酬の自己回帰モデルの文脈で行動シーケンスをモデル化するDecision Transformer法に費やされました。この記事では、この方法の別の最適化アルゴリズムについて見ていきます。
preview
母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム

母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム

この記事では、無生物由来の興味深いアルゴリズム、つまり川床形成プロセスをシミュレーションするIntelligent Water Drops (IWD)について考察しています。このアルゴリズムのアイデアにより、従来の格付けのリーダーであったSDSを大幅に改善することが可能になりました。いつものように、新しいリーダー(修正SDSm)は添付ファイルにあります。
preview
MetaTrader 5を使用したPythonの高頻度裁定取引システム

MetaTrader 5を使用したPythonの高頻度裁定取引システム

この記事では、ブローカーの観点から見て合法であり、外国為替市場において数千もの合成価格を生成・分析し、利益を上げるために取引をおこなう裁定取引システムの構築方法について解説します。
preview
一からの取引エキスパートアドバイザーの開発(第16部):Web上のデータにアクセスする(II)

一からの取引エキスパートアドバイザーの開発(第16部):Web上のデータにアクセスする(II)

Webからエキスパートアドバイザー(EA)にデータを入力する方法はそれほど明らかにはわかりません。MetaTrader 5が提供するすべての可能性を理解しなければ、そう簡単にはいきません。
preview
季節性を利用した外国為替スプレッド取引

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

この記事では、外国為替取引におけるスプレッド取引時に季節性要因を利用したレポートデータの生成および提供の可能性について検討します。
preview
多通貨エキスパートアドバイザーの開発(第13回):第2段階の自動化 - グループへの選択

多通貨エキスパートアドバイザーの開発(第13回):第2段階の自動化 - グループへの選択

自動最適化の第1段階はすでに実装されています。いくつかの基準に従ってさまざま銘柄と時間枠の最適化を実行し、各パスの結果に関する情報をデータベースに保存します。ここで、最初の段階で見つかったものから最適なパラメータセットのグループを選択します。
preview
知っておくべきMQL5ウィザードのテクニック(第19回):ベイズ推定

知っておくべきMQL5ウィザードのテクニック(第19回):ベイズ推定

ベイズ推定とは、新しい情報が入手可能になったときに確率仮説を更新するためにベイズの定理を採用することです。これは直感的に時系列分析への適応につながるので、シグナルだけでなく、資金管理やトレーリングストップのためのカスタムクラスを構築する際に、これをどのように利用できるか見てみましょう。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):ストップアウト防止

MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):ストップアウト防止

本日は、勝ちトレードでストップアウトされる回数を最小限に抑えるためのアルゴリズム的手法を探るディスカッションにご参加ください。この問題は非常に難易度が高く、取引コミュニティで見られる多くの提案は、明確で一貫したルールに欠けているのが実情です。私たちはこの課題に対してアルゴリズム的なアプローチを用いることで、トレードの収益性を高め、1回あたりの平均損失を減らすことに成功しました。とはいえ、ストップアウトを完全に排除するには、まださらなる改良が必要です。私たちの解決策は、それには至らないものの、誰にとっても試す価値のある良い第一歩です。
preview
母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第2回)

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

この記事では、自然界の生物の遺伝物質で起こる自然なプロセスをモデル化した2進数遺伝的アルゴリズム(binary genetic algorithm:BGA)を見ていきます。
preview
非定常過程と偽回帰

非定常過程と偽回帰

この記事では、モンテカルロシミュレーションを用いて非定常過程に回帰分析を適用しようとすると、偽回帰が発生することを示しています。
preview
Controlsクラスを使用してインタラクティブなMQL5ダッシュボード/パネルを作成する方法(第1回):パネルの設定

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

この記事では、取引操作を効率化するために設計されたMQL5のControlsクラスを使用して、インタラクティブな取引ダッシュボードを作成します。パネルには、タイトル、[Trade]、[Close]、[Information]のナビゲーションボタン、取引の実行とポジションの管理用の専用アクションボタンが表示されます。この記事を読み終える頃には、今後の記事でさらに機能強化するための基礎パネルが完成しているはずです。
preview
母集団最適化アルゴリズム:SSG(Saplings Sowing and Growing up、苗木の播種と育成)

母集団最適化アルゴリズム:SSG(Saplings Sowing and Growing up、苗木の播種と育成)

SSG(Saplings Sowing and Growing up、苗木の播種と育成)アルゴリズムは、様々な条件下で優れた生存能力を発揮する、地球上で最も回復力のある生物の1つからインスピレーションを得ています。
preview
ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)

ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)

前回の記事では、Decision Transformerを紹介しました。しかし、外国為替市場の複雑な確率的環境は、提示した手法の可能性を完全に実現することを許しませんでした。今回は、確率的環境におけるアルゴリズムの性能向上を目的としたアルゴリズムを紹介します。
preview
初級から中級まで:配列(II)

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

この記事では、動的配列と静的配列について見ていきます。この2つの使い方に違いはあるのでしょうか。それとも、どちらを使っても常に同じ結果になるのでしょうか。また、どのような場面でそれぞれを使うべきなのか、そして「定数配列」とは何かについても解説します。配列のすべての要素を初期化せずに使うリスクにも触れながら、これらの構造が何のために設計されたのかを一緒に考えていきます。