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

icon

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

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

新しい記事を追加
最新 | ベスト
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)
グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)

グラフィカルインタフェースXI:標準グラフィックライブラリの統合(ビルド16)

グラフィックライブラリの科学的なグラフを作成するための新バージョン(CGraphicクラス)が最近発表されました。今回のアップデートでは、グラフィカルインターフェイス作成のために開発された当ライブラリにグラフを作成するための新しいコントロールを備えたバージョンが導入されます。さまざまな種類のデータを視覚化することがさらに簡単になりました。
運動継続モデル-チャート上での検索と実行統計
運動継続モデル-チャート上での検索と実行統計

運動継続モデル-チャート上での検索と実行統計

この記事では、運動継続モデルの1つをプログラムによって定義します。 この主なアイデアは、2つの波の定義です(メインと補正) 極値点については、フラクタルだけでなく、 "潜在的な " フラクタル-まだフラクタルとして形成されていない極値点を適用します。
preview
自動で動くEAを作る(第08回):OnTradeTransaction

自動で動くEAを作る(第08回):OnTradeTransaction

今回は、受注システムに関する問題を迅速かつ効率的に処理するためのイベント処理システムの使用方法について紹介します。このシステムにより、EAは必要なデータを常に検索する必要がなくなり、より速く動作するようになります。
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)
グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)

グラフィカルインターフェイスX:マルチラインテキストボックスでのテキスト選択(ビルド13)

本稿では、他のテキストエディタと同様に、さまざまなキーの組み合わせによってテキストを選択して選択したテキストを削除する機能を実装します。さらに、引き続きコードを最適化し、ライブラリの進化の第2段階の最終プロセスではすべてのコントロールが別々の画像(キャンバス)としてレンダリングされるため、これに向かってクラスを準備します。
preview
ニューラルネットワークが簡単に(第4回): リカレントネットワーク

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

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

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

前回の記事では、ニューラルネットワーク訓練の品質を向上させることを目的とした手法の説明を開始しました。本稿では、このトピックを継続し、別のアプローチであるデータのBatch Normalizationについて説明します。
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

今回は、現在シンボルについてポジションプロパティを取得し、マニュアルトレーディングの間カスタム情報パネルにそのポジションプロパティを表示するシンプルな Expert Advisor を作成します。情報パネルはグラフィカルオブジェクトを用いて作成され、表示される情報はティック毎にリフレッシュされます。これは "MQL5 Cookbook: Getting Position Properties"と呼ばれるシリーズの以前の記事に記載があるスクリプトをつねにマニュアルで実行しなければならないのよりはるかに便利になります。
preview
ニューラルネットワークが簡単に(第12回): ドロップアウト

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

ニューラルネットワークを研究する次のステップとして、ニューラルネットワークの訓練中に収束を高める手法を検討することをお勧めします。そのような手法はいくつかありますが、本稿では、それらの1つである「ドロップアウト」について考察します。
preview
ニューラルネットワークが簡単に(第5回): OPENCLでのマルチスレッド計算

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

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

グラフィカルインターフェイスXI:テーブルセル内のテキストエディットボックスとコンボボックス(ビルド15)

このライブラリアップデートでは、テーブルコントロール(CTableクラス)に新しいオプションが追加されます。テーブルセル内のコントロールのラインアップが拡張され、今回はテキストエディットボックスとコンボボックスが追加されます。また、このアップデートでは、実行中にMQLアプリケーションのウィンドウのイズを変更する機能も導入されています。
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)

グラフィカルインタフェース II:ライブラリのイベントハンドラの設定(チャプター3)

以前の記事には、メインメニューの構成部分を作成するためのクラスの実装が含まれています。ここで、主要な基本クラスと作成されたコントロールのクラスでイベントハンドラを細かく見ることにします。また、マウスカーソルの位置に応じたチャートの状態の管理にも特別な注意が払われます。
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用
単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

単一インスツルメント上で異なるExpert Advisorsを使ったトレーディングのためのORDER_MAGICの使用

