MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
どんな市場でも優位性を得る方法(第4回):CBOEのユーロおよびゴールドボラティリティインデックス

どんな市場でも優位性を得る方法(第4回):CBOEのユーロおよびゴールドボラティリティインデックス

シカゴオプション取引所(CBOE)が提供する代替デー タを分析し、XAUEUR 銘柄を予測する際のディープニューラルネットワークの精度を向上させます。
preview
古典的な戦略を再構築する(第12回):EURUSDブレイクアウト戦略

古典的な戦略を再構築する(第12回):EURUSDブレイクアウト戦略

MQL5で収益性の高いブレイクアウト取引戦略を構築する挑戦に、ぜひご参加ください。EURUSDペアを選択し、時間枠で価格ブレイクアウトを取引しましたが、私たちのシステムでは偽のブレイクアウトと真のトレンドの始まりを区別するのが難しかったです。そこで、損失を最小限に抑えながら利益を増やすことを目的としたフィルターをシステムに組み込みました。最終的にはシステムを収益性の高いものにし、誤ったブレイクアウトに対する耐性を高めることに成功しました。
DoEasyライブラリでの価格(第61部): 銘柄ティックシリーズのコレクション
DoEasyライブラリでの価格(第61部): 銘柄ティックシリーズのコレクション

DoEasyライブラリでの価格(第61部): 銘柄ティックシリーズのコレクション

プログラムでは作業に異なる銘柄を使用する可能性があるため、それぞれに個別のリストを作成する必要があります。本稿では、そのようなリストを組み合わせてティックデータコレクションにします。実際、これは、CObjectクラスのインスタンスへのポインタの動的配列のクラスおよび標準ライブラリの子孫に基づく通常のリストになります。
preview
DoEasy - コントロール(第5部):WinForms基本オブジェクト、Panelコントロール、AutoSizeパラメータ

DoEasy - コントロール(第5部):WinForms基本オブジェクト、Panelコントロール、AutoSizeパラメータ

本稿では、すべてのライブラリWinFormsオブジェクトの基本オブジェクトを作成し、Panel WinFormsオブジェクトのAutoSizeプロパティ(オブジェクトの内部コンテンツに合わせた自動サイズ変更)の実装を開始する予定です。
preview
ニューラルネットワークが簡単に(第24部):転移学習用ツールの改善

ニューラルネットワークが簡単に(第24部):転移学習用ツールの改善

前回の記事では、ニューラルネットワークのアーキテクチャを作成および編集するためのツールを作成しました。今日はこのツールでの作業を続けて、より使いやすくします。これは、私たちのトピックから一歩離れていると思われるかもしれませんが、うまく整理されたワークスペースは、結果を達成する上で重要な役割を果たすと思われないでしょうか。
preview
Across Neighbourhood Search (ANS)

Across Neighbourhood Search (ANS)

この記事では、問題の詳細と検索空間内の環境のダイナミクスを考慮できる柔軟でインテリジェントな最適化手法の開発における重要なステップとしてのANSアルゴリズムの可能性を明らかにします。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第5回):TelegramからMQL5にコマンドを送信し、リアルタイムの応答を受信する

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

この記事では、MQL5とTelegram間のリアルタイム通信を容易にするためのいくつかのクラスを作成します。Telegramからコマンドを取得し、それをデコードして解釈し、適切な応答を送り返すことに重点を置きます。最終的には、これらの相互作用が取引環境内で効果的にテストされ、運用されていることを確認します。
preview
リプレイシステムの開発 - 市場シミュレーション(第18回):ティックそしてまたティック(II)

リプレイシステムの開発 - 市場シミュレーション(第18回):ティックそしてまたティック(II)

明らかに、現在の指標は1分足を作成するのに理想的な時間からは程遠いです。それが最初に修正することです。同期の問題を解決するのは難しくありません。難しそうに思えるかもしれませんが、実際はとても簡単です。前回の記事の目的は、チャート上の1分足を作成するために使用されたティックデータを気配値ウィンドウに転送する方法を説明することであったため、必要な修正はおこないませんでした。
preview
ニューラルネットワークが簡単に(第57回):Stochastic Marginal Actor-Critic (SMAC)

ニューラルネットワークが簡単に(第57回):Stochastic Marginal Actor-Critic (SMAC)

今回は、かなり新しいStochastic Marginal Actor-Critic (SMAC)アルゴリズムを検討します。このアルゴリズムは、エントロピー最大化の枠組みの中で潜在変数方策を構築することができます。
preview
データサイエンスとML(第36回):偏った金融市場への対処

データサイエンスとML(第36回):偏った金融市場への対処

