MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
雲モデル最適化(ACMO):理論

雲モデル最適化(ACMO):理論

この記事は、最適化問題を解決するために雲の挙動をシミュレートするメタヒューリスティックな雲モデル最適化(ACMO: Atmosphere Clouds Model Optimization)アルゴリズムについて解説します。このアルゴリズムは、雲の生成、移動、拡散といった自然現象の原理を用いて、解空間内の「気象条件」に適応します。この記事では、ACMOの気象的なシミュレーションが、複雑な可能性空間の中でどのようにして最適解を導き出すかを明らかにし、「空」の準備、雲の生成、雲の移動、そして雨の集約といった各ステップを詳しく説明します。
preview
DoEasy-コントロール(第14部):グラフィック要素に名前を付けるための新しいアルゴリズム。TabControl WinFormsオブジェクトへの作業の継続

DoEasy-コントロール(第14部):グラフィック要素に名前を付けるための新しいアルゴリズム。TabControl WinFormsオブジェクトへの作業の継続

この記事では、カスタムグラフィックを構築するためのすべてのグラフィック要素に名前を付けるための新しいアルゴリズムを作成し、TabControl WinFormsオブジェクトの開発を継続する予定です。
preview
ニューラルネットワークが簡単に(第66回):オフライン学習における探索問題

ニューラルネットワークが簡単に(第66回):オフライン学習における探索問題

モデルは、用意された訓練データセットのデータを使用してオフラインで訓練されます。一定の利点がある反面、環境に関する情報が訓練データセットのサイズに大きく圧縮されてしまうというマイナス面もあります。それが逆に、探求の可能性を狭めています。この記事では、可能な限り多様なデータで訓練データセットを埋めることができる方法について考えます。
preview
母集団最適化アルゴリズム:スマート頭足類(SC、Smart Cephalopod)を使用した変化する形状、確率分布の変化とテスト

母集団最適化アルゴリズム:スマート頭足類(SC、Smart Cephalopod)を使用した変化する形状、確率分布の変化とテスト

この記事では、確率分布の形状を変えることが最適化アルゴリズムの性能に与える影響について検証します。最適化問題の文脈における様々な確率分布の効率を評価するために、スマート頭足類(SC、Smart Cephalopod)テストアルゴリズムを用いた実験をおこないます。
preview
ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化

ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化

最初の記事で強化学習を扱って以来、何らかの形で、環境の探索と報酬関数の決定という2つの問題に触れてきました。最近の記事は、オフライン学習における探索の問題に費やされています。今回は、作者が報酬関数を完全に排除したアルゴリズムを紹介したいと思います。
preview
ソケットを使ったツイッターのセンチメント分析

ソケットを使ったツイッターのセンチメント分析

この革新的な取引ボットは、MetaTrader 5とPythonを統合し、リアルタイムのソーシャルメディアセンチメント分析を活用して自動売買の意思決定をおこないます。特定の金融商品に関連するツイッターのセンチメントを分析することで、ボットはソーシャルメディアのトレンドを実用的な取引シグナルに変換します。ソケット通信によるクライアントサーバーアーキテクチャを採用しており、MT5の取引機能とPythonのデータ処理能力とのシームレスな相互作用を実現しています。
preview
MQL5とPythonを使用したブローカーAPIとエキスパートアドバイザーの統合

MQL5とPythonを使用したブローカーAPIとエキスパートアドバイザーの統合

この記事では、Pythonと連携したMQL5の実装について解説し、ブローカー関連の操作を自動化する方法を紹介します。VPS上にホストされて継続的に稼働するエキスパートアドバイザー(EA)が、あなたに代わって取引を実行すると想像してください。ある時点で、EAによる資金管理機能が非常に重要になります。具体的には、取引口座への残高補充や出金などの操作を含みます。本稿では、これらの機能の利点と実際の実装例を紹介し、資金管理を取引戦略にシームレスに統合する方法をお伝えします。どうぞご期待ください。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第6回): Deep Double Descentの活用

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

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

DoEasyライブラリのグラフィックス(第95部):複合グラフィカルオブジェクトコントロール

本稿では、複合グラフィカルオブジェクトを管理するためのツールキット(拡張された標準グラフィカルオブジェクトを管理するためのコントロール)について検討します。今日は、複合グラフィカルオブジェクトの再配置から少し脱線して、複合グラフィカルオブジェクトを特徴とするチャートに変更イベントのハンドラを実装します。さらに、複合グラフィカルオブジェクトを管理するためのコントロールに焦点を当てます。
preview
知っておくべきMQL5ウィザードのテクニック(第11回):ナンバーウォール