本稿は、異なるExpert Advisorsの自動トレーディングの分割、組立て、同期同様magic-identificationを使用したインフォメーションコーディングの疑問について考察します。本稿は、より経験を積んだトレーダー同様初心者にも興味深い内容となっています。その理由は、Expert Advisorsおよび様々な戦略の複雑なシステムの同期を実装するのに有用な垂直ポジションの疑問に取り組んでいるからです。
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

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

本稿では、いくつかのチャートオブジェクトイベント(銘柄チャートとチャートサブウィンドウの追加/削除、およびチャートウィンドウの指標の追加/削除/変更)を追跡する機能を作成します。
MQL5 クックブック:カスタムチャートイベント処理
MQL5 クックブック:カスタムチャートイベント処理

MQL5 クックブック:カスタムチャートイベント処理

本稿では出人の側面とMQL5 環境におけるカスタムチャートイベントシステムの作成について考察します。イベント分類方法例およびイベントクラスとカスタムイベントハンドラのプログラムコードもここで確認することができます。
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

CStrategyの取引エンジンについての一連の記事の最後のパートでは、XMLファイルからストラテジーをロードする方法を行います。複数の取引アルゴリズムの同時動作を考慮し、単一の実行可能モジュールからのEAを選択する簡単なパネルを提示し、その取引モードを管理します。
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

さまざまなフォーラムのコミュニケーションの際、Microsoft Excel チャート形式のスクリーンショットとして表示される検証結果の例を多く使いました。そしてそのようなチャートの作成方法を教えてほしいと頻繁に質問を受けました。ついに本稿でそれを説明する時間を得ました。
取引イベントおよびシグナルの音声通知システム
取引イベントおよびシグナルの音声通知システム

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

今日では、ナビゲーター、音声検索、翻訳ツールがよく使用され、音声アシスタントは人間の生活において重要な役割を果たしています。本稿では、さまざまな取引イベント、市場の状態、取引シグナルによって生成されるシグナルに対するシンプルでユーザフレンドリーな音声通知システムの開発を試みます。
preview
チャートをより面白くする: 背景の追加

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

多くのワークステーションには、ユーザーに関する何かを語る代表的な画像が含まれています。これらの画像は、作業環境をより美しくエキサイティングなものにします。背景を追加してチャートをより面白くする方法を見てみましょう。
preview
ニューラルネットワークが簡単に(第36回):関係強化学習

ニューラルネットワークが簡単に(第36回):関係強化学習

前回の記事で説明した強化学習モデルでは、元のデータ内のさまざまなオブジェクトを識別できる畳み込みネットワークのさまざまなバリアントを使用しました。畳み込みネットワークの主な利点は、場所に関係なくオブジェクトを識別できることです。同時に、畳み込みネットワークは、オブジェクトやノイズのさまざまな変形がある場合、常にうまく機能するとは限りません。これらは、関係モデルが解決できる問題です。
preview
自動で動くEAを作る(第11回):自動化(III)

自動で動くEAを作る(第11回):自動化(III)

自動化されたシステムは、適切なセキュリティなしでは成功しません。ただし、いくつかのことをよく理解していなければ、セキュリティは保証されません。この記事では、自動化されたシステムで最大のセキュリティを達成することがなぜそれほど難しいのかを探ります。
MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe
MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe

MQL5クックブック:カスタムシンボルを使用したトレーディング戦略ストレステストe

この記事では、カスタムシンボルを使用したトレーディング戦略のストレステストへのアプローチを検討します。 このため、カスタムシンボルクラスを作成します。 このクラスは、サードパーティのソースからティックデータを受信するため、シンボルプロパティを変更するために使用します。 タスクの結果に基づいて、トレード条件を変更するためのオプションを検討し、その下でトレード戦略をテストします。
トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか
トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか

トレードラブ博士または いかに心配することを止め、自習 Expert Advisorを作成したか

