RestAPIを統合したMQL5強化学習エージェントの開発(第2回):三目並べゲームREST APIとのHTTPインタラクションのためのMQL5関数
この記事では、MQL5がPythonやFastAPIとどのように相互作用できるか、MQL5のHTTP呼び出しを使用してPythonの三目並べゲームと相互作用する方法について説明します。この記事では、この統合のためのFastAPIを使用したAPIの作成について説明し、MQL5でのテストスクリプトを提供することで、MQL5の多用途性、Pythonのシンプルさ、そして革新的なソルーションを生み出すために異なるテクノロジーを接続するFastAPIの有効性を強調しています。
ニューラルネットワークが簡単に(第71回):目標条件付き予測符号化(GCPC)
前回の記事では、Decision Transformer法と、そこから派生したいくつかのアルゴリズムについて説明しました。さまざまな目標設定手法で実験しました。実験では、さまざまな方法で目標を設定しましたが、それ以前に通過した軌跡に関するモデルの研究は、常に私たちの関心の外にありました。この記事では、このギャップを埋める手法を紹介したいと思います。
MQL5で古典的な戦略を再構築する(第3回):FTSE100予想
この連載では、よく知られた取引戦略を再検討し、AIを使って改善できるかどうかを検証します。本日の記事では、FTSE100について調べ、指数を構成する個別銘柄の一部を使って指数の予測を試みます。
MetaTrader 5を使用してPythonでカスタム通貨ペアパターンを見つける
外国為替市場には繰り返しパターンや規則性が存在するのでしょうか。私は、PythonとMetaTrader 5を使って独自のパターン分析システムを構築することに決めました。これは、外国為替市場を攻略するための、数学とプログラミングの一種の融合です。
リプレイシステムの開発(第31回):エキスパートアドバイザープロジェクト - C_Mouseクラス(V)
リプレイ/シミュレーションの終了まで残り時間を表示できるタイマーが必要です。これは一見、シンプルで迅速な解決策に見えるかもしれません。多くの人は、取引サーバーが使用しているのと同じシステムを適応して使用しようとするだけです。しかし、この解決策を考えるとき、多くの人が考慮しないことがあります。リプレイでは、そしてシミュレーションではなおさら、時計の動きは異なるということです。こうしたことが、このようなシステムの構築を複雑にしています。
DoEasy - サービス関数(第1回):価格パターン
この記事では、時系列データを使用して価格パターンを検索するメソッドの開発に着手します。パターンには、どのようなタイプのパターンにも共通する、一定のパラメータセットがあります。この種のデータはすべて、基となる抽象パターンのオブジェクトクラスに集約されます。今回は、抽象パターンクラスとピンバーパターンクラスを作成します。
純粋なMQL5におけるエネルギーベースの学習を用いた特徴量選択アルゴリズム
この記事では、「FREL:A stable feature selection algorithm」と題された学術論文に記載された、Feature Weighting as Regularized Energy-Based Learningと呼ばれる特徴量選択アルゴリズムの実装を紹介します。
ニューラルネットワークが簡単に(第95回):Transformerモデルにおけるメモリ消費の削減
Transformerアーキテクチャに基づくモデルは高い効率を示しますが、その使用は、訓練段階と運転中の両方で高いリソースコストによって複雑になります。この記事では、このようなモデルのメモリ使用量を削減するアルゴリズムを紹介します。
MQL5における組合せ対称交差検証法
この記事では、ストラテジーテスターの低速&完全アルゴリズムを使用してストラテジーを最適化した後に過剰学習が発生する可能性の程度を測定するために、純粋なMQL5における組合せ対称交差検証法の実装を紹介します。
知っておくべきMQL5ウィザードのテクニック(第20回):関数同定問題
関数同定問題は、研究対象のデータセットをマッピングする基本モデルがどのようなものであるかについて、最小限の仮定から始める回帰の形式です。ベイズ法やニューラルネットワークでも実装可能ですが、ここでは遺伝的アルゴリズムによる実装が、MQL5ウィザードで使用可能なExpertSignalクラスのカスタマイズにどのように役立つかを見ていきます。
行列分解:基本
ここでの目的は教訓を得ることなので、できるだけシンプルに話を進めたいと思います。具体的には、必要な行列の乗算だけを実装します。行列とスカラーの乗算をシミュレートするにはこれで十分であることが今日わかるでしょう。行列分解を実装する際に多くの人が直面する最大の課題は、スカラーの分解と異なり、因子の順序が結果に影響を与えるため、行列の場合はその点に注意が必要だということです。
インジケーターを便利に扱うためのシンプルなソリューション
この記事では、チャート上からインジケーターの設定を直接変更できるシンプルなパネルの作成方法と、そのパネルをインジケーターに接続するために必要な変更点について解説します。この記事はMQL5初心者向けに書かれています。
機械学習における量子化(第1回):理論、コード例、CatBoostでの実装解析
この記事では、ツリーモデルの構築における量子化の理論的な応用を考察し、CatBoostに実装された量子化手法を紹介します。複雑な数式は使用しません。
ニューラルネットワークが簡単に(第73回):値動きを予測するAutoBot
引き続き、軌道予測モデルを訓練するアルゴリズムについて説明します。この記事では、「AutoBot」と呼ばれるメソッドを紹介します。
最も注目すべき人工協調探索アルゴリズムの修正(ACSm)
ここでは、ACSアルゴリズムの進化、つまり収束特性とアルゴリズムの効率性を向上させることを目的とした3つの変更について検討します。主要な最適化アルゴリズムの1つを変換します。行列の修正から母集団形成に関する革新的なアプローチまでをカバーします。
初心者からエキスパートへ:MQL5取引のエッセンシャルジャーニー
潜在能力を引き出しましょう。あなたはチャンスに囲まれています。MQL5の旅をスタートさせ、次のレベルへと引き上げる3つの秘訣をご覧ください。初心者にもプロにも役立つヒントやトリックをご紹介します。
古典的な戦略をPythonで再構築する(第3回):高値更新と安値更新の予測
本連載では、古典的な取引戦略を実証的に分析し、AIを用いてそれらの改善が可能かどうかを検証します。本日の議論では、線形判別分析モデルを用いて高値更新と安値更新の予測に挑戦します。
Candlestick Trend Constraintモデルの構築(第10回):戦略的ゴールデンクロスとデスクロス(EA)
移動平均線のクロスオーバーに基づくゴールデンクロスおよびデッドクロス戦略は、長期的な市場トレンドを見極める上で最も信頼性の高い指標の一つであることをご存知でしょうか。ゴールデンクロスは、短期移動平均線が長期移動平均線を上回るときに強気トレンドの到来を示します。一方、デッドクロスは、短期移動平均線が長期線を下回ることで弱気トレンドの兆候を示します。これらの戦略は非常にシンプルでありながら効果的ですが、手動で運用すると機会の逸失やエントリーの遅れが発生しやすいという課題があります。
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):自己適応型取引ルール(II)
本記事では、より良い売買シグナルを得るために、RSIのレベルと期間を最適化する方法を探ります。最適なRSI値を推定する手法や、グリッドサーチと統計モデルを用いた期間選定の自動化について紹介します。最後に、Pythonによる分析を活用しながら、MQL5でソリューションを実装します。私たちのアプローチは、複雑になりがちな問題をシンプルに解決することを目指した、実用的かつ分かりやすいものです。
リプレイシステムの開発(第27回):エキスパートアドバイザープロジェクト-C_Mouseクラス(I)
この記事では、C_Mouseクラスを実装します。このクラスは、最高水準でプログラミングする能力を提供します。しかし、高水準や低水準のプログラミング言語について語ることは、コードに卑猥な言葉や専門用語を含めることではありません。逆です。高水準プログラミング、低水準プログラミングというのは、他のプログラマーが理解しやすいか、しにくいかという意味です。
知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー
今日のトレーダーは哲学者であり、ほとんどの場合、新しいアイデアを探し、試し、変更するか破棄するかを選択します。これは、かなりの労力を要する探索的プロセスです。この連載では、MQL5ウィザードがトレーダーの主力であるべきであることを示します。
ニューラルネットワークが簡単に(第79回):状態の文脈におけるFeature Aggregated Queries (FAQ)
前回の記事では、画像内のオブジェクトを検出する方法の1つを紹介しました。ただし、静的な画像の処理は、私たちが分析する価格のダイナミクスのような動的な時系列の処理とは多少異なります。この記事では、私たちが解決しようとしている問題にやや近い、ビデオ中の物体を検出する方法について考えます。
ボラティリティを予測するための計量経済学ツール:GARCHモデル
この記事では、条件付き異分散性(GARCH)という非線形モデルの特性について説明します。また、このモデルを基に、一歩先のボラティリティを予測するためのiGARCHインジケーターを構築しました。モデルのパラメータ推定には、ALGLIB数値解析ライブラリを使用しています。
MQL5取引ツールキット(第8回):コードベースにHistory Manager EX5ライブラリを実装して使用する方法
MetaTrader 5口座の取引履歴を処理するために、MQL5ソースコード内で「History Manager EX5」ライブラリを簡単にインポートして活用する方法を、本連載の最終回となるこの記事で解説します。MQL5ではシンプルな1行の関数呼び出しで、取引データの管理や分析を効率的におこなうことが可能です。さらに、取引履歴の分析スクリプトを複数作成する方法や、実用的なユースケースとして、価格ベースのエキスパートアドバイザー(EA)の開発方法についても学んでいきます。このEAは、価格データとHistory Manager EX5ライブラリを活用し、過去のクローズ済み取引に基づいて取引判断をおこない、取引量の調整やリカバリーストラテジーの実装をおこないます。
DoEasy - コントロール(第29部):ScrollBar補助コントロール
この記事では、ScrollBar補助コントロール要素とその派生オブジェクト(垂直および水平のスクロールバー)の開発を開始します。スクロールバーは、フォームのコンテンツがコンテナを超えた場合にスクロールするために使用されます。スクロールバーは通常フォームの下部と右側にあります。下部の水平のものはコンテンツを左右にスクロールし、垂直のものは上下にスクロールします。
ニューラルネットワークが簡単に(第75回):軌道予測モデルのパフォーマンス向上
私たちが作成するモデルはより大きく、より複雑になっています。そのため、訓練だけでなく、運用にもコストがかかります。しかし、決断に要する時間はしばしば重要です。この観点から、品質を損なうことなくモデルのパフォーマンスを最適化する手法を考えてみましょう。
GMDH (The Group Method of Data Handling):MQL5で多層反復アルゴリズムを実装する
この記事では、MQL5におけるGMDH (The Group Method of Data Handling)の多層反復アルゴリズム実装について説明します。
GMDH (The Group Method of Data Handling):MQL5で組合せアルゴリズムを実装する
この記事では、MQL5における組合せアルゴリズムと、その改良版である組合せ選択(Combinatorial Selective)アルゴリズムの実装について、データ処理のグループ法アルゴリズムファミリーの探求を続けます。
多通貨エキスパートアドバイザーの開発(第7回):フォワード期間に基づくグループの選択
以前は、個々のインスタンスの最適化が実施されたのと同じ期間においてのみ、共同運用の結果を改善する目的で、取引戦略インスタンスグループの選択を評価しました。フォワード期間中に何が起こるか見てみましょう。
DoEasy - サービス関数(第3回):アウトサイドバーパターン
本記事では、DoEasyライブラリにおけるアウトサイドバーのプライスアクションパターンを開発し、価格パターン管理へのアクセス手法を最適化します。あわせて、ライブラリのテスト中に判明したエラーや不具合の修正もおこないます。
知っておくべきMQL5ウィザードのテクニック(第21回):経済指標カレンダーデータによるテスト
経済指標カレンダーのデータは、デフォルトではストラテジーテスターのエキスパートアドバイザー(EA)でテストすることはできません。この制限を回避するために、データベースがどのように役立つかを考察します。そこでこの記事では、SQLiteデータベースを使用して経済指標カレンダーのニュースをアーカイブし、ウィザードで組み立てられたEAがこれを使用して売買シグナルを生成できるようにする方法を探ります。
母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第1回)
この記事では、2進数遺伝的アルゴリズムやその他の集団アルゴリズムで使用されるさまざまな手法を探ります。選択、交叉、突然変異といったアルゴリズムの主な構成要素と、それらが最適化に与える影響について見ていきます。さらに、データの表示手法と、それが最適化結果に与える影響についても研究します。
MQL5で取引管理者パネルを作成する(第3回):テーマ管理のための組み込みクラスの拡張(II)
このディスカッションでは、既存のダイアログライブラリを慎重に拡張して、テーマ管理ロジックを組み込みます。さらに、管理パネルプロジェクトで使用されるCDialog、CEdit、およびCButtonクラスにテーマ切り替えのメソッドを統合します。さらに洞察力のある視点については、引き続きお読みください。
DoEasy - コントロール(第3部):バインドされたコントロールの作成
本稿では、基本要素にバインドされた従属コントロールを作成します。開発は、基本的な制御機能を使用して実行されます。さらに、影を持つことができるオブジェクトに適用するとまだいくつかのロジックエラーが発生するため、グラフィック要素の影オブジェクトを少しいじります。
リプレイシステムの開発(第32回):受注システム(I)
これまで開発してきたものの中で、このシステムが最も複雑であることは、おそらく皆さんもお気づきでしょうし、最終的にはご納得いただけると思います。あとは非常に単純なことですが、取引サーバーの動作をシミュレーションするシステムを作る必要があります。取引サーバーの操作方法を正確に実装する必要性は、当然のことのように思えます。少なくとも言葉ではです。ただし、リプレイ/シミュレーションシステムのユーザーにとって、すべてがシームレスで透明なものとなるようにする必要があります。
知っておくべきMQL5ウィザードのテクニック(第36回):マルコフ連鎖を用いたQ学習
強化学習は、教師あり学習、教師なし学習と並んで、機械学習における3つの主要な考え方の1つです。そのため、最適制御、つまり目的関数に最も適した長期的な方針を学習することに関心があります。このような背景から、ウィザードが作成したEAのMLPの学習プロセスにおいて、MLPがどのような役割を果たす可能性があるのかを探ります。
MetaTrader 5で隠れマルコフモデルを統合する
この記事では、Pythonを使用して学習した隠れマルコフモデルをMetaTrader 5アプリケーションに統合する方法を示します。隠れマルコフモデルは、時系列データをモデル化するために使用される強力な統計的ツールであり、モデル化されるシステムは観測不可能な(隠れた)状態によって特徴付けられます。HMMの基本的な前提は、ある時刻にある状態にある確率は、その前のタイムスロットにおけるプロセスの状態に依存するということです。
知っておくべきMQL5ウィザードのテクニック(第49回):近接方策最適化による強化学習
近接方策最適化は、強化学習におけるアルゴリズムの一つで、モデルの安定性を確保するために、しばしばネットワーク形式で非常に小さな増分で方策を更新します。前回の記事と同様に、ウィザードで作成したエキスパートアドバイザー(EA)において、これがどのように役立つかを探ります。
プライスアクション分析ツールキットの開発(第14回):Parabolic Stop and Reverseツール
プライスアクション分析にテクニカルインジケーターを取り入れることは、非常に有効なアプローチです。これらのインジケーターは、反転や押し戻しの重要なレベルを示すことが多く、市場の動きを把握する上での貴重な手がかりとなります。本記事では、パラボリックSARインジケーターを用いてシグナルを生成する自動ツールをどのように開発したかを紹介します。