知っておくべきMQL5ウィザードのテクニック(第11回):ナンバーウォール

ナンバーウォールは、リニアシフトバックレジスタの一種で、収束を確認することにより、予測可能な数列を事前にスクリーニングします。これらのアイデアがMQL5でどのように役立つかを見ていきます。
preview
知っておくべきMQL5ウィザードのテクニック(第27回):移動平均と迎角

知っておくべきMQL5ウィザードのテクニック(第27回):移動平均と迎角

迎角はよく引用される指標で、その急勾配は優勢なトレンドの強さと強い相関があると理解されています。一般的にどのように使用され、理解されているかを調べ、それを使用する取引システムの利益のために、その測定方法に導入可能な変更があるかどうかを検討します。
preview
MQL5における代替リスクリターン指標

MQL5における代替リスクリターン指標

本稿では、シャープレシオの代替指標とされるいくつかのリスクリターン指標の実装を紹介し、その特徴を分析するために仮想資本曲線を検証します。
preview
ニューラルネットワークが簡単に(第72回):ノイズ環境における軌道予測

ニューラルネットワークが簡単に(第72回):ノイズ環境における軌道予測

前回説明した目標条件付き予測符号化(GCPC)法では、将来の状態予測の質が重要な役割を果たします。この記事では、金融市場のような確率的環境における予測品質を大幅に向上させるアルゴリズムを紹介したいとおもいます。
preview
DoEasy-コントロール(第13部):WinFormsオブジェクトのマウスによる操作の最適化、TabControl WinFormsオブジェクトの開発開始

DoEasy-コントロール(第13部):WinFormsオブジェクトのマウスによる操作の最適化、TabControl WinFormsオブジェクトの開発開始

今回は、マウスカーソルを離した後のWinFormsオブジェクトの外観の処理を修正および最適化して、TabControl WinFormsオブジェクトの開発を開始します。
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

本稿では、前の記事からのグラフィカルオブジェクトを構築するという概念を作り直し、標準ライブラリCCanvasクラスを利用したライブラリのすべてのグラフィカルオブジェクトの基本クラスを準備します。
preview
チャート上で取引を視覚化する(第1回):分析期間の選択

チャート上で取引を視覚化する(第1回):分析期間の選択

ここでは、取引エントリを分析するために取引の印刷画面のアンロードを簡素化するスクリプトをゼロから開発します。単一の取引に関するすべての必要な情報は、異なる時間枠を描画する機能を備えた1つのチャートに便利に表示されます。
preview
ニューラルネットワークの実践:擬似逆行列(I)

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

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

予測による三角裁定取引

この記事では、三角裁定を簡略化し、市場に慣れていない方でも、予測や専用ソフトを使用してより賢く通貨を取引する方法をご紹介します。専門知識を駆使して取引する準備はできていますか?
preview
Candlestick Trend Constraintモデルの構築(第8回):エキスパートアドバイザーの開発 (I)

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

今回は、前回の記事で作成した指標を元に、MQL5で最初のエキスパートアドバイザー(EA)を作成します。リスク管理を含め、取引プロセスを自動化するために必要な全機能を紹介します。これにより、手動の取引執行から自動化されたシステムへとスムーズに移行できるメリットがあります。
preview
母集団最適化アルゴリズム:荷電系探索(Charged System Search、CSS)アルゴリズム

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

この記事では、無生物の自然にヒントを得た別の最適化アルゴリズムである荷電系探索(CSS)アルゴリズムについて検討します。この記事の目的は、物理学と力学の原理に基づいた新しい最適化アルゴリズムを提示することです。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第4回):関数コードのモジュール化による再利用性の向上

MQL5-Telegram統合エキスパートアドバイザーの作成(第4回):関数コードのモジュール化による再利用性の向上

の記事では、MQL5からTelegramへのメッセージおよびスクリーンショット送信に使用されている既存コードを、再利用可能なモジュール関数へと整理し、リファクタリングをおこないます。これによりプロセス全体が効率化され、複数インスタンスでの実行効率が高まるだけでなく、コードの管理も容易になります。
preview
DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動

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

前回の記事では、コントロールフォームを使用して拡張グラフィックオブジェクトのピボットポイントを移動する機能を実装しました。次に、単一のグラフィックオブジェクトコントロールポイント(フォーム)を使用して複合グラフィックオブジェクトを移動する機能を実装します。
preview
リプレイシステムの開発 - 市場シミュレーション(第16回):新しいクラスシステム

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