ちょうど1年前 jooは彼の記事 "Genetic Algorithms - It's Easy!"の中で MQL5で遺伝的アルゴリズムの実装用ツールを提供してくれました。今われわれはそのツールを使用して特定の境界条件において自身のパラメータを遺伝的に最適化する Expert Advisor を作成しようとしています。
MQL5での「スネーク」ゲームの作成
MQL5での「スネーク」ゲームの作成

MQL5での「スネーク」ゲームの作成

本稿では『スネーク』ゲームのプログラム例を述べていきます。MQL5では、主にイベントハンドル機能によりゲームのプログラムが可能となりました。オブジェクト指向プログラミングによりこのプロセスが格段に簡素化されます。本稿では、イベント処理機能 標準的な MQL5 ライブラリクラスの使用例、また定期的関数呼び出しの詳細を学習します。
MQL5 エキスパートアドバイザーから、GSMモデムを使用する
MQL5 エキスパートアドバイザーから、GSMモデムを使用する

MQL5 エキスパートアドバイザーから、GSMモデムを使用する

現在、トレーディングのアカウントを監視する手段がたくさんあります:モバイルターミナルはICQを用い、プッシュ通知を行います。しかし、すべてインターネットの接続を必要とします。この記事は、特に呼び出しやテキストメッセージはできるが、モバイルのインターネットを使用できないような時にトレーディングターミナルの情報を取得できるようになるエキスパートアドバイザーを作成するプロセスを紹介します。
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)
グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

グラフィカルインタフェースX: マルチラインテキストボックス内のワードラップアルゴリズム(ビルド12)

マルチラインテキストボックスの開発を続けましょう。今回の課題は、テキストがボックス幅を超えた場合には自動的にワードラップを行い、機会が生じた場合にはワードラップを取り消してテキストを前行に収めることです。
preview
固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

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

ストップロスは、取引における資金管理に関する主要なツールです。ストップロス、テイクプロフィット、ロットサイズを効果的に使用することで、トレーダーは取引の一貫性を改善し、全体的に収益性を高めることができます。ストップロスは優れたツールですが、使用時に課題に遭遇することがあります。主要なものはストップロスハントです。この記事では、取引でのストップロスハントを減らす方法と、従来のストップロスの使用法と比較して収益性を判断する方法について説明します。
preview
ニューラルネットワークが簡単に(第6回): ニューラルネットワークの学習率を実験する

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

これまで、様々な種類のニューラルネットワークをその実装とともに考察してきました。 すべての場合において、ニューラルネットワークは、学習率を選択する必要があるグラディエントディーセント法を用いてトレーニングされました。 今回は、正しく選択されたレートの重要性とニューラルネットワーク学習への影響を例を用いて示したいと思います。
自動ニューストレーダーのバインディング
自動ニューストレーダーのバインディング

自動ニューストレーダーのバインディング

これは一からシンプルなオブジェクト指向 EA を構築する方法を述べ、オブジェクト指向プログラミングのアドバイスを提供したもう一つ別の MQL5 OOP クラス記事の続編です。本稿では、ニュースをトレードすることのできる EA を開発するのに必要とされる技術の基本をお話します。目標は OOP に関する考え方を提示し続け、ファイルシステムと関連づけながらこのシリーズにおける新しいトピックを取り上げることです。
preview
ニューラルネットワークが簡単に(第48回):Q関数値の過大評価を減らす方法

ニューラルネットワークが簡単に(第48回):Q関数値の過大評価を減らす方法

前回は、連続的な行動空間でモデルを学習できるDDPG法を紹介しました。しかし、他のQ学習法と同様、DDPGはQ関数値を過大評価しやすくなります。この問題によって、しばしば最適でない戦略でエージェントを訓練することになります。この記事では、前述の問題を克服するためのいくつかのアプローチを見ていきます。
preview
シンプルな平均回帰取引戦略

シンプルな平均回帰取引戦略

平均回帰とは、トレーダーが価格が何らかの形の均衡に戻ることを期待する逆張り取引の一種で、通常は平均値または別の中心的傾向の統計によって測定されます。
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)
グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)

