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

icon

エキスパートアドバイザーはプログラミングの「頂点」であり、それぞれの自動取引の開発者の求めたゴールです。このセクションの記事を読んで、ご自分の自動売買ロボットを作成してください。記述された手順に従うことにより、どのように自動取引システムを作成し、デバッグし、テストするかを学びます。

記事はMQL5プログラミングを教えるだけでなく、どのようにトレーディングアイデアとテクニックを導入するかを示します。どのようにトレーリングストップをプログラムするか、どのように資金管理を適用するか、どのようにインディケータ値を取得するかなど、さらに多くのことを学べます。

新しい記事を追加
最新 | ベスト
preview
一からの取引エキスパートアドバイザーの開発(第9部):概念的な飛躍(II)

一からの取引エキスパートアドバイザーの開発(第9部):概念的な飛躍(II)

この記事では、Chart Tradeをフローティングウィンドウに配置します。前稿では、フローティングウィンドウ内でテンプレートを使用できるようにする基本的なシステムを作成しました。
preview
一からの取引エキスパートアドバイザーの開発(第8部):概念的な飛躍

一からの取引エキスパートアドバイザーの開発(第8部):概念的な飛躍

新しい機能を実装する最も簡単な方法は何でしょうか。この記事では、1歩後退してから2歩前進します。
preview
一からの取引エキスパートアドバイザーの開発(第7部):価格別出来高の追加(I)

一からの取引エキスパートアドバイザーの開発(第7部):価格別出来高の追加(I)

価格別出来高は、現存する最も強力なインジケータの1つです。ある程度の自信を持って取引するには、チャートにはこのインジケータが必須です。このインジケータはよく「テープリーディング」を好むトレーダーに使われますが、プライスアクションのみを使用して取引する場合にも活用できます。
preview
単一チャート上の複数インジケータ(第06部):MetaTrader 5をRADシステムに変える(II)

単一チャート上の複数インジケータ(第06部):MetaTrader 5をRADシステムに変える(II)

前回の記事では、MetaTrader 5のオブジェクトを使ってChart Tradeを作成し、プラットフォームをRADシステムに変える方法を紹介しました。このシステムは非常によく機能しており、読者の多くは、提案されたシステムの機能を拡張できるようなライブラリを作成することをお考えになったのではないでしょうか。これに基づいて、より直感的で使い勝手の良いEAを開発することも可能でしょう。
preview
単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I)

単一チャート上の複数インジケータ(第05部):MetaTrader 5をRADシステムに変える(I)

プログラミングはできなくても創造性に富んだ素晴らしいアイデアを持っている人はたくさんいます。しかし、プログラミングの知識がないため、これらのアイデアを実行に移すことができないのです。MetaTrader5のプラットフォームそのものをIDEのように使って、Chart Tradeを作成する方法を一緒に見てみましょう。
preview
チャートをより面白くする: 背景の追加

チャートをより面白くする: 背景の追加

多くのワークステーションには、ユーザーに関する何かを語る代表的な画像が含まれています。これらの画像は、作業環境をより美しくエキサイティングなものにします。背景を追加してチャートをより面白くする方法を見てみましょう。
preview
アルゴリズム取引システムを設計する理由と方法を学ぶ

アルゴリズム取引システムを設計する理由と方法を学ぶ

この記事では、MQL5のいくつかの基本に言及した後で、単純なアルゴリズム取引システムを設計することによって初心者がアルゴリズム取引システム(エキスパートアドバイザー)を設計するためのMQLの基本を示します。
preview
MetaTrader 5のWebSocket — WindowsAPIの使用

MetaTrader 5のWebSocket — WindowsAPIの使用

この記事では、WinHttp.dllを使用してMetaTrader 5プログラム用のWebSocketクライアントを作成します。クライアントは最終的にクラスとして実装され、Binary.com WebSocketAPIに対してもテストされます。
preview
マーケットからエキスパートアドバイザーを選択する正しい方法

マーケットからエキスパートアドバイザーを選択する正しい方法