もっと仕事を整理する必要があります。コードはどんどん大きくなっており、今やらなければ不可能になります。分割して征服しましょう。MQL5では、このタスクを実行するのに役立つクラスを使用することができますが、そのためにはクラスに関する知識が必要です。おそらく初心者を最も混乱させるのは継承でしょう。この記事では、これらのメカニズムを実用的かつシンプルな方法で使用する方法を見ていきます。
preview
ニューラルネットワークが簡単に(第67回):過去の経験を活かした新しい課題の解決

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

この記事では、訓練セットにデータを収集する方法について引き続き説明します。明らかに、学習プロセスには環境との絶え間ない相互作用が必要です。しかし、状況はさまざまです。
preview
知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ

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

K平均法では、まず無作為に生成されたクラスタ重心を使用するデータセットのマクロビューに焦点を当てたプロセスとしてデータポイントを集団化するアプローチを採用し、その後ズームインしてこれらの重心を調整してデータセットを正確に表現します。これを見て、その使用例をいくつか活用していきます。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第5回):深層マルコフモデル

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

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

PythonとMQL5を使用した特徴量エンジニアリング(第1回):長期AIモデルの移動平均の予測

移動平均は、AIモデルが予測するのに最適な指標です。しかし、データを慎重に変換することで、さらなる精度向上が可能です。本記事では、現在の手法よりもさらに先の未来を、高い精度を維持しながら予測できるAIモデルの構築方法を解説します。移動平均がこれほど有用な指標であることには驚かされます。
preview
時系列分類問題における因果推論

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

この記事では、機械学習を用いた因果推論の理論と、Pythonによるカスタムアプローチの実装について見ていきます。因果推論と因果思考は哲学と心理学にルーツを持ち、現実を理解する上で重要な役割を果たしています。
preview
多通貨エキスパートアドバイザーの開発(第2回):取引戦略の仮想ポジションへの移行

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

複数の戦略を並行して動作させる多通貨エキスパートアドバイザー(EA)の開発を続けましょう。マーケットポジションを建てることに関連するすべての作業を、戦略レベルから、戦略を管理するEAのレベルに移してみましょう。戦略自体は、マーケットポジションを持つことなく、仮想の取引のみをおこないます。
preview
エキスパートアドバイザーのQ値の開発

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

この記事では、エキスパートアドバイザー(EA)がストラテジーテスターで表示できる品質スコアを開発する方法を見ていきます。Van TharpとSunny Harrisという2つの有名な計算方法を見てみましょう。
preview
MQL5の圏論(第21回):LDAによる自然変換

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

連載21回目となるこの記事では、自然変換と、線形判別分析を使ったその実装方法について引き続き見ていきます。前回同様、シグナルクラス形式でその応用例を紹介します。
preview
初心者のためのMQL5によるSP500取引戦略

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

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

流動性狩り取引戦略

流動性狩り(Liquidity Grab)取引戦略は、市場における機関投資家の行動を特定し、それを活用することを目指すSmart Money Concepts(SMC)の重要な要素です。これには、サポートゾーンやレジスタンスゾーンなどの流動性の高い領域をターゲットにすることが含まれます。市場がトレンドを再開する前に、大量の注文によって一時的な価格変動が引き起こされます。この記事では、流動性狩りの概念を詳しく説明し、MQL5による流動性狩り取引戦略エキスパートアドバイザー(EA)の開発プロセスの概要を紹介します。
preview
母集団最適化アルゴリズム:Spiral Dynamics Optimization (SDO)アルゴリズム

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

本稿では、軟体動物の殻など自然界における螺旋軌道の構築パターンに基づく最適化アルゴリズム、Spiral Dynamics Optimization(SDO、螺旋ダイナミクス最適化)アルゴリズムを紹介します。著者らが提案したアルゴリズムを徹底的に修正し、改変しました。この記事では、こうした変更の必要性について考えてみたいと思います。
preview
MQL5の圏論(第19回):自然性の正方形の帰納法

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

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

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

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

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

この記事では、ランダムウォークの原理に基づく非常に強力で効率的な最適化アルゴリズムである確SDS(Stochastic Diffusion Search、確率的拡散探索)について説明します。このアルゴリズムは、複雑な多次元空間で最適解を求めることができ、収束速度が速く、局所極値を避けることができるのが特徴です。
preview
母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム

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

この記事では、無生物由来の興味深いアルゴリズム、つまり川床形成プロセスをシミュレーションするIntelligent Water Drops (IWD)について考察しています。このアルゴリズムのアイデアにより、従来の格付けのリーダーであったSDSを大幅に改善することが可能になりました。いつものように、新しいリーダー(修正SDSm)は添付ファイルにあります。
preview
MQL5における修正グリッドヘッジEA(第4部):シンプルなグリッド戦略の最適化(I)

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

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

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

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