![データサイエンスと機械学習(第16回):決定木を見直す](https://c.mql5.com/2/62/midjourney_image_13862_46_406_3_600x314.jpg)
データサイエンスと機械学習(第16回):決定木を見直す
連載「データサイエンスと機械学習」の最新作で、決定木の複雑な世界に飛び込みましょう。戦略的な洞察を求めるトレーダーのために、この記事は包括的な総括として、市場動向の分析において決定木が果たす強力な役割に光を当てています。これらのアルゴリズム木の根と枝を探り、取引の意思決定を強化する可能性を解き明かします。決定木について新たな視点から学び、複雑な金融市場をナビゲートする上で、決定木をどのように味方にできるかを発見しましょう。
![知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ](https://c.mql5.com/2/62/midjourney_image_13915_50_439_5_600x314.jpg)
知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ
K平均法では、まず無作為に生成されたクラスタ重心を使用するデータセットのマクロビューに焦点を当てたプロセスとしてデータポイントを集団化するアプローチを採用し、その後ズームインしてこれらの重心を調整してデータセットを正確に表現します。これを見て、その使用例をいくつか活用していきます。
![ニューラルネットワークが簡単に(第55回):対照的内発制御(Contrastive intrinsic control、CIC)](https://c.mql5.com/2/57/cic-055_600x314.jpg)
ニューラルネットワークが簡単に(第55回):対照的内発制御(Contrastive intrinsic control、CIC)
対照訓練は、教師なしで表現を訓練する方法です。その目標は、データセットの類似点と相違点を強調するためにモデルを訓練することです。この記事では、対照訓練アプローチを使用してさまざまなActorスキルを探究する方法について説明します。
![MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第4回):三角移動平均 — 指標シグナル](https://c.mql5.com/2/60/rj-article-images_600x314.jpg)
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第4回):三角移動平均 — 指標シグナル
この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。今回は、多時間枠または単一時間枠の「三角移動平均」という1つの指標のみを使用します。
![プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ](https://c.mql5.com/2/61/MQL5_Article01_Artwork_hero_600x314.jpg)
プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ
プログラミングパラダイムとMQL5コードへの応用について学びます。この記事では、手続き型プログラミングの具体的な方法について、実践的な例を通して説明します。EMA指標とローソク足の価格データを使って、プライスアクションエキスパートアドバイザー(EA)を開発する方法を学びます。さらに、この記事では関数型プログラミングのパラダイムについても紹介しています。
![ソフトウェア開発とMQL5におけるデザインパターン(第3回):振る舞いパターン1](https://c.mql5.com/2/61/Design_Patterns_wPart_3z_Behavioral_Patterns_1_600x314.jpg)
ソフトウェア開発とMQL5におけるデザインパターン(第3回):振る舞いパターン1
デザインパターンの新しい記事として、その1タイプである振る舞いパターンを取り上げ、作成されたオブジェクト間の通信を効果的に構築する方法について説明します。これらの振る舞いパターンを完成させることで、再利用可能かつ拡張可能で、テストされたソフトウェアをどのように作成し、構築できるかを理解できるようになります。
![ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)](https://c.mql5.com/2/59/Caregory_600x314.jpg)
ニューラルネットワークが簡単に(第59回):コントロールの二分法(DoC)
前回の記事では、Decision Transformerを紹介しました。しかし、外国為替市場の複雑な確率的環境は、提示した手法の可能性を完全に実現することを許しませんでした。今回は、確率的環境におけるアルゴリズムの性能向上を目的としたアルゴリズムを紹介します。
![PythonとMQL5を使用して初めてのグラスボックスモデルを作る](https://c.mql5.com/2/61/Building_Your_First_Glass_Box_Model_Using_Python_And_MQL5_600x314.jpg)
PythonとMQL5を使用して初めてのグラスボックスモデルを作る
機械学習モデルの解釈は難しく、このような高度なテクニックを使用して何らかの価値を得たいのであれば、モデルが予想から外れる理由を理解することが重要です。モデルの内部構造に対する包括的な洞察がなければ、モデルのパフォーマンスを低下させるバグを発見できないことがあります。予測できない機能のエンジニアリングに時間を浪費し、長期的にはモデルのパワーを十分に活用できない危険性があります。幸いなことに、モデルの内部で何が起こっているかを正確に見ることができる、洗練され、よく整備されたオールインワンソリューションがあります。
![ニューラルネットワークが簡単に(第67回):過去の経験を活かした新しい課題の解決](https://c.mql5.com/2/62/Neural_networks_made_easy_Part_67_600x314.jpg)
ニューラルネットワークが簡単に(第67回):過去の経験を活かした新しい課題の解決
この記事では、訓練セットにデータを収集する方法について引き続き説明します。明らかに、学習プロセスには環境との絶え間ない相互作用が必要です。しかし、状況はさまざまです。
![ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化](https://c.mql5.com/2/62/midjourney_image_13912_49_444_1_600x314.jpg)
ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化
最初の記事で強化学習を扱って以来、何らかの形で、環境の探索と報酬関数の決定という2つの問題に触れてきました。最近の記事は、オフライン学習における探索の問題に費やされています。今回は、作者が報酬関数を完全に排除したアルゴリズムを紹介したいと思います。
![データサイエンスと機械学習(第19回):AdaBoostでAIモデルをパワーアップ](https://c.mql5.com/2/65/Data_Science_and_Machine_Learning_7Part_191_Supercharge_Your_AI_models_with_AdaBoost_600x314.jpg)
データサイエンスと機械学習(第19回):AdaBoostでAIモデルをパワーアップ
AdaBoostは、AIモデルのパフォーマンスを向上させるために設計された強力なブースティングアルゴリズムです。AdaBoostはAdaptive Boostingの略で、弱い学習機をシームレスに統合し、その集合的な予測力を強化する洗練されたアンサンブル学習技法です。
![一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)](https://c.mql5.com/2/49/Developing_a_trading_Expert_Advisor_007_600x314.jpg)
一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)
私たちの発注システムが対応できていないタスクがまだ1つありますが、最終的に解決する予定です。MetaTrader 5は、注文値の作成と修正を可能にするチケットのシステムを備えています。アイデアは、同じチケットシステムをより高速かつ効率的にするエキスパートアドバイザー(EA)を持つことです。
![MQL5の圏論(第23回):二重指数移動平均の別の見方](https://c.mql5.com/2/58/Category_Theory_23_V4__Improved_600x314.jpg)
MQL5の圏論(第23回):二重指数移動平均の別の見方
この記事では、前回に引き続き、日常的な取引指標を「新しい」視点で見ていくことをテーマとします。今回は、自然変換の水平合成を取り扱いますが、これに最適な指標は、今回取り上げた内容を拡大したもので、二重指数移動平均(DEMA)です。
![リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント](https://c.mql5.com/2/54/replay-p9_600x314.jpg)
リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント
ここでは、カスタムイベントがどのようにトリガーされ、指標でどのようにリプレイ/シミュレーションサービスの状態がレポートされるかを見ていきます。
![ソフトウェア開発とMQL5におけるデザインパターン(第2回):構造パターン](https://c.mql5.com/2/60/Design_Patterns_zPart_2v_Structural_Patterns_600x314.jpg)
ソフトウェア開発とMQL5におけるデザインパターン(第2回):構造パターン
この記事では、MQL5だけでなく他のプログラミング言語でも拡張可能で信頼性の高いアプリケーションを開発するために、デザインパターンのトピックが開発者としてどれほど重要であるかを学んだ後、当トピックについての記事を続けます。デザインパターンのもう1つのタイプである構造デザインパターンについて学び、クラスにあるものを使ってより大きな構造を形成することによってシステムをデザインする方法を学びます。
![MQL5の圏論(第19回):自然性の正方形の帰納法](https://c.mql5.com/2/58/Category-Theory-p19_600x314.jpg)
MQL5の圏論(第19回):自然性の正方形の帰納法
自然性の正方形の帰納法を考えることで、自然変換について考察を続けます。MQL5ウィザードで組み立てられたエキスパートアドバイザー(EA)の多通貨の実装には若干の制約があるため、スクリプトでデータ分類能力を紹介しています。主な用途は、価格変動の分類とその予測です。
![プログラミングパラダイムについて(第2部):オブジェクト指向アプローチによるプライスアクションエキスパートアドバイザーの開発](https://c.mql5.com/2/71/MQL5_Article-02_Artwork_hero_1200_x_628px_600x314.jpg)
プログラミングパラダイムについて(第2部):オブジェクト指向アプローチによるプライスアクションエキスパートアドバイザーの開発
オブジェクト指向プログラミングのパラダイムとMQL5コードへの応用について学びます。この第2回目の記事では、オブジェクト指向プログラミングの具体的な内容をより深く掘り下げ、実践的な例を通して実体験を提供します。EMA指標とローソク足価格データを使用した、手続き型プライスアクションエキスパートアドバイザー(EA)をオブジェクト指向コードに変換する方法を学びます。
![ニューラルネットワークが簡単に(第60回):Online Decision Transformer (ODT)](https://c.mql5.com/2/59/Online_Decision_Transformer_UP_600x314.jpg)
ニューラルネットワークが簡単に(第60回):Online Decision Transformer (ODT)
最後の2つの記事は、望ましい報酬の自己回帰モデルの文脈で行動シーケンスをモデル化するDecision Transformer法に費やされました。この記事では、この方法の別の最適化アルゴリズムについて見ていきます。
![Bears Powerによる取引システムの設計方法を学ぶ](https://c.mql5.com/2/49/learnhow_bears_power_600x314.jpg)
Bears Powerによる取引システムの設計方法を学ぶ
最も人気のあるテクニカル指標によって取引システムを設計する方法を学ぶ連載の新しい記事へようこそ。この新しい記事では、Bears Power(ベアーパワー)テクニカル指標によって取引システムを設計する方法を学びます。
![パターン検索への総当たり攻撃アプローチ(第V部):新鮮なアングル](https://c.mql5.com/2/57/The_Bruteforce_Approach_Part_5_600x314.jpg)
パターン検索への総当たり攻撃アプローチ(第V部):新鮮なアングル
この記事では、私が長い時間をかけてたどり着いた、アルゴリズム取引に対するまったく異なるアプローチを紹介します。もちろん、これはすべて私の総当たり攻撃プログラムに関係しています。これには、複数の問題を同時に解決できるように多くの変更が加えられています。とはいえ、この記事はより一般的で可能な限りシンプルなものであるため、総当たり攻撃について何も知らない読者にも適しています。
![リプレイシステムの開発 - 市場シミュレーション(第15回):シミュレーターの誕生(V) - ランダムウォーク](https://c.mql5.com/2/55/Desenvolvendo_um_sistema_de_Replay_Parte_15_600x314.jpg)
リプレイシステムの開発 - 市場シミュレーション(第15回):シミュレーターの誕生(V) - ランダムウォーク
この記事では、私たちのシステムのシミュレーターの開発を完成させます。ここでの主な目的は、前回の記事で説明したアルゴリズムを設定することです。このアルゴリズムは、ランダムウォークの動きを作り出すことを目的としています。したがって、今日の資料を理解するためには、過去の記事の内容を理解する必要があります。シミュレーターの開発をフォローしていない方は、この一連の流れを最初から読まれることをお勧めします。さもないと、ここで説明されることがわからなくなるかもしれません。
![リプレイシステムの開発(第27回):エキスパートアドバイザープロジェクト-C_Mouseクラス(I)](https://c.mql5.com/2/58/Projeto_Expert_AdvisorcClasse_C_Mous_600x314.jpg)
リプレイシステムの開発(第27回):エキスパートアドバイザープロジェクト-C_Mouseクラス(I)
この記事では、C_Mouseクラスを実装します。このクラスは、最高水準でプログラミングする能力を提供します。しかし、高水準や低水準のプログラミング言語について語ることは、コードに卑猥な言葉や専門用語を含めることではありません。逆です。高水準プログラミング、低水準プログラミングというのは、他のプログラマーが理解しやすいか、しにくいかという意味です。
![知っておくべきMQL5ウィザードのテクニック(第08回):パーセプトロン](https://c.mql5.com/2/61/MQL5_Wizard_Techniques_you_should_know_8Part_08e_Perceptrons_600x314.jpg)
知っておくべきMQL5ウィザードのテクニック(第08回):パーセプトロン
パーセプトロン(単一隠れ層ネットワーク)は、基本的な自動取引に精通していて、ニューラルネットワークを試してみようとしている人にとって、優れた入門編となります。エキスパートアドバイザー(EA)用のMQL5ウィザードクラスの一部であるシグナルクラスアセンブリでこれをどのように実現できるかを段階的に見ていきます。
![MQL5の高度な変数とデータ型](https://c.mql5.com/2/73/Advanced_Variables_and_Data_Types_in_MQL5_600x314.jpg)
MQL5の高度な変数とデータ型
変数とデータ型は、MQL5プログラミングだけでなく、どのプログラミング言語でも非常に重要なトピックです。MQL5の変数とデータ型は、単純なものと高度なものに分類できます。単純なものについては前回の記事ですでに述べたので、今回は高度なものを特定し、それについて学ぶことにします。
![リプレイシステムの開発(第32回):受注システム(I)](https://c.mql5.com/2/59/sistema_de_Replay_32__600x314.jpg)
リプレイシステムの開発(第32回):受注システム(I)
これまで開発してきたものの中で、このシステムが最も複雑であることは、おそらく皆さんもお気づきでしょうし、最終的にはご納得いただけると思います。あとは非常に単純なことですが、取引サーバーの動作をシミュレーションするシステムを作る必要があります。取引サーバーの操作方法を正確に実装する必要性は、当然のことのように思えます。少なくとも言葉ではです。ただし、リプレイ/シミュレーションシステムのユーザーにとって、すべてがシームレスで透明なものとなるようにする必要があります。
![知っておくべきMQL5ウィザードのテクニック(第13回):ExpertSignalクラスのためのDBSCAN](https://c.mql5.com/2/73/MQL5_Wizard_Techniques_you_should_know_Part_13_DBSCAN_for_Expert_Signal_Class_600x314__1.jpg)
知っておくべきMQL5ウィザードのテクニック(第13回):ExpertSignalクラスのためのDBSCAN
DBSCAN (Density-Based Spatial Clustering of Applications with Noise)は、データをグループ化する教師なし形式であり、入力パラメータをほとんど必要としません。入力パラメータは2つだけであり、K平均法などの他のアプローチと比較すると利点が得られます。ウィザードで組み立てたEAを使用してテストし、最終的に取引するために、これがどのように建設的であり得るかを掘り下げます。
![リプレイシステムの開発(第26回):エキスパートアドバイザープロジェクト-C_Terminalクラス](https://c.mql5.com/2/58/replay-p26_600x314.jpg)
リプレイシステムの開発(第26回):エキスパートアドバイザープロジェクト-C_Terminalクラス
これで、リプレイ/シミュレーションシステムで使用するEAの作成を開始できます。ただし、行き当たりばったりの解決策ではなく、何か改善策が必要です。にもかかわらず、最初の複雑さに怯んではなりません。どこかで始めることが重要で、そうでなければ、その課題を克服しようともせずに、その難しさを反芻してしまうことになります。それこそがプログラミングの醍醐味であり、学習、テスト、徹底的な研究を通じて障害を克服することです。
![知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー](https://c.mql5.com/2/49/Regression_Analysis_Cover_600x314.jpg)
知っておくべきMQL5ウィザードのテクニック(第03回):シャノンのエントロピー
今日のトレーダーは哲学者であり、ほとんどの場合、新しいアイデアを探し、試し、変更するか破棄するかを選択します。これは、かなりの労力を要する探索的プロセスです。この連載では、MQL5ウィザードがトレーダーの主力であるべきであることを示します。
![MQL5における修正グリッドヘッジEA(第3部):シンプルヘッジ戦略の最適化(I)](https://c.mql5.com/2/72/Modified_Grid-Hedge_EA_in_MQL5_Part_III_600x314.jpg)
MQL5における修正グリッドヘッジEA(第3部):シンプルヘッジ戦略の最適化(I)
この第3部では、以前に開発したシンプルヘッジとシンプルグリッドエキスパートアドバイザー(EA)を再考します。最適な戦略の使用を目指し、数学的分析と総当り攻撃アプローチを通じてシンプルヘッジEAを改良することに焦点を移します。戦略の数学的最適化について深く掘り下げ、後の回でコーディングに基づく最適化を探求するための舞台を整えます。
![リプレイシステムの開発 - 市場シミュレーション(第25回):次の段階への準備](https://c.mql5.com/2/58/replay-p25_600x314.jpg)
リプレイシステムの開発 - 市場シミュレーション(第25回):次の段階への準備
この記事では、リプレイ/シミュレーションシステム開発の第1段階を完了しました。この成果により、システムが高度なレベルに達したことを確認し、新機能の導入への道を開くことができました。目標は、システムをさらに充実させ、市場分析の調査開発のための強力なツールに変えることです。
![リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)](https://c.mql5.com/2/57/replay_p21_600x314.jpg)
リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)
FOREX市場で作業するためのシステムを構築し続けます。この問題を解決するためには、まず、前のバーを読み込む前にティックの読み込みを宣言しなければなりません。これによって問題は解決されますが、同時にユーザーは構成ファイルの構造に従わざるを得なくなります。これは個人的にはあまり意味がありません。なぜなら、構成ファイルの内容を分析し、実行する役割を担うプログラムを設計することで、ユーザーが必要な要素を好きな順番で宣言できるようになるからです。
![リプレイシステムの開発 - 市場シミュレーション(第24回):FOREX (V)](https://c.mql5.com/2/57/replay_p24_600x314.jpg)
リプレイシステムの開発 - 市場シミュレーション(第24回):FOREX (V)
本日は、Last価格に基づくシミュレーションを妨げていた制限を取り除き、このタイプのシミュレーションに特化した新しいエントリポイントをご紹介します。操作の仕組みはすべて、FOREX市場の原理に基づいています。この手順の主な違いは、BidシミュレーションとLastシミュレーションの分離です。ただし、時間をランダム化し、C_Replayクラスに適合するように調整するために使用された方法は、両方のシミュレーションで同じままであることに注意することが重要です。これは良いことです。特にティック間の処理時間に関して、一方のモードを変更すれば、もう一方のモードも自動的に改善されるからです。
![ニューラルネットワークが簡単に(第50回):Soft Actor-Critic(モデルの最適化)](https://c.mql5.com/2/57/NN_50_Soft_Actor-Critic_600x314.jpg)
ニューラルネットワークが簡単に(第50回):Soft Actor-Critic(モデルの最適化)
前回の記事では、Soft Actor-Criticアルゴリズムを実装しましたが、有益なモデルを訓練することはできませんでした。今回は、先に作成したモデルを最適化し、望ましい結果を得ます。
![ニューラルネットワークが簡単に(第51回):Behavior-Guided Actor-Critic (BAC)](https://c.mql5.com/2/57/behavior_driven_actor_critic_600x314.jpg)
ニューラルネットワークが簡単に(第51回):Behavior-Guided Actor-Critic (BAC)
最後の2つの記事では、エントロピー正則化を報酬関数に組み込んだSoft Actor-Criticアルゴリズムについて検討しました。このアプローチは環境探索とモデル活用のバランスをとりますが、適用できるのは確率モデルのみです。今回の記事では、確率モデルと確定モデルの両方に適用できる代替アプローチを提案します。
![リプレイシステムの開発(第29回):エキスパートアドバイザープロジェクト - C_Mouseクラス(III)](https://c.mql5.com/2/58/replay-p28_600x314.jpg)
リプレイシステムの開発(第29回):エキスパートアドバイザープロジェクト - C_Mouseクラス(III)
C_Mouseクラスを改良した後は、分析のためのまったく新しいフレームワークを作るためのクラスを作ることに集中しましょう。この新しいクラスを作るのに、継承やポリモーフィズムは使用しません。その代わりに、価格線に新しいオブジェクトを追加します。それがこの記事でやろうとしていることです。次回は、分析結果を変更する方法について見るつもりです。これらはすべて、C_Mouseクラスのコードを変更することなくおこなわれます。実際には、継承やポリモーフィズムを使用すれば、もっと簡単に実現できるでしょう。しかし、同じ結果を得る方法は他にもあります。
![MQL5における組合せ対称交差検証法](https://c.mql5.com/2/60/Combinatorially_Symmetric_Cross_Validation_600x314.jpg)
MQL5における組合せ対称交差検証法
この記事では、ストラテジーテスターの低速&完全アルゴリズムを使用してストラテジーを最適化した後に過剰学習が発生する可能性の程度を測定するために、純粋なMQL5における組合せ対称交差検証法の実装を紹介します。
![リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)](https://c.mql5.com/2/58/replay-p30_600x314.jpg)
リプレイシステムの開発(第30回):エキスパートアドバイザープロジェクト - C_Mouseクラス(IV)
今日は、プログラマーとしての職業生活のさまざまな段階で非常に役立つテクニックを学びます。多くの場合、制限されているのはプラットフォーム自体ではなく、制限について話す人の知識です。この記事では、常識と創造性があれば、クレイジーなプログラムなどを作成することなく、MetaTrader 5 プラットフォームをより面白くて多用途にし、シンプルでありながら安全で信頼性の高いコードを作成できることを説明します。創造力を駆使して、ソース コードを1行も削除したり追加したりすることなく、既存のコードを変更します。
![リプレイシステムの開発(第37回):道を切り開く(I)](https://c.mql5.com/2/61/Desenvolvendo_um_sistema_de_Replay__Parte_37_600x314.jpg)
リプレイシステムの開発(第37回):道を切り開く(I)
今回は、もっと前にやりたかったことをようやく始めます。確固たる地盤がないため、この部分を公に発表する自信がありませんでした。今、私にはその根拠があります。この記事の内容を理解することにできるだけ集中することをお勧めします。単に読むだけではなくて、という意味です。ここで強調しておきたいのは、この記事を理解できなければ、それに続く記事の内容を理解することはできないということです。