MQL5言語での自動売買ロボットのプログラミングと使用に関する記事

icon

MetaTraderプラットフォームのために作られたExpert Advisorsは、開発者により導入された様々な機能を実行します。自動売買ロボットは1日24時間、通貨をトラックし、取引をコピーし、レポートを送信し、ニュースを分析し、 特別に作成されたグラフィカルインターフェイスを提供することができます。

記事はプログラミングのテクニック、データ処理のための数学的なアイデア、自動売買ロボットの開発と発注についてのヒントを記載します。

新しい記事を追加
最新 | ベスト
スワップ(第I部):ロックと合成ポジション
スワップ(第I部):ロックと合成ポジション

スワップ(第I部):ロックと合成ポジション

この記事では、スワップ取引手法の古典的な概念を拡張しようとします。私が、この概念に特別な注意を払う価値があり、この概念が研究に絶対的に推奨されるという結論に達した理由を説明します。
DoEasyライブラリでのその他のクラス(第69部): チャットオブジェクトコレクションクラス
DoEasyライブラリでのその他のクラス(第69部): チャットオブジェクトコレクションクラス

DoEasyライブラリでのその他のクラス(第69部): チャットオブジェクトコレクションクラス

本稿からチャートオブジェクトコレクションクラスの開発を開始します。このクラスでは、サブウィンドウと指標とともにチャートオブジェクトのコレクションリストを保存し、選択したチャートとそのサブウィンドウ、または複数のチャートのリストを一度に操作する機能を提供します。
DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス
DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス

DoEasyライブラリでのその他のクラス(第68部): チャットウィンドウオブジェクトクラスとチャートでの指標オブジェクトクラス

本稿では、チャートオブジェクトクラスの開発を続け、利用可能な指標のリストを含むチャートウィンドウオブジェクトのリストに追加します。
preview
ニューラルネットワークが簡単に(第13回): Batch Normalization

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

前回の記事では、ニューラルネットワーク訓練の品質を向上させることを目的とした手法の説明を開始しました。本稿では、このトピックを継続し、別のアプローチであるデータのBatch Normalizationについて説明します。
preview
ニューラルネットワークが簡単に(第12回): ドロップアウト

ニューラルネットワークが簡単に(第12回): ドロップアウト

ニューラルネットワークを研究する次のステップとして、ニューラルネットワークの訓練中に収束を高める手法を検討することをお勧めします。そのような手法はいくつかありますが、本稿では、それらの1つである「ドロップアウト」について考察します。
DoEasyライブラリでのその他のクラス(第67部): チャットオブジェクトクラス
DoEasyライブラリでのその他のクラス(第67部): チャットオブジェクトクラス

DoEasyライブラリでのその他のクラス(第67部): チャットオブジェクトクラス

本稿では、(単一の取引製品チャートの)チャートオブジェクトクラスを作成し、MQL5シグナルオブジェクトのコレクションクラスを改善して、コレクションに格納されている各シグナルオブジェクトでリストの更新時にすべてのパラメータが更新されるようにします。
preview
ニューラルネットワークが簡単に(第11部): GPTについて

ニューラルネットワークが簡単に(第11部): GPTについて

GPT-3は現在存在する言語ニューラルネットワークの中でおそらく最も高度なモデルの1つであり、その最大バリアントには1,750億個のパラメータが含まれています。もちろん、家庭にあるようなPCでそのような怪物を作成するつもりはありませんが、どのアーキテクチャソリューションを作業に使用し、それらからどのように利益を得ることができるかは確認することができます。
preview
自動取引のための便利でエキゾチックな技術

自動取引のための便利でエキゾチックな技術

本稿では、自動取引のためのいくつかの非常に興味深く有用な技術を紹介します。それらのいくつかには馴染みがあるかもしれません。最も興味深い手法を取り上げ、なぜ使用する価値があるのかを説明します。さらに、これらの技術の実際面での傾向を示します。エキスパートアドバイザーを作成し、説明されているすべての技術を相場履歴を使用してテストします。
preview
取引におけるニューラルネットワークの実用化(第2部)コンピュータービジョン

取引におけるニューラルネットワークの実用化(第2部)コンピュータービジョン

コンピュータービジョンを使用すると、価格チャートと指標の視覚的表現に関してニューラルネットワークを訓練できるようになります。この方法では、ニューラルネットワークにデジタルでフィードする必要がないため、テクニカル指標全体でより幅広い操作が可能になります。
DoEasyライブラリでのその他のクラス(第66部): MQL5.comシグナルコレクションクラス
DoEasyライブラリでのその他のクラス(第66部): MQL5.comシグナルコレクションクラス