グラフィカルインタフェースを作成するためのライブラリの開発が続きます。今回は、チェックボックスコントロールのリストとTimeが対象となります。さらに、CTableクラスではデータを昇順または降順に並べ替えることができるようになりました。
非加法的統計分布構造解析への固有座標法の応用
非加法的統計分布構造解析への固有座標法の応用

非加法的統計分布構造解析への固有座標法の応用

応用統計学の主な問題は受け入れる統計仮説の問題ですそれはながらく解決不可能と考えられていました。しかし、固有座標法の登場により状況は一変しました。それはシグナルの構造学にとってすぐれた力強いツールであり、近代的な応用統計学手法を用いることで、可能なこと以上のものを見極めることができるようになります。本稿はこの手法の実践的使用に着目し、MQL5によるプログラムの説明をします。また Hilhorst と Schehrによって紹介される分布例を交えて関数同定の問題も取り上げます。
preview
初心者からプロまでMQL5をマスターする(第1回):プログラミングを始める

初心者からプロまでMQL5をマスターする(第1回):プログラミングを始める

この記事は、プログラミングに関する連載の紹介です。読者がこれまでプログラミングを扱ったことがないことを前提としているため、この連載は基礎から始まります。プログラミング知識レベル:全くの初心者。
preview
ニューラルネットワークが簡単に(第17部):次元削減

ニューラルネットワークが簡単に(第17部):次元削減

今回は、人工知能モデルについて引き続き説明します。具体的には、教師なし学習アルゴリズムについて学びます。クラスタリングアルゴリズムの1つについては既に説明しました。今回は、次元削減に関連する問題を解決する方法のバリエーションを紹介します。
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析
MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

MQL5 クックブック:MetaTrader 5 ストラレジーテスタでの position プロパティ分析

先行記事 "MQL5 Cookbook: Position Properties on the Custom Info Panel"の Expert Advisor の変更バージョンを提供します。お伝えする問題の中にはバーからのデータ取得、現シンボルにおける新規バーイベント確認、ファイルに標準ライブラリのトレードクラスのインクルード、トレード処理実行用トレードシグナルおよび関数検索のための関数作成、OnTrade() 関数におけるトレードイベント決定などがあります。
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする

ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする

今日は MetaTrader 5 ターミナルを Twitter とリンクする方法を学習し、EA のトレードシグナルをツイートできるようにします。RESTful ウェブサービスに基づく PHP にソーシャルディシジョン支援システムを作成します。この考えはコンピュータ援用取引と呼ばれる自動トレーディングの特定の概念からきています。われわれは 別の方法でExpert Advisors によって自動でマーケットに出されるトレードシグナルをフィルターにかける人間のトレーダーの認知能力を欲しています。
preview
MQL5での発注を理解する

MQL5での発注を理解する

取引システムを構築する際には、効果的に処理しなければならない作業があります。この作業は、注文の発注、または作成された取引システムに注文を自動的に処理させることです。これはあらゆる取引システムにおいて極めて重要だからです。この記事では、発注が効果的な取引システムを作成する作業のために理解する必要があるほとんどのトピックについて説明します。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第6回):互いのラインを交差する2つのRSI指標

この記事の多通貨EAは、クロスラインを持つ2つのRSI指標、低速RSIと交差する高速RSIを使用するEA(自動売買ロボット)です。
preview
知っておくべきMQL5ウィザードのテクニック(第06回):フーリエ変換

知っておくべきMQL5ウィザードのテクニック(第06回):フーリエ変換

ジョセフ・フーリエによって導入されたフーリエ変換は、複雑なデータの波動点を単純な構成波に分解する手段です。この記事では、トレーダーにとって有益なこの機能を見ていきます。
preview
ニューラルネットワークの実験(第5回):ニューラルネットワークに渡すための入力の正規化

ニューラルネットワークの実験(第5回):ニューラルネットワークに渡すための入力の正規化

ニューラルネットワークはトレーダーのツールキットの究極のツールです。この仮定が正しいかどうかを確認してみましょう。MetaTrader 5は、取引でニューラルネットワークを使用するための自立した媒体としてアプローチされています。簡単な説明が記載されています。