リプレイシステムの開発 - 市場シミュレーション(第12回):シミュレーターの誕生(II)
シミュレーターの開発は、見た目よりもずっと面白いものです。事態はさらに面白くなってきているため、今日は、この方向にもう少し踏み込んでみましょう。
多通貨エキスパートアドバイザーの開発(第9回):単一取引戦略インスタンスの最適化結果の収集
EA開発の主な段階を概説しましょう。最初におこなうべき重要な作業の1つは、開発した取引戦略のインスタンスを最適化することです。最適化プロセスにおいて、テスターが通過したパスに関する必要な情報を一箇所に集約してみましょう。
データサイエンスとML(第37回):ローソク足パターンとAIを活用して市場をリードする
ローソク足パターンは、トレーダーが市場の心理を理解し、金融市場におけるトレンドを特定するのに役立ちます。これにより、より情報に基づいた取引判断が可能となり、より良い成果につながる可能性があります。本記事では、AIモデルとローソク足パターンを組み合わせて最適な取引パフォーマンスを実現する方法を探っていきます。
DoEasy - コントロール(第6部):パネルコントロール、内部コンテンツに合わせたコンテナサイズの自動変更
本稿では、Panel WinFormsオブジェクトの作業を続け、パネル内にあるDockオブジェクトの一般的なサイズに合わせた自動サイズ変更を実装します。さらに、銘柄ライブラリオブジェクトに新しいプロパティを追加します。
MQL5で自己最適化エキスパートアドバイザーを構築する(第3回):ダイナミックトレンドフォローと平均回帰戦略
金融市場は一般的に、「レンジ相場」または「トレンド相場」のいずれかに分類されます。このような静的な市場の見方は、短期的な取引においては判断を容易にしてくれるかもしれません。しかし、実際の市場の動きとはかけ離れている側面もあります。この記事では、金融市場がこれら2つのモードをどのように移行するのかを探り、その理解を活かしてアルゴリズム取引戦略への自信をどのように高められるのかを考察します。
知っておくべきMQL5ウィザードのテクニック(第38回):ボリンジャーバンド
ボリンジャーバンドは、多くのトレーダーが手動で取引を発注し、決済するために使用する、非常に一般的なエンベロープ指標です。この指標が生成する可能性のあるシグナルをできるだけ多く検討し、ウィザードで組み立てたエキスパートアドバイザー(EA)でどのように使用できるかを見ていきます。
DoEasyライブラリでのその他のクラス(第72部): コレクション内のチャートオブジェクトパラメータの追跡と記録
本稿では、チャートオブジェクトクラスとそのコレクションの操作を完成します。また、チャートプロパティとそのウィンドウの変更の自動追跡を実装し、オブジェクトプロパティに新しいパラメータを保存します。このような変更により、を将来チャートコレクション全体のイベント機能実装できるようになります。
母集団最適化アルゴリズム:モンキーアルゴリズム(MA)
今回は、最適化アルゴリズムであるモンキーアルゴリズム(MA、Monkey Algorithm)について考えてみたいと思います。この動物が難関を乗り越え、最もアクセスしにくい木のてっぺんまで到達する能力が、MAアルゴリズムのアイデアの基礎となりました。
ニューラルネットワークが簡単に(第52回):楽観論と分布補正の研究
経験再現バッファに基づいてモデルが訓練されるにつれて、現在のActor方策は保存されている例からどんどん離れていき、モデル全体としての訓練効率が低下します。今回は、強化学習アルゴリズムにおけるサンプルの利用効率を向上させるアルゴリズムについて見ていきます。
DoEasy-コントロール(第9部):WinFormsオブジェクトメソッド、RadioButtonおよびButtonコントロールの再配置
この記事では、WinFormsオブジェクトクラスメソッドの名前を修正し、ButtonおよびRadioButton WinFormsオブジェクトを作成します。
PythonとMQL5を使用した特徴量エンジニアリング(第1回):長期AIモデルの移動平均の予測
移動平均は、AIモデルが予測するのに最適な指標です。しかし、データを慎重に変換することで、さらなる精度向上が可能です。本記事では、現在の手法よりもさらに先の未来を、高い精度を維持しながら予測できるAIモデルの構築方法を解説します。移動平均がこれほど有用な指標であることには驚かされます。
ケリー基準とモンテカルロシミュレーションを使用したポートフォリオリスクモデル
数十年にわたり、トレーダーは破産リスクを最小限に抑えつつ長期的な資産成長を最大化する手法として、ケリー基準の公式を活用してきました。しかし、単一のバックテスト結果に基づいてケリー基準を盲目的に適用することは、個人トレーダーにとって非常に危険です。というのも、実際の取引では時間の経過とともに取引優位性が薄れ、過去の実績は将来の結果を保証するものではないからです。本記事では、Pythonによるモンテカルロシミュレーションの結果を取り入れ、MetaTrader 5上で1つ以上のエキスパートアドバイザー(EA)にケリー基準を現実的に適用するためのリスク配分アプローチを紹介します。
初心者からエキスパートへ:サポートとレジスタンスの強度指標(SRSI)
本記事では、MQL5プログラミングを活用して市場の価格レベルを正確に特定し、弱いレベルと強いレベルを見分ける方法についての知見を共有します。さらに、実用的なサポートおよびレジスタンス強度インジケーター(SRSI)を完全に開発していきます。
知っておくべきMQL5ウィザードのテクニック(第02回):コホネンマップ
この連載では、MQL5ウィザードがトレーダーの主力であるべきことを示します。なぜでしょうか。MQL5ウィザードを使用すれば、新しいアイデアを組み立てることで時間を節約できるだけでなく、コーディングの重複によるミスを大幅に減らすことができるため、最終的に、取引の哲学のいくつかの重要な分野にエネルギーを注ぐことができるからです。
ニューラルネットワークが簡単に(第49回):Soft Actor-Critic
連続行動空間の問題を解決するための強化学習アルゴリズムについての議論を続けます。この記事では、Soft Actor-Critic (SAC)アルゴリズムについて説明します。SACの主な利点は、期待される報酬を最大化するだけでなく、行動のエントロピー(多様性)を最大化する最適な方策を見つけられることです。
ニューラルネットワークが簡単に(第28部):方策勾配アルゴリズム
強化学習法の研究を続けます。前回は、Deep Q-Learning手法に触れました。この手法では、特定の状況下でとった行動に応じて、これから得られる報酬を予測するようにモデルを訓練します。そして、方策と期待される報酬に応じた行動がとられます。ただし、Q関数を近似的に求めることは必ずしも可能ではありません。その近似が望ましい結果を生み出さないこともあります。このような場合、効用関数ではなく、行動の直接的な方針(戦略)に対して、近似的な手法が適用されます。その1つが方策勾配です。
母集団最適化アルゴリズム:Shuffled Frog-Leaping (SFL) アルゴリズム
本稿では、Shuffled Frog-Leaping (SFL)アルゴリズムの詳細な説明と、最適化問題を解く上でのその能力を紹介します。SFLアルゴリズムは、自然環境におけるカエルの行動から着想を得ており、関数最適化への新しいアプローチを提供します。SFLアルゴリズムは、効率的で柔軟なツールであり、様々な種類のデータを処理し、最適解を得ることができます。
母集団最適化アルゴリズム:進化戦略、(μ,λ)-ESと(μ+λ)-ES
この記事では、進化戦略(Evolution Strategies:ES)として知られる最適化アルゴリズム群について考察します。これらは、最適解を見つけるために進化原理を用いた最初の集団アルゴリズムの1つです。従来のESバリエーションへの変更を実施し、アルゴリズムのテスト関数とテストスタンドの手法を見直します。
DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備
この記事では、ティックデータの更新をリアルタイムで実装し、板情報を操作するための銘柄オブジェクトクラスを準備します(DOM自体は次の記事で実装されます)。
トレンドフォロー型ボラティリティ予測のための隠れマルコフモデル
隠れマルコフモデル(HMM)は、観測可能な価格変動を分析することで、市場の潜在的な状態を特定する強力な統計手法です。取引においては、市場レジームの変化をモデル化・予測することで、ボラティリティの予測精度を高め、トレンドフォロー戦略の構築に役立ちます。本記事では、HMMをボラティリティのフィルターとして活用し、トレンドフォロー戦略を開発するための一連の手順を紹介します。
MQL5の圏論(第7回):多重集合、相対集合、添字集合
圏論は、数学の多様かつ拡大を続ける分野であり、最近になってMQL5コミュニティである程度取り上げられるようになりました。この連載では、その概念と原理のいくつかを探索して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
母集団最適化アルゴリズム:焼きなまし(SA)アルゴリズム(第1部)
焼きなましアルゴリズムは、金属の焼きなまし過程にヒントを得たメタヒューリスティックです。この記事では、このアルゴリズムを徹底的に分析し、この広く知られている最適化方法を取り巻く多くの一般的な信念や神話を暴露します。この記事の後半では、カスタムの等方的焼きなまし(Simulated Isotropic Annealing、SIA)アルゴリズムについて説明します。
データサイエンスと機械学習(第19回):AdaBoostでAIモデルをパワーアップ
AdaBoostは、AIモデルのパフォーマンスを向上させるために設計された強力なブースティングアルゴリズムです。AdaBoostはAdaptive Boostingの略で、弱い学習機をシームレスに統合し、その集合的な予測力を強化する洗練されたアンサンブル学習技法です。
プログラミングパラダイムについて(第2部):オブジェクト指向アプローチによるプライスアクションエキスパートアドバイザーの開発
オブジェクト指向プログラミングのパラダイムとMQL5コードへの応用について学びます。この第2回目の記事では、オブジェクト指向プログラミングの具体的な内容をより深く掘り下げ、実践的な例を通して実体験を提供します。EMA指標とローソク足価格データを使用した、手続き型プライスアクションエキスパートアドバイザー(EA)をオブジェクト指向コードに変換する方法を学びます。
母集団最適化アルゴリズム
最適化アルゴリズム(OA)の分類についての入門記事です。この記事では、OAを比較するためのテストスタンド(関数群)を作成し、広く知られたアルゴリズムの中から最も普遍的なものを特定することを試みています。
DoEasy-コントロール(第18部):TabControlでタブをスクロールする機能
この記事では、ヘッダーバーがコントロールのサイズに収まらない場合に備えて、TabControl WinFormsオブジェクトにヘッダースクロールコントロールボタンを配置します。また、トリミングされたタブヘッダーをクリックしたときのヘッダーバーのシフトを実装します。
母集団最適化アルゴリズム:ネルダー–ミード法、またはシンプレックス(NM)検索法
この記事では、ネルダー–ミード法の完全な探求を提示し、最適解を達成するために各反復でシンプレックス(関数パラメータ空間)がどのように修正され、再配置されるかを説明し、この方法がどのように改善されるかを説明します。
初心者のためのMQL5におけるファンダメンタル分析とテクニカル分析戦略の組み合わせ
この記事では、トレンドフォローとファンダメンタル分析の原則を1つのエキスパートアドバイザー(EA)にシームレスに統合し、より強固な取引戦略を構築する方法について説明します。MQL5を活用して、誰でも簡単にカスタマイズされた取引アルゴリズムを作成できることを紹介します。
DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列
時系列の操作に関するトピックのしめくくりとして、指標バッファに格納されているストレージ、検索、およびデータの並べ替えを整理します。これにより、プログラムでライブラリベースで作成される指標の値に基づいて分析をさらに実行できます。ライブラリのすべてのコレクションクラスの一般的な概念により、対応するコレクションで必要なデータを簡単に見つけることができます。それぞれ、今日作成されたクラスでも同じことが可能です。
一からの取引エキスパートアドバイザーの開発(第14部):価格別出来高の追加((II)
今日は、EAにいくつかのリソースを追加します。この興味深い記事では、情報を提示するためのいくつかの新しいアイデアと方法を提供します。同時に、プロジェクトの小さな欠陥を修正するのにも役立ちます。
MetaTrader 5でのモンテカルロ並べ替え検定
この記事では、Metatrader 5のみを使用して、任意のエキスパートアドバイザー(EA)でシャッフルされたティックデータに基づいて並べ替え検定を実施する方法を見てみましょう。
DoEasyライブラリのグラフィックス(第77部): 影オブジェクトクラス
本稿では、グラフィック要素オブジェクトの子孫である 影オブジェクトのクラスを作成し、オブジェクトの背景をグラデーションで塗りつぶす機能を追加します。
独自のLLMをEAに統合する(第5部):LLMを使った取引戦略の開発とテスト(III) - アダプタチューニング
今日の人工知能の急速な発展に伴い、言語モデル(LLM)は人工知能の重要な部分となっています。私たちは、強力なLLMをアルゴリズム取引に統合する方法を考える必要があります。ほとんどの人にとって、これらの強力なモデルをニーズに応じてファインチューニングし、ローカルに展開して、アルゴリズム取引に適用することは困難です。本連載では、この目標を達成するために段階的なアプローチをとっていきます。
DoEasyライブラリのグラフィックス(第79部): 「アニメーションフレーム」オブジェクトクラスとその子孫オブジェクト
本稿では、単一のアニメーションフレームとその子孫のクラスを開発します。このクラスでは、形状の下の背景を維持および復元しながら、形状を描画できるようにします。
DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能
本稿では、標準のグラフィカルオブジェクトイベントを追跡するための基本的な機能を実装します。グラフィカルオブジェクトのダブルクリックイベントから始めます。
MQL5入門(第12回):初心者のためのカスタムインジケーター作成ガイド
MQL5でカスタムインジケーターを構築する方法を学びます。プロジェクトベースのアプローチを採用します。この初心者向けガイドでは、インジケーターバッファ、プロパティ、トレンドの視覚化について解説し、段階的に学習を進めることができます。
リプレイシステムの開発 - 市場シミュレーション(第11回):シミュレーターの誕生(I)
バーを形成するデータを使うためには、リプレイをやめてシミュレーターの開発に着手しなければなりません。難易度が最も低い1分バーを使用します。
データサイエンスと機械学習—ニューラルネットワーク(第02回):フィードフォワードNNアーキテクチャの設計
フィードフォワード(予測制御)ニューラルネットワークについて説明する前に、少し説明しておくことがあって、設計もその1つです。入力、隠れ層の数、および各ネットワークのノードに対する柔軟なニューラルネットワークを構築および設計する方法を見てみましょう。