DoEasyライブラリでのその他のクラス(第66部): MQL5.comシグナルコレクションクラス

本稿では、シグナルを管理する関数を備えたMQL5.comシグナルサービスのシグナルコレクションクラスを作成します。さらに、DOMの売買取引高の合計を表示するように板情報スナップショットオブジェクトクラスを改善します。
DoEasyライブラリでの価格(第64部): 板情報、DOMスナップショットのクラスおよびスナップショットシリーズオブジェクト
DoEasyライブラリでの価格(第64部): 板情報、DOMスナップショットのクラスおよびスナップショットシリーズオブジェクト

DoEasyライブラリでの価格(第64部): 板情報、DOMスナップショットのクラスおよびスナップショットシリーズオブジェクト

本稿では、2つのクラス(DOMスナップショットオブジェクトのクラスとDOMスナップショットシリーズオブジェクトのクラス)を作成し、DOMデータシリーズの作成をテストします。
DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備
DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備

DoEasyライブラリでの価格(第62部): ティックシリーズをリアルタイムで更新して板情報で作業するための準備

この記事では、ティックデータの更新をリアルタイムで実装し、板情報を操作するための銘柄オブジェクトクラスを準備します(DOM自体は次の記事で実装されます)。
自己適応アルゴリズム(第IV部):その他の機能とテスト
自己適応アルゴリズム(第IV部):その他の機能とテスト

自己適応アルゴリズム(第IV部):その他の機能とテスト

引き続き、必要最小限の機能でアルゴリズムを実装して結果をテストします。収益性は非常に低いですが、連載では、完全に自動化された、根本的に異なる市場で取引される完全に異なる商品で収益性の高い取引モデルを示しています。
preview
ニューラルネットワークが簡単に(第10回): Multi-Head Attention

ニューラルネットワークが簡単に(第10回): Multi-Head Attention

ニューラルネットワークにおける自己注意のメカニズムについては、以前に検討しました。実際には、最新のニューラルネットワークアーキテクチャは、いくつかの並列した自己注意スレッドを使用して、シーケンスの要素間のさまざまな依存関係を見つけます。このようなアプローチの実装を検討し、ネットワーク全体のパフォーマンスへの影響を評価しましょう。
自己適応アルゴリズム(第III部):最適化の放棄
自己適応アルゴリズム(第III部):最適化の放棄

自己適応アルゴリズム(第III部):最適化の放棄

履歴データに基づく最適化を使用してパラメータを選択する場合、真に安定したアルゴリズムを取得することは不可能です。安定したアルゴリズムは、常時、どんな取引商品で作業していても、必要なパラメータを認識している必要があります。予測や推測ではなく、確実に知っているべきです。
自己適応アルゴリズムの開発(第II部): 効率の向上
自己適応アルゴリズムの開発(第II部): 効率の向上

自己適応アルゴリズムの開発(第II部): 効率の向上

この記事では、以前に作成したアルゴリズムの柔軟性を向上させることでトピックの開発を続けます。アルゴリズムは、分析期間内のローソク足の数の増加または上昇/下降ローソク足超過率のしきい値の増加によって、より安定しました。分析のためにより大きなサンプルサイズを設定するかより高いローソク足の超過率を設定して、妥協する必要がありました。
preview
パターン検索への総当たり攻撃アプローチ(第III部): 新しい水平線

パターン検索への総当たり攻撃アプローチ(第III部): 新しい水平線

本稿では、総当たり攻撃のトピックを続けます。プログラムアルゴリズムに市場分析の新しい機会を導入することで分析速度を高め、結果の品質を向上します。新しい追加により、このアプローチ内でグローバルパターンの最高品質で表示できるようになります。
自己適応アルゴリズムの開発(第I部):基本的なパターンの検索
自己適応アルゴリズムの開発(第I部):基本的なパターンの検索

自己適応アルゴリズムの開発(第I部):基本的なパターンの検索

この連載では、ほとんどの市場要因を考慮した自己適応アルゴリズムの開発を示すとともに、これらの状況を体系化してロジックで説明し、取引活動で考慮に入れる方法を示します。非常に単純なアルゴリズムから始めて、徐々に理論を習得し、非常に複雑なプロジェクトに進化していきます。
preview
ニューラルネットワークが簡単に(第8回): アテンションメカニズム

ニューラルネットワークが簡単に(第8回): アテンションメカニズム

