MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
DoEasyライブラリの時系列(第57部): 指標バッファデータオブジェクト

DoEasyライブラリの時系列(第57部): 指標バッファデータオブジェクト

本稿では、1つの指標に対して1つのバッファのすべてのデータを含むオブジェクトを開発します。このようなオブジェクトは、指標バッファのシリアルデータを格納するために必要になります。その助けを借りて、任意の指標のバッファデータ、および他の同様のデータを相互に並べ替えて比較できるようになります。
preview
MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

この記事では、バタフライハーモニックパターンを検出するためのMQL5エキスパートアドバイザー(EA)を構築します。ピボットポイントを特定し、フィボナッチレベルを検証してパターンを確認します。次に、チャート上にパターンを可視化し、確認された際には自動的に取引を実行します。
preview
ニューラルネットワークが簡単に(第84回):RevIN (Reversible Normalization)

ニューラルネットワークが簡単に(第84回):RevIN (Reversible Normalization)

入力データの前処理がモデル訓練の安定性に大きく寄与することは、すでに広く知られています。オンラインで「生」の入力データを処理するために、バッチ正規化層が頻繁に使用されますが、時には逆の手順が求められる場合もあります。この記事では、この問題を解決するための1つのアプローチについて解説します。
preview
ニューラルネットワークが簡単に(第87回):時系列パッチ

ニューラルネットワークが簡単に(第87回):時系列パッチ

予測は時系列分析において重要な役割を果たします。この新しい記事では、時系列パッチの利点についてお話しします。
preview
ニューラルネットワークが簡単に(第44回):ダイナミクスを意識したスキルの習得

ニューラルネットワークが簡単に(第44回):ダイナミクスを意識したスキルの習得

前回は、様々なスキルを学習するアルゴリズムを提供するDIAYN法を紹介しました。習得したスキルはさまざまな仕事に活用できます。しかし、そのようなスキルは予測不可能なこともあり、使いこなすのは難しくなります。この記事では、予測可能なスキルを学習するアルゴリズムについて見ていきます。
preview
Murrayシステム再訪問

Murrayシステム再訪問

グラフィカルな価格分析システムは、当然ながらトレーダーの間で人気があります。今回は、有名なレベルを含む完全なMurray(マレー)システム、および現在の価格ポジションを評価し、取引を決定するための有用な他のテクニックについて説明します。
preview
Candlestick Trend Constraintモデルの構築(第2回):ネイティブ指標の結合

Candlestick Trend Constraintモデルの構築(第2回):ネイティブ指標の結合

この記事では、トレンドから外れたシグナルを選別するために、MetaTrader 5指標を活用することに焦点を当てます。前回に引き続き、MQL5コードを使用してアイデアを最終的なプログラムに伝える方法を探っていきます。
preview
ニューラルネットワークが簡単に(第19部):MQL5を使用したアソシエーションルール

ニューラルネットワークが簡単に(第19部):MQL5を使用したアソシエーションルール

アソシエーションルールの検討を続けます。前回の記事では、このタイプの問題の理論的側面について説明しました。この記事では、MQL5を使用したFPGrowthメソッドの実装を紹介します。また、実装したソリューションを実際のデータを使用してテストします。
preview
DoEasy - コントロール(第26部):ToolTip WinFormsオブジェクトの最終確認とProgressBarの開発開始

DoEasy - コントロール(第26部):ToolTip WinFormsオブジェクトの最終確認とProgressBarの開発開始

今回は、ツールチップコントロールの開発を完了し、ProgressBar WinFormsオブジェクトの開発を開始します。オブジェクトで作業しながら、コントロールやそのコンポーネントをアニメーション化するための普遍的な機能を開発する予定です。
preview
MQL5における高度なメモリ管理と最適化テクニック

MQL5における高度なメモリ管理と最適化テクニック

MQL5の取引システムにおけるメモリ使用を最適化するための実践的なテクニックを紹介します。効率的で安定性が高く、高速に動作するエキスパートアドバイザー(EA)やインジケーターの構築方法を学びましょう。MQL5でのメモリの仕組み、システムを遅くしたり不安定にしたりする一般的な落とし穴、そして、最も重要なこととして、それらを解決する方法について詳しく解説します。
preview
ニューラルネットワークが簡単に(第54回):ランダムエンコーダを使った効率的な研究(RE3)

ニューラルネットワークが簡単に(第54回):ランダムエンコーダを使った効率的な研究(RE3)

強化学習手法を検討するときは常に、環境を効率的に探索するという問題に直面します。この問題を解決すると、多くの場合、アルゴリズムが複雑になり、追加モデルの訓練が必要になります。この記事では、この問題を解決するための別のアプローチを見ていきます。
preview
MQL5での定量分析:有望なアルゴリズムの実装

MQL5での定量分析:有望なアルゴリズムの実装

定量分析とは何なのか、また、主要プレーヤーがどのように定量分析を使用しているのかを分析します。MQL5言語で定量分析アルゴリズムの1つを作成します。
preview
時系列分類問題における因果推論

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

この記事では、機械学習を用いた因果推論の理論と、Pythonによるカスタムアプローチの実装について見ていきます。因果推論と因果思考は哲学と心理学にルーツを持ち、現実を理解する上で重要な役割を果たしています。
preview
リプレイシステムの開発(第28回):エキスパートアドバイザープロジェクト-C_Mouseクラス(II)

リプレイシステムの開発(第28回):エキスパートアドバイザープロジェクト-C_Mouseクラス(II)

人々が初めてコンピューティングが可能なシステムを作り始めたとき、すべてには、プロジェクトを熟知しているエンジニアの参加が必要でした。コンピュータ技術の黎明期、プログラミング用の端末すらなかった時代の話です。それが発展し、より多くの人々が何かを創造できることに興味を持つようになると、新しいアイデアやプログラミングの方法が現れ、以前のようなコネクタの位置を変えるスタイルに取って変わりました。最初の端末が登場したのはこの時です。
preview
周波数領域でのフィルタリングと特徴抽出

周波数領域でのフィルタリングと特徴抽出

この記事では、予測モデルに有用な独自の特徴を抽出するために周波数領域で表現された時系列にデジタルフィルタを適用する方法を探ります。
preview
ニューラルネットワークが簡単に(第97回):MSFformerによるモデルの訓練

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

さまざまなモデルアーキテクチャの設計を検討する際、モデルの訓練プロセスには十分な注意が払われないことがよくあります。この記事では、そのギャップを埋めることを目指します。
preview
MQL5のパラボリックSARトレンド戦略による取引戦略の自動化:効果的なEAの作成

MQL5のパラボリックSARトレンド戦略による取引戦略の自動化:効果的なEAの作成

この記事では、MQL5を使用してパラボリックSAR戦略を基にした取引戦略を自動化する方法について説明します。効果的なエキスパートアドバイザー(EA)を創り出します。このEAは、パラボリックSAR指標によって識別されたトレンドに基づいて取引を実行します。
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)法を紹介します。