この記事では、エキスパートアドバイザーを購入する際に注意すべき重要なポイントのいくつかを検討します。また、利益を増やし、お金を賢く使ってこの支出から利益を得る方法を探します。また、記事を読み終われば、シンプルで無料の製品を使用しても収益を得られることがわかると思います。
preview
MQL5の行列とベクトル

MQL5の行列とベクトル

特別な「matrix」と「vector」データ型を使用すると、数学表記に非常に近いコードを作成することができます。行列とベクトルのメソッドを使用すると、計算でネストされたループを作成したり配列で正しいインデックスを作成したりする必要がなくなるため、複雑なプログラムの開発における信頼性と速度が向上します。
preview
MQL5でのAutoItの使用

MQL5でのAutoItの使用

簡単に説明すると、この記事では、MQL5をAutoItと統合することによってMetraTrader5ターミナルのスクリプトを作成します。その中で、ターミナルのユーザーインターフェイスを操作することによってさまざまなタスクを自動化する方法を説明し、AutoItXライブラリを使用するクラスも紹介します。
preview
固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

ストップロスは、取引における資金管理に関する主要なツールです。ストップロス、テイクプロフィット、ロットサイズを効果的に使用することで、トレーダーは取引の一貫性を改善し、全体的に収益性を高めることができます。ストップロスは優れたツールですが、使用時に課題に遭遇することがあります。主要なものはストップロスハントです。この記事では、取引でのストップロスハントを減らす方法と、従来のストップロスの使用法と比較して収益性を判断する方法について説明します。
preview
EAコンストラクタの開発の試み

EAコンストラクタの開発の試み

この記事では、既製のEAの形で一連の取引機能を提供します。この方法では、指標を追加して入力を変更するだけで、複数の取引ストラテジーを取得できます。
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換
プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プロのプログラマーからのヒント(第2部): パラメータの保存とエキスパートアドバイザー、スクリプト、外部プログラム間での交換

プログラミングを容易にする方法、テクニック、および補助ツールに関するプロのプログラマーからのヒントです。ターミナルの再起動(シャットダウン)後に復元できるパラメータについて説明します。すべての例は、私のCaymanプロジェクトからの実際に機能するコードセグメントです。
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

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

本稿では、いくつかのチャートオブジェクトイベント(銘柄チャートとチャートサブウィンドウの追加/削除、およびチャートウィンドウの指標の追加/削除/変更)を追跡する機能を作成します。
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
自動取引のための便利でエキゾチックな技術

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

本稿では、自動取引のためのいくつかの非常に興味深く有用な技術を紹介します。それらのいくつかには馴染みがあるかもしれません。最も興味深い手法を取り上げ、なぜ使用する価値があるのかを説明します。さらに、これらの技術の実際面での傾向を示します。エキスパートアドバイザーを作成し、説明されているすべての技術を相場履歴を使用してテストします。
DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス
DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス

DoEasyライブラリでの価格(第63部): 板情報とその抽象リクエストクラス

本稿では、板情報を使用するための機能の開発を開始します。また、板情報抽象注文オブジェクトとその子孫のクラスも作成します。
DoEasyライブラリでの価格(第61部): 銘柄ティックシリーズのコレクション
DoEasyライブラリでの価格(第61部): 銘柄ティックシリーズのコレクション

DoEasyライブラリでの価格(第61部): 銘柄ティックシリーズのコレクション

プログラムでは作業に異なる銘柄を使用する可能性があるため、それぞれに個別のリストを作成する必要があります。本稿では、そのようなリストを組み合わせてティックデータコレクションにします。実際、これは、CObjectクラスのインスタンスへのポインタの動的配列のクラスおよび標準ライブラリの子孫に基づく通常のリストになります。
DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト
DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト

DoEasyライブラリでの価格(第60部): 銘柄ティックデータのシリーズリスト

本稿では、単一銘柄のティックデータを格納するためのリストを作成し、EAでの必要なデータの作成と取得を確認します。さらに、使用される銘柄ごとの個別のティックデータリストでティックデータのコレクションを構成します。
市場とそのグローバルパターンの物理学
市場とそのグローバルパターンの物理学

市場とそのグローバルパターンの物理学