以前の記事では、ニューラルネットワークを整理するための様々な選択肢を既に検証しました. また、画像処理アルゴリズムから借りた畳み込みネットワークについても検討しました. 今回の記事では、言語モデルの開発に弾みをつけた「アテンション・メカニズム」を考えることを提案します.
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト
DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト

DoEasyライブラリの時系列(第59部): 単一ティックのデータを格納するオブジェクト

本稿からは、価格データを処理するライブラリ機能を作成します。今日、さらに別のティックで到着したすべての価格データを格納するオブジェクトクラスを作成します。
preview
DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列

DoEasyライブラリの時系列(第58部): 指標バッファデータの時系列

時系列の操作に関するトピックのしめくくりとして、指標バッファに格納されているストレージ、検索、およびデータの並べ替えを整理します。これにより、プログラムでライブラリベースで作成される指標の値に基づいて分析をさらに実行できます。ライブラリのすべてのコレクションクラスの一般的な概念により、対応するコレクションで必要なデータを簡単に見つけることができます。それぞれ、今日作成されたクラスでも同じことが可能です。
preview
パターン検索への総当たり攻撃アプローチ(第II部): イマージョン

パターン検索への総当たり攻撃アプローチ(第II部): イマージョン

本稿では、引き続き総当たり攻撃アプローチについて説明します。改良されたアプリケーションの新バージョンを使用して、パターンをより良く説明を試みます。また、さまざまな時間間隔と時間枠を使用して、安定性の違いの特定も試みます。
preview
ニューラルネットワークが簡単に(第7回): 適応的最適化法

ニューラルネットワークが簡単に(第7回): 適応的最適化法

以前の記事では、ネットワーク内のすべてのニューロンに対して同じ学習率を用いてニューラルネットワークをトレーニングするためにストキャスティクススロープ降下法を使用しました。 本論文では、各ニューロンの学習速度を変化させることができる適応学習法に着目します。 その是非についても検討していきたいと思います。
preview
ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

これまで、様々な種類のニューラルネットワークをその実装とともに考察してきました。 すべての場合において、ニューラルネットワークは、学習率を選択する必要があるグラディエントディーセント法を用いてトレーニングされました。 今回は、正しく選択されたレートの重要性とニューラルネットワーク学習への影響を例を用いて示したいと思います。
preview
ニューラルネットワークが簡単に(第5回): OPENCLでのマルチスレッド計算

ニューラルネットワークが簡単に(第5回): OPENCLでのマルチスレッド計算

ニューラルネットワークの実装のいくつかのタイプについては、これまで説明してきました。 これまで考慮されたネットワークでは、各ニューロンに対して同じ操作が繰り返されます。 さらに論理的な進展としては、ニューラルネットワークの学習プロセスを高速化するために、現代の技術が提供するマルチスレッドコンピューティング機能を利用することです。 可能な実装の1つは、この記事で説明しています。
preview
DoEasyライブラリの時系列(第57部): 指標バッファデータオブジェクト

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

本稿では、1つの指標に対して1つのバッファのすべてのデータを含むオブジェクトを開発します。このようなオブジェクトは、指標バッファのシリアルデータを格納するために必要になります。その助けを借りて、任意の指標のバッファデータ、および他の同様のデータを相互に並べ替えて比較できるようになります。
preview
DoEasyライブラリの時系列(第56部):カスタム指標オブジェクト、コレクション内指標オブジェクトからのデータ取得

DoEasyライブラリの時系列(第56部):カスタム指標オブジェクト、コレクション内指標オブジェクトからのデータ取得

本稿では、EAで使用するためのカスタム指標オブジェクトの作成について検討します。ライブラリクラスを少し改善し、EAの指標オブジェクトからデータを取得するメソッドを追加しましょう。
preview
パターン検索への総当たり攻撃アプローチ

パターン検索への総当たり攻撃アプローチ

本稿では、市場パターンを検索し、特定されたパターンに基づいてエキスパートアドバイザーを作成し、これらのパターンが有効であるかどうかを確認します。
preview
ニューラルネットワークが簡単に(第4回): リカレントネットワーク

ニューラルネットワークが簡単に(第4回): リカレントネットワーク

これまでニューラルネットワークの勉強を続けてきました。 この記事では、ニューラルネットワークのもう一つのタイプであるリカレントネットワークについて考えてみます。 このタイプは、MetaTrader 5の取引プラットフォームで価格チャートで表現される時系列を使用するために提案されています。
preview
ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークが簡単に(第3回): コンボリューションネットワーク

ニューラルネットワークの話題の続きとして、畳み込み型ニューラルネットワークの考察を提案します。 この種のニューラルネットワークは、通常、視覚的なイメージの分析に適用されます。 本稿では、これらのネットワークの金融市場への応用について考察します。
preview
PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

