リプレイシステムの開発 - 市場シミュレーション(第17回):ティックそしてまたティック(I)
ここでは、非常に興味深いものを実装する方法を見ていきますが、同時に、非常にわかりにくい点があるため非常に難しくなります。起こり得る最悪の事態は、自分をプロだと思っている一部のトレーダーが、資本市場におけるこれらの概念の重要性について何も知らないことです。さて、ここではプログラミングに焦点を当てていますが、私たちが実装しようとしているものにとって最も重要なのは市場取引に伴う問題のいくつかを理解することです。
デイトレードLarry Connors RSI2平均回帰戦略
Larry Connorsは著名なトレーダー兼著者であり、特に2期間RSI (RSI2)などのクオンツトレーディングや戦略で知られています。RSI2は短期的な買われすぎ・売られすぎの市場状況を識別するのに役立ちます。本記事では、まず私たちの研究の動機を説明し、その後Connorsの代表的な3つの戦略をMQL5で再現し、S&P 500指数CFDのデイトレードに適用していきます。
エキスパートアドバイザーのQ値の開発
この記事では、エキスパートアドバイザー(EA)がストラテジーテスターで表示できる品質スコアを開発する方法を見ていきます。Van TharpとSunny Harrisという2つの有名な計算方法を見てみましょう。
DoEasy - コントロール(第25部):Tooltip WinFormsオブジェクト
今回は、Tooltipコントロールの開発と、ライブラリの新しいグラフィカルプリミティブの開発を開始する予定です。当然ながら、すべての要素にツールチップがあるわけではないですが、すべてのグラフィックオブジェクトにはツールチップを設定する機能があります。
エキスパートアドバイザーの堅牢性テスト
戦略開発には、多くの複雑な要素が含まれていますが、これらの多くは初心者トレーダーには十分に伝えられていません。その結果、私自身を含め多くのトレーダーが、こうした教訓を痛みを伴う経験を通じて学ぶことになりました。この記事では、MQL5で戦略を開発する際に初心者トレーダーが直面しがちな一般的な落とし穴について、私の観察に基づいて解説します。EAの信頼性を見極め、簡単に実践できる方法で自作EAの堅牢性を検証するための、さまざまなヒントやコツ、具体例を紹介します。本記事の目的は、読者がEA購入時の詐欺を回避し、自身の戦略開発での失敗を未然に防げるよう支援することです。
MQL5 Algo Forgeへの移行(第1回):メインリポジトリの作成
MetaEditorでプロジェクトを進める際、開発者はしばしばコードのバージョンを管理する必要に直面します。MetaQuotesは最近、Gitへの移行と、コードのバージョン管理や共同作業を可能にするMQL5 Algo Forgeの立ち上げを発表しました。本記事では、新しく導入されたツールと既存のツールを、より効率的に活用する方法について解説します。
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素
本稿では、前の記事からのグラフィカルオブジェクトを構築するという概念を作り直し、標準ライブラリCCanvasクラスを利用したライブラリのすべてのグラフィカルオブジェクトの基本クラスを準備します。
母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム
この記事では、無生物由来の興味深いアルゴリズム、つまり川床形成プロセスをシミュレーションするIntelligent Water Drops (IWD)について考察しています。このアルゴリズムのアイデアにより、従来の格付けのリーダーであったSDSを大幅に改善することが可能になりました。いつものように、新しいリーダー(修正SDSm)は添付ファイルにあります。
インジケーターを便利に扱うためのシンプルなソリューション
この記事では、チャート上からインジケーターの設定を直接変更できるシンプルなパネルの作成方法と、そのパネルをインジケーターに接続するために必要な変更点について解説します。この記事はMQL5初心者向けに書かれています。
DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト
今回の記事では、MS Visual StudioツールキットからSplitContainerコントロールの開発を開始します。このコントロールは、垂直または水平の可動セパレータで区切られた2つのパネルで構成されています。
Candlestick Trend Constraintモデルの構築(第10回):戦略的ゴールデンクロスとデスクロス(EA)
移動平均線のクロスオーバーに基づくゴールデンクロスおよびデッドクロス戦略は、長期的な市場トレンドを見極める上で最も信頼性の高い指標の一つであることをご存知でしょうか。ゴールデンクロスは、短期移動平均線が長期移動平均線を上回るときに強気トレンドの到来を示します。一方、デッドクロスは、短期移動平均線が長期線を下回ることで弱気トレンドの兆候を示します。これらの戦略は非常にシンプルでありながら効果的ですが、手動で運用すると機会の逸失やエントリーの遅れが発生しやすいという課題があります。
母集団最適化アルゴリズム:SSG(Saplings Sowing and Growing up、苗木の播種と育成)
SSG(Saplings Sowing and Growing up、苗木の播種と育成)アルゴリズムは、様々な条件下で優れた生存能力を発揮する、地球上で最も回復力のある生物の1つからインスピレーションを得ています。
取引履歴を気にせずにチャート上で直接取引を表示する方法
この記事では、キーナビゲーションを使用してチャート上でポジションと取引を直接便利に表示するためのシンプルなツールを作成します。トレーダーは個々の取引を視覚的に調べ、取引結果に関するすべての情報をその場で受け取ることができるようになります。
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第5回):深層マルコフモデル
この記事では、RSIインジケーターに単純なマルコフ連鎖を適用し、インジケーターが主要なレベルを通過した後の価格の挙動を観察します。NZDJPYペアで最も強い買いシグナルと売りシグナルは、RSIがそれぞれ11~20の範囲と71~80の範囲にあるときに生成されるという結論に達しました。データを操作して、保有するデータから直接学習した最適な取引戦略を作成する方法を説明します。さらに、遷移行列を最適に使用することを学習するためにディープニューラルネットワークを訓練する方法を説明します。
MQL5で取引管理者パネルを作成する(第5回):2要素認証(2FA)
本日は、現在開発中の取引管理パネルのセキュリティ強化について説明します。Telegram APIを統合し、2要素認証(2FA)を実現する新しいセキュリティ戦略にMQL5を実装する方法を探ります。このディスカッションでは、MQL5を活用してセキュリティ対策を強化する方法について貴重な洞察を得ることができます。さらに、MathRand関数の機能に焦点を当て、セキュリティフレームワーク内でどのように効果的に活用できるかを検討します。さらに詳しく知りたい方は、読み続けてください。
DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動
前回の記事では、コントロールフォームを使用して拡張グラフィックオブジェクトのピボットポイントを移動する機能を実装しました。次に、単一のグラフィックオブジェクトコントロールポイント(フォーム)を使用して複合グラフィックオブジェクトを移動する機能を実装します。
機械学習の限界を克服する(第3回):既約誤差に関する新たな視点
本記事では、モデルがおこなうすべての予測に密かに影響を与える、隠れた幾何学的誤差の源に新たな視点を提供します。取引における機械学習予測の評価方法と活用法を再考することで、従来見過ごされてきたこの視点が、より鋭い意思決定、より高いリターン、そして、すでに理解していると思っていたモデルをより賢く活用する道を開くことを示します。
初心者からエキスパートへ:予測価格経路
フィボナッチレベルは、市場がしばしば尊重する実践的な枠組みを提供し、価格が反応しやすいゾーンを明確に示します。本記事では、フィボナッチリトレースメントのロジックを用いて将来の値動きを予測し、指値注文で押し目を狙うエキスパートアドバイザー(EA)を構築します。スイング検出からレベル描画、リスク管理、注文執行まで、一連のワークフロー全体を解説します。
母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第2回)
この記事では、自然界の生物の遺伝物質で起こる自然なプロセスをモデル化した2進数遺伝的アルゴリズム(binary genetic algorithm:BGA)を見ていきます。
初級から中級まで:配列(III)
この記事では、MQL5における配列の扱い方について解説します。具体的には、関数や手続き(プロシージャ)間で配列を使って情報を受け渡す方法に焦点を当てます。本連載の今後の資料で説明・実演される内容の準備段階として、今回の記事は非常に重要です。そのため、ここで紹介される内容を注意深く学ぶことを強くお勧めします。
高度なICT取引システムの開発:インジケーターへのオーダーブロックの実装
この記事では、オーダーブロックのミティゲーションを検出し、描画し、アラートを発するインジケーターの作り方を学びます。また、チャート上でこれらのブロックを正確に特定する方法や、正確なアラートの設定方法、価格の動きをより理解しやすくするために矩形で位置を可視化する方法についても詳しく解説します。このインジケーターは、スマートマネーコンセプトやインナーサークルトレーダーの手法を用いるトレーダーにとって重要なツールとなるでしょう。
グラフ理論:ダイクストラ法を取引に適用する
ダイクストラ法は、グラフ理論における古典的な最短経路探索手法であり、市場ネットワークをモデル化することで取引戦略の最適化に応用できます。トレーダーは、ローソク足チャート上の価格データをグラフとして扱い、最も効率的な「経路」を見つけるためにダイクストラ法を使用できます。
プライスアクション分析ツールキットの開発(第11回):Heikin Ashi Signal EA
MQL5は、ユーザーの好みに合わせてカスタマイズ可能な自動売買システムを開発するための無限の可能性を提供します。複雑な数値計算も実行できることをご存知でしょうか。この記事では、自動売買戦略として日本の平均足手法を紹介します。
一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)
私たちの発注システムが対応できていないタスクがまだ1つありますが、最終的に解決する予定です。MetaTrader 5は、注文値の作成と修正を可能にするチケットのシステムを備えています。アイデアは、同じチケットシステムをより高速かつ効率的にするエキスパートアドバイザー(EA)を持つことです。
リプレイシステムの開発(第53回):物事は複雑になる(V)
今回は、あまり理解されていない重要なトピックを取り上げます。「カスタムイベント」です。これは危険です。これらの要素の長所と短所を解説します。このトピックは、MQL5やその他の言語でプロのプログラマーになりたい人にとって重要な鍵となります。ここではMQL5とMetaTrader 5に焦点を当てます。
初級から中級まで:インジケーター(I)
本記事では、初めてとなる完全に実用的かつ機能的なインジケーターを作成していきます。目的はアプリケーションの作り方そのものを示すことではありません。皆さんがご自身のアイデアをどのように開発できるのかを理解し、安全でシンプルかつ実践的な方法でそれを適用する機会を提供することにあります。
手動取引のリスクマネージャー
この記事では、手動取引用のリスクマネージャークラスをゼロから書く方法について詳しく説明します。このクラスは、自動化プログラムを使用するアルゴリズムトレーダーが継承するための基本クラスとしても使用できます。
PythonとMQL5における局所的特徴量選択の適用
この記事では、Narges Armanfardらの論文「Local Feature Selection for Data Classification」で提案された特徴量選択アルゴリズムを紹介します。このアルゴリズムはPythonで実装されており、MetaTrader 5アプリケーションに統合可能なバイナリ分類モデルの構築に使用されます。
DoEasyライブラリのグラフィックス(第97部): フォームオブジェクトの移動の独立した処理
本稿では、マウスを使用したフォームオブジェクトの独立したドラッグの実装について検討します。さらに、以前にターミナルとMQL5に実装されたエラーメッセージと新しい取引プロパティをライブラリに追加します。
DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化
今回は、ScrollBarコントロールの開発の続きと、マウスインタラクション機能の実装を開始します。さらに、マウスの状態フラグやイベントのリストも充実させる予定です。
MQL5の圏論(第4回):スパン、実験、合成
圏論は数学の一分野であり、多様な広がりを見せていますが、MQL5コミュニティでは今のところ比較的知られていません。この連載では、その概念のいくつかを紹介して考察することで、トレーダーの戦略開発におけるこの注目すべき分野の利用を促進することを目的としたオープンなライブラリを確立することを目指しています。
母集団最適化アルゴリズム:群鳥アルゴリズム(BSA)
本稿では、自然界における鳥の群れの集団的な相互作用に着想を得た、鳥の群れに基づくアルゴリズム(BSA)を探求します。飛行、警戒、採餌行動の切り替えなど、BSAの個体にはさまざまな探索戦略があるため、このアルゴリズムは多面的なものとなっています。鳥の群れ、コミュニケーション、適応性、先導と追随の原理を利用し、効率的に最適解を見つけます。
初級から中級まで:再帰
この記事では、とても興味深く、難易度のやや高いプログラミングの概念について見ていきます。ただし、この概念は細心の注意をもって扱うべきです。なぜなら、誤用や誤解によって、本来は比較的単純なプログラムが、不要に複雑化してしまう危険があるからです。しかし、正しく使用し、かつ適切な状況にうまく適用できれば、再帰は、そうでなければ非常に面倒で時間のかかる問題を解決するための優れた味方となります。ここに掲載されている資料は、教育目的のみのものです。いかなる状況においても、提示された概念を学習し習得する以外の目的でアプリケーションを利用することは避けてください。
MQL5で古典的な戦略を再構築する(第3回):FTSE100予想
この連載では、よく知られた取引戦略を再検討し、AIを使って改善できるかどうかを検証します。本日の記事では、FTSE100について調べ、指数を構成する個別銘柄の一部を使って指数の予測を試みます。
リプレイシステムの開発(第68回):正しい時間を知る(I)
今日は、流動性が低い時間帯に、マウスポインタを使ってバーの残り時間を確認できるようにする作業を引き続き進めていきます。一見すると簡単そうに思えますが、実際にはこの作業には多くの困難が伴います。いくつかの障害を乗り越える必要があるため、このサブシリーズの最初のパートをしっかりと理解しておくことが、今後の内容を理解する上で非常に重要です。
Rest APIを統合したMQL5強化学習エージェントの開発(第4回):MQL5でクラス内の関数を整理する
この記事では、MQL5における手続き型コーディングからオブジェクト指向プログラミング(OOP)への移行について、REST APIとの統合を中心に説明します。今日は、HTTPリクエスト関数(GETとPOST)をクラスにまとめる方法について説明します。コードのリファクタリングについて詳しく見ていき、孤立した関数をクラスメソッドに置き換える方法を紹介します。記事には実践的な例とテストが含まれています。
リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント
ここでは、カスタムイベントがどのようにトリガーされ、指標でどのようにリプレイ/シミュレーションサービスの状態がレポートされるかを見ていきます。