本稿では、市場を少しでも理解してるシステムはどれでも世界規模で運用できるという前提を試してみます。理論やパターンは発明せずに既知の事実のみを使用し、これらの事実を徐々に数学的分析の言語に翻訳していきます。
preview
ニューラルネットワークが簡単に(第8回): アテンションメカニズム

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

以前の記事では、ニューラルネットワークを整理するための様々な選択肢を既に検証しました. また、画像処理アルゴリズムから借りた畳み込みネットワークについても検討しました. 今回の記事では、言語モデルの開発に弾みをつけた「アテンション・メカニズム」を考えることを提案します.
preview
手動チャートおよび取引ツールキット(第II部)チャートグラフィック描画ツール

手動チャートおよび取引ツールキット(第II部)チャートグラフィック描画ツール

これは連載の次の記事で、キーボードショートカットを使用してチャートグラフィックを手動で適用するための便利なライブラリを作成した方法を示します。使用されるツールには、直線とその組み合わせが含まれます。第2部では、第1部で説明した関数を使用して、描画ツールがどのように適用されるかを確認します。ライブラリは、チャート作成タスクを大幅に簡素化する任意のエキスパートアドバイザーまたはインディケーターに接続できます。このソリューションは外部DLLを使用せず、すべてのコマンドは組み込みのMQLツールを使用して実装されます。
preview
MetaTrader5のWebSocket

MetaTrader5のWebSocket

MQL5 APIが更新されてネットワーク機能が導入される前は、MetaTraderプログラムでは、WebSocketベースのサービスに接続してインターフェイスする機能が制限されていました。しかしもちろん、これはすべて変わっています。本稿では、純粋なMQL5でのWebSocketライブラリの実装について説明します。WebSocketプロトコルの簡単な説明とともに結果のライブラリの使用方法に関する手順のガイドが提示されます。
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
DoEasyライブラリの時系列(第54部): 抽象基本指標の子孫クラス

DoEasyライブラリの時系列(第54部): 抽象基本指標の子孫クラス

本稿では、基本抽象指標の子孫オブジェクトのクラスの作成について検討しています。このようなオブジェクトは、指標EAを作成し、さまざまな指標と価格のデータ値統計を収集および取得する機能へのアクセスを備えています。また、プログラムで作成された各指標のプロパティとデータにアクセスできる指標オブジェクトコレクションを作成します。
preview
ニューラルネットワークが簡単に(第4回): リカレントネットワーク

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

これまでニューラルネットワークの勉強を続けてきました。 この記事では、ニューラルネットワークのもう一つのタイプであるリカレントネットワークについて考えてみます。 このタイプは、MetaTrader 5の取引プラットフォームで価格チャートで表現される時系列を使用するために提案されています。
preview
継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

継続的なウォークフォワード最適化(その8)。プログラムの改善と修正

本連載では、ユーザーや読者の皆様からのご意見・ご要望をもとに、プログラムを修正しています。 この記事では、オートオプティマイザーの新バージョンを掲載しています。 このバージョンでは、要求された機能を実装し、他の改善点を提供しています。
preview
PythonやRの知識が不要なYandexのCatBoost機械学習アルゴリズム

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

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

取引イベントおよびシグナルの音声通知システム

今日では、ナビゲーター、音声検索、翻訳ツールがよく使用され、音声アシスタントは人間の生活において重要な役割を果たしています。本稿では、さまざまな取引イベント、市場の状態、取引シグナルによって生成されるシグナルに対するシンプルでユーザフレンドリーな音声通知システムの開発を試みます。
DLLなしのMT4およびMT5用ネイティブTwitterクライアント
DLLなしのMT4およびMT5用ネイティブTwitterクライアント

DLLなしのMT4およびMT5用ネイティブTwitterクライアント

ツイートにアクセスしたり、Twitterに取引シグナルを投稿したりしたかったことがおありですか?検索をおやめください。この連載では、DLLを使用せずにそれを行う方法を示します。MQLを使用してTweeter APIを実装する旅をお楽しみください。この第1部では、Twitter APIにアクセスする際の認証と承認の栄光の道をたどります。