この記事では、具体的な例を用いて、機械学習プロセスのコードと主要な段階の説明をします。 このモデルを取得するためには、PythonやRの知識は必要ありません。 さらに、MQL5の基本的な知識があれば十分です - まさに私のレベルです。 したがって、この記事が、機械学習の評価やプログラムへの実装に興味のある人たちの手助けとなり、幅広い人たちの良いチュートリアルとなることを期待しています。
preview
並列粒子群最適化

並列粒子群最適化

本稿では、粒子群アルゴリズムを使用した高速最適化の手法について説明しています。また、この手法のMQLでの実装を提示します。これは、エキスパートアドバイザー内のシングルスレッドモードとローカルテスターエージェントで実行されるアドオンとしての並列マルチスレッドモードの両方ですぐに使用できます。
トレーディングアルゴリズム開発への科学的アプローチ
トレーディングアルゴリズム開発への科学的アプローチ

トレーディングアルゴリズム開発への科学的アプローチ

この記事では、一貫した科学的アプローチを用いて価格パターンを分析し、それに基づいてトレードアルゴリズムを構築するという、トレードアルゴリズムを開発するための方法論を考察します。 開発の理想を事例を用いて示します。
preview
高度なリサンプリングと総当たり攻撃によるCatBoostモデルの選択

高度なリサンプリングと総当たり攻撃によるCatBoostモデルの選択

本稿では、モデルの一般化可能性を向上させることを目的としたデータ変換への可能なアプローチの1つについて説明し、CatBoostモデルの抽出と選択についても説明します。
preview
カスタムシンボル。実用的な基礎

カスタムシンボル。実用的な基礎

この記事では、クオートを表示するための一般的な方法を示すために、カスタムシンボルプログラムの生成を行います。 派生したカスタムシンボルチャートから実際のシンボルをトレードするためのEAにおける提案された亜種についても説明します。 この記事にはMQLのソースコードが添付されています。
クイック手動取引ツールキット: ポジションと指値注文の使用
クイック手動取引ツールキット: ポジションと指値注文の使用

クイック手動取引ツールキット: ポジションと指値注文の使用

本稿では、ツールキットの機能を拡張します。特定の条件で取引ポジションを決済する機能を追加し、これらの注文を編集する機能を備えた、成行注文と指値注文を制御するための表を作成します。
数式の計算(第2部)Prattパーサーおよび操車場パーサー
数式の計算(第2部)Prattパーサーおよび操車場パーサー

数式の計算(第2部)Prattパーサーおよび操車場パーサー

この記事では、演算子の優先順位に基づいたパーサーを使用した数式の解析と評価の原則について検討します。Prattパーサーと操車場パーサー、バイトコードの生成とこのコードによる計算を実装し、式の関数として指標を使用する方法と、これらの指標に基づいてエキスパートアドバイザーで取引シグナルを設定する方法を確認します。
クイック手動取引ツールキット: 基本機能
クイック手動取引ツールキット: 基本機能

クイック手動取引ツールキット: 基本機能

今日、多くのトレーダーが自動取引システムに切り替えています。これらのシステムには、追加のセットアップが必要なものも完全に自動化されてすぐに使用できるものもあります。ただし、昔ながらの方法で手動で取引することを好むトレーダーもかなりいます。本稿では、ホットキーを使用してすばやく手動で取引し、ワンクリックで一般的な取引アクションを実行するためのツールキットを作成します。
クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト
クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト

クロスプラットフォームグリッドEAの開発:マルチカレンシーEAのテスト

この1か月で相場は30%以上も下落しました。(コロナショック後です。) グリッド系とマーチンゲール系のEAのテストには最適な時期のようです。 本記事は、「クロスプラットフォームのグリッドEAを作る」シリーズの無計画な続編です。 現在の相場では、グリッドEAのストレスレストを整えるチャンスとなっています。 ということで、この機会にEAのテストをしてみましょう。
時系列の予測(第2部):最小二乗サポートベクターマシン(LS-SVM)
時系列の予測(第2部):最小二乗サポートベクターマシン(LS-SVM)

時系列の予測(第2部):最小二乗サポートベクターマシン(LS-SVM)

この記事では、サポートベクター法に基づいて時系列を予測するアルゴリズムの理論と実際の使用法について説明します。また、このメソッドのMQL実装を提案し、テスト指標とエキスパートアドバイザーを提示します。このテクノロジーはまだMQLに実装されていません。まず、そのための数学を理解する必要があります。