金融市場は完全に均衡しているわけではありません。強気の市場もあれば、弱気の市場もあり、どちらの方向にも不確かなレンジ相場を示す市場もあります。このようなバランスの取れていない情報を用いて機械学習モデルを訓練すると、市場が頻繁に変化するため、誤った予測を導く原因になります。この記事では、この問題に対処するためのいくつかの方法について議論していきます。
preview
知っておくべきMQL5ウィザードのテクニック(第23回):CNN

知っておくべきMQL5ウィザードのテクニック(第23回):CNN

畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)もまた、多次元のデータセットを主要な構成要素に分解することに特化した機械学習アルゴリズムです。一般的にどのように達成されるかを見て、別のMQL5ウィザードシグナルクラスのトレーダーへの応用の可能性を探ります。
preview
リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)

リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)

前回の記事では、可能な限り最高の安定性を確保するために、レプリケーションシステムにいくつかの修正を加え、テストを追加しました。また、このシステムのコンフィギュレーションファイルの作成と使用も開始しました。
preview
DoEasy-コントロール(第14部):グラフィック要素に名前を付けるための新しいアルゴリズム。TabControl WinFormsオブジェクトへの作業の継続

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

この記事では、カスタムグラフィックを構築するためのすべてのグラフィック要素に名前を付けるための新しいアルゴリズムを作成し、TabControl WinFormsオブジェクトの開発を継続する予定です。
preview
MQL5における代替リスクリターン指標

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

本稿では、シャープレシオの代替指標とされるいくつかのリスクリターン指標の実装を紹介し、その特徴を分析するために仮想資本曲線を検証します。
preview
ニューラルネットワークが簡単に(第61回):オフライン強化学習における楽観論の問題

ニューラルネットワークが簡単に(第61回):オフライン強化学習における楽観論の問題

オフライン訓練では、訓練サンプルデータに基づいてエージェントの方策を最適化します。その結果、エージェントは自分の行動に自信を持つことができます。しかし、そのような楽観論は必ずしも正当化されるとは限らず、模型の操作中にリスクを増大させる可能性があります。今日は、こうしたリスクを軽減するための方法の1つを紹介しましょう。
preview
DoEasyライブラリのグラフィックス(第98部):拡張された標準グラフィカルオブジェクトのピボットポイントの移動

DoEasyライブラリのグラフィックス(第98部):拡張された標準グラフィカルオブジェクトのピボットポイントの移動

本稿では、拡張された標準グラフィカルオブジェクトの開発を継続し、グラフィカルオブジェクトのピボットポイントの座標を管理するためのコントロールポイントを使用して、複合グラフィカルオブジェクトのピボットポイントを移動する機能を作成します。
preview
初心者からプロまでMQL5をマスターする(第4回):配列、関数、グローバルターミナル変数について

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

この記事は初心者向け連載の続きです。データ配列、データと関数の相互作用、および異なるMQL5プログラム間でのデータ交換を可能にするグローバルターミナル変数について詳しく説明します。
preview
DoEasy-コントロール(第24部):ヒント補助WinFormsオブジェクト

DoEasy-コントロール(第24部):ヒント補助WinFormsオブジェクト

今回は、すべてのWinFormsライブラリオブジェクトの基本オブジェクトとメインオブジェクトを指定するロジックを見直し、新しいヒント基本オブジェクトとその派生クラスのいくつかを開発して、区切りの移動可能な方向を示すことにします。
preview
ニューラルネットワークが簡単に(第41回):階層モデル

ニューラルネットワークが簡単に(第41回):階層モデル

この記事では、複雑な機械学習問題を解決するための効果的なアプローチを提供する階層的訓練モデルについて説明します。階層モデルはいくつかのレベルで構成され、それぞれがタスクの異なる側面を担当します。
preview
独自のLLMをEAに統合する(第5部):LLMによる取引戦略の開発とテスト(IV) - 取引戦略のテスト

独自のLLMをEAに統合する(第5部):LLMによる取引戦略の開発とテスト(IV) - 取引戦略のテスト

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

トレンドフォロー戦略のためのLSTMによるトレンド予測

長・短期記憶(LSTM: Long Short-Term Memory)は、長期的な依存関係を捉える能力に優れ、勾配消失問題にも対処できる、時系列データ処理に特化した再帰型ニューラルネットワーク(RNN: Recurrent Neural Network)の一種です。本記事では、LSTMを活用して将来のトレンドを予測し、トレンドフォロー型戦略のパフォーマンスを向上させる方法について解説します。内容は、主要な概念と開発の背景の紹介、MetaTrader 5からのデータ取得、そのデータを用いたPythonでのモデル学習、学習済みモデルのMQL5への統合、そして統計的なバックテストに基づく結果の分析と今後の展望までを含みます。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(II)

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

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

母集団最適化アルゴリズム:等方的焼きなまし(Simulated Isotropic Annealing、SIA)アルゴリズム(第2部)

第1部では、よく知られた一般的なアルゴリズムである焼きなまし法について説明しました。その長所と短所を徹底的に検討しました。第2部では、アルゴリズムを抜本的に改良し、新たな最適化アルゴリズムである等方的焼きなまし(Simulated Isotropic Annealing、SIA)法を紹介します。
preview
雲モデル最適化(ACMO):理論

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

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

DoEasy - コントロール(第4部):パネルコントロールとPadding and Dockパラメータ

今回は、Paddingパラメータ(要素の四辺の内部インデント/マージン)とDockパラメータ(コンテナ内のオブジェクトの配置方法)の扱いを実装します。
preview
リプレイシステムの開発 - 市場シミュレーション(第8回):指標のロック

リプレイシステムの開発 - 市場シミュレーション(第8回):指標のロック

この記事では、MQL5言語を使用しながら指標をロックする方法を見ていきます。非常に興味深く素晴らしい方法でそれをおこないます。
preview
価格変動モデルとその主な規定(第3回):証券取引所の投機の最適なパラメータを計算する

価格変動モデルとその主な規定(第3回):証券取引所の投機の最適なパラメータを計算する

確率論に基づき著者が開発した工学的アプローチの枠組みの中で、利益を生むポジションを建てるための条件を見つけ、最適な(利益を最大化する)利食いと損切りの値を計算します。
preview
MQL5の圏論(第18回):ナチュラリティスクエア(自然性の四角形)

MQL5の圏論(第18回):ナチュラリティスクエア(自然性の四角形)

この記事では、圏論の重要な柱である自然変換を紹介します。一見複雑に見える定義に注目し、次に本連載の「糧」であるボラティリティ予測について例と応用を掘り下げていきます。
preview
ログレコードをマスターする(第1回):MQL5の基本概念と最初のステップ

ログレコードをマスターする(第1回):MQL5の基本概念と最初のステップ

新たな旅の始まりへようこそ。この記事は、MQL5言語で開発する方向けに、ログ操作のライブラリを段階的に作成するという特別な連載の最初の記事です。
preview
時系列マイニングのためのデータラベル(第1回):EA操作チャートでトレンドマーカー付きデータセットを作成する

時系列マイニングのためのデータラベル(第1回):EA操作チャートでトレンドマーカー付きデータセットを作成する

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
ニューラルネットワークが簡単に(第60回):Online Decision Transformer (ODT)

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

最後の2つの記事は、望ましい報酬の自己回帰モデルの文脈で行動シーケンスをモデル化するDecision Transformer法に費やされました。この記事では、この方法の別の最適化アルゴリズムについて見ていきます。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):ストップアウト防止

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

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

価格変動モデルとその主な規定(第2回)。価格場の確率的発展方程式と観測されたランダムウォークの発生

この記事では、確率的な価格場の発展方程式と、今後の価格高騰の基準について考察しています。また、チャート上での価格値の本質と、そのランダムウォークが発生するメカニズムも明らかにします。
preview
機械学習における量子化(第2回):データの前処理、テーブルの選択、CatBoostモデルの訓練

機械学習における量子化(第2回):データの前処理、テーブルの選択、CatBoostモデルの訓練

この記事では、ツリーモデルの構築における量子化の実際の応用について考察します。量子化テーブルの選択方法とデータの前処理について検討します。複雑な数式は使用しません。
preview
母集団最適化アルゴリズム:細菌採餌最適化-遺伝的アルゴリズム(BFO-GA)

母集団最適化アルゴリズム:細菌採餌最適化-遺伝的アルゴリズム(BFO-GA)

本稿では、細菌採餌最適化(BFO)アルゴリズムのアイデアと遺伝的アルゴリズム(GA)で使用される技術を組み合わせ、ハイブリッドBFO-GAアルゴリズムとして最適化問題を解くための新しいアプローチを紹介します。最適解を大域的に探索するために細菌の群れを使い、局所最適解を改良するために遺伝的演算子を使用します。元のBFOとは異なり、細菌は突然変異を起こし、遺伝子を受け継ぐことができるようになっています。
preview
チャート上で取引を視覚化する(第1回):分析期間の選択

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

ここでは、取引エントリを分析するために取引の印刷画面のアンロードを簡素化するスクリプトをゼロから開発します。単一の取引に関するすべての必要な情報は、異なる時間枠を描画する機能を備えた1つのチャートに便利に表示されます。
preview
母集団最適化アルゴリズム:スマート頭足類(SC、Smart Cephalopod)を使用した変化する形状、確率分布の変化とテスト

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

この記事では、確率分布の形状を変えることが最適化アルゴリズムの性能に与える影響について検証します。最適化問題の文脈における様々な確率分布の効率を評価するために、スマート頭足類(SC、Smart Cephalopod)テストアルゴリズムを用いた実験をおこないます。
preview
MQL5における修正グリッドヘッジEA(第4部):シンプルなグリッド戦略の最適化(I)

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

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

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

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

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

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