MQL4とMQL5のプログラム記事

icon

取引戦略をプログラミングするためのMQL5言語を、ほとんどがコミュニティメンバーによって書かれた数多くの公開記事で学びます。記事は統合、テスター、取引戦略等のカテゴリに分けられていて、プログラミングに関連する疑問への解答を素早く見つけることができます。

新着記事をフォローして、フォーラムでディスカッションしてください。

新しい記事を追加
最新 | ベスト
preview
アルゴリズム取引システムを設計する理由と方法を学ぶ

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

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

MetaTrader 5のWebSocket — WindowsAPIの使用

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

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

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

取引における数学:シャープレシオとソルティノレシオ

投資収益率は、投資家や初心者のトレーダーが取引効率の分析に使用する最も明白な指標です。プロのトレーダーは、シャープレシオやソルティノレシオなどのより信頼性の高いツールを使用して、ストラテジーを分析します。
DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備
DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備

DoEasyライブラリのグラフィックス(第93部): 複合グラフィカルオブジェクトを作成するための機能の準備

本稿では、複合グラフィカルオブジェクトを作成するための機能の開発を始めます。 ライブラリが複合グラフィカルオブジェクトの作成をサポートし、それらのオブジェクトが任意の接続階層を持つことができるようになります。このようなオブジェクトの後続の実装に必要なすべてのクラスを準備します。
preview
最適化結果の視覚的評価

最適化結果の視覚的評価

この記事では、すべての最適化パスのグラフを作成する方法と、最適なカスタム基準を選択する方法について検討します。また、Webサイトに公開されている記事とフォーラムのコメントを使用して、MQL5の知識がほとんどない状態で目的のソリューションを作成する方法についても説明します。
DoEasyライブラリのグラフィックス(第92部): 標準グラフィカルオブジェクトのメモリクラスオブジェクトプロパティの変更履歴
DoEasyライブラリのグラフィックス(第92部): 標準グラフィカルオブジェクトのメモリクラスオブジェクトプロパティの変更履歴

DoEasyライブラリのグラフィックス(第92部): 標準グラフィカルオブジェクトのメモリクラスオブジェクトプロパティの変更履歴

本稿では標準のグラフィカルオブジェクトメモリのクラスを作成して、プロパティが変更されたときにオブジェクトの状態を保存できるようにします。これにより、以前のグラフィカルオブジェクトの状態に戻ることができるようになります。
一からの取引エキスパートアドバイザーの開発
一からの取引エキスパートアドバイザーの開発

一からの取引エキスパートアドバイザーの開発

この記事では、最小限のプログラミングで自動売買ロボットを開発する方法について説明します。
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴
DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

DoEasyライブラリのグラフィックス(第91部): 標準グラフィカルオブジェクトのイベントオブジェクト名変更履歴

本稿では、ライブラリベースのプログラムからグラフィカルオブジェクトイベントを制御するための基本的な機能を洗練します。例として、「オブジェクト名」プロパティを使用してグラフィカルオブジェクトの変更履歴を保存する機能の実装から始めます。
同事線の例で示されているローソク足パターン認識の改善
同事線の例で示されているローソク足パターン認識の改善

同事線の例で示されているローソク足パターン認識の改善

通常より多くのローソク足パターンを見つけるにはどうしたらよいでしょうか。ローソク足パターンの単純さの背後には、深刻な欠点もあります。これは、最新の取引自動化ツールの大幅に強化された機能を使用することで解消できます。
preview
MQL5の行列とベクトル

MQL5の行列とベクトル

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

MQL5でのAutoItの使用

簡単に説明すると、この記事では、MQL5をAutoItと統合することによってMetraTrader5ターミナルのスクリプトを作成します。その中で、ターミナルのユーザーインターフェイスを操作することによってさまざまなタスクを自動化する方法を説明し、AutoItXライブラリを使用するクラスも紹介します。
preview
取引のための組合せ論と確率論(第V部): 曲線分析

取引のための組合せ論と確率論(第V部): 曲線分析

本稿では、複数の状態を持つシステムを2つの状態を持つシステムに単純化する可能性に関する調査を行うことにしました。主な目的は、分析によって確率論に基づくスケーラブルな取引アルゴリズムのさらなる開発に役立つ可能性のある有用な結論を導き出すことです。もちろん、このトピックには数学が関係してきますが、以前の記事での経験から、一般化された情報の方が詳細よりも役立つことがわかっています。
DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能
DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能

DoEasyライブラリのグラフィックス(第90部): 標準グラフィカルオブジェクトのイベント基本機能

本稿では、標準のグラフィカルオブジェクトイベントを追跡するための基本的な機能を実装します。グラフィカルオブジェクトのダブルクリックイベントから始めます。
preview
固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

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

ストップロスは、取引における資金管理に関する主要なツールです。ストップロス、テイクプロフィット、ロットサイズを効果的に使用することで、トレーダーは取引の一貫性を改善し、全体的に収益性を高めることができます。ストップロスは優れたツールですが、使用時に課題に遭遇することがあります。主要なものはストップロスハントです。この記事では、取引でのストップロスハントを減らす方法と、従来のストップロスの使用法と比較して収益性を判断する方法について説明します。
取引のための組合せ論と確率論(第IV部): ベルヌーイの定理
取引のための組合せ論と確率論(第IV部): ベルヌーイの定理

取引のための組合せ論と確率論(第IV部): ベルヌーイの定理

本稿では、よく知られているベルヌーイスキームをハイライトし、それを使用して取引関連のデータ配列を記述する方法を示すことにしました。これらはすべて、自己適応型の取引システムを作成するために使用されます。また、より一般的なアルゴリズムを探して、その応用を見つけます。ベルヌーイの定理はその特殊なケースです。
MetaTrader用の高度なEAコンストラクター - BotBrains.app
MetaTrader用の高度なEAコンストラクター - BotBrains.app

MetaTrader用の高度なEAコンストラクター - BotBrains.app

この記事では、自動売買ロボットのためのノーコード開発プラットフォームであるBotBrains.appの機能を紹介します。自動売買ロボットを作成するために、コードを書く必要はありません。必要なブロックをスキームにドラッグアンドドロップし、パラメータを設定して、それらの間の接続を確立するだけです。
マーケット価格予測に対する汎用回帰モデル(第2部): 自然、技術、社会の過渡関数
マーケット価格予測に対する汎用回帰モデル(第2部): 自然、技術、社会の過渡関数

マーケット価格予測に対する汎用回帰モデル(第2部): 自然、技術、社会の過渡関数

本稿は前稿からの論理的続編で、最初の記事で出された結論を確認する事実にハイライトを当てています。これらの事実は、その出版後10年以内に明らかになったもので、マーケット価格変化のパターンを説明する3つの検出された動的過渡関数を中心としています。
より優れたプログラマー(第07部): 成功したフリーランス開発者になるためのメモ
より優れたプログラマー(第07部): 成功したフリーランス開発者になるためのメモ

より優れたプログラマー(第07部): 成功したフリーランス開発者になるためのメモ

MQL5でフリーランス開発者として成功したいならば、この記事はあなたにぴったりです。
DoEasyライブラリのグラフィックス(第89部): 抽象標準グラフィカルオブジェクトのプログラミング基本機能
DoEasyライブラリのグラフィックス(第89部): 抽象標準グラフィカルオブジェクトのプログラミング基本機能

DoEasyライブラリのグラフィックス(第89部): 抽象標準グラフィカルオブジェクトのプログラミング基本機能

現在、ライブラリでは、一部のパラメータの削除や変更など、クライアントターミナルのチャート上の標準のグラフィカルオブジェクトを追跡できます。現時点では、カスタムプログラムから標準グラフィカルオブジェクトを作成する機能はありません。
preview
MQL言語を使用したゼロからのディープニューラルネットワークプログラミング

MQL言語を使用したゼロからのディープニューラルネットワークプログラミング

この記事は、MQL4/5言語を使用してディープニューラルネットワークを最初から作成する方法を読者に教えることを目的としています。
preview
時間の取扱い(第2部): 関数

時間の取扱い(第2部): 関数

証券会社のオフセットとGMTを自動で特定します。おそらく不十分な答えしかくれない(欠如した時間について説明することはいとわないでしょうが)証券会社にサポートを求める代わりに、時間が変わる週に証券会社が価格をどのように計算するかを自分で見ます。結局のところ、私たちはPCを持っているので、面倒な手作業ではなくプログラムを使用します。
より優れたプログラマー(第06部): 効果的なコーディングにつながる9つの習慣
より優れたプログラマー(第06部): 効果的なコーディングにつながる9つの習慣

より優れたプログラマー(第06部): 効果的なコーディングにつながる9つの習慣

効果的なコーディングにつながるのはコードを書くことだけではありません。経験を通して見つけた、効果的なコーディングにつながる特定の習慣があります。この記事では、そのいくつかについて詳しく説明します。これは、複雑なアルゴリズムをより手間をかけずに作成する能力を向上させたいすべてのプログラマーにとって必読の記事です。
preview
手動のチャート作成および取引ツールキット(第III部)最適化と新しいツール

手動のチャート作成および取引ツールキット(第III部)最適化と新しいツール

この記事では、キーボードショートカットを使用してチャート上にグラフィカルオブジェクトを描画するというアイデアをさらに発展させます。ライブラリに新しいツールが追加されました。これには、任意の頂点を通る直線や、反転時間とレベルの評価を可能にする一連の長方形が含まれます。また、この記事では、パフォーマンス向上のためにコードを最適化する可能性を示しています。実装例が書き直され、他の取引プログラムと一緒にShortcutsを使用できるようになりました。初心者より少し上回るコード知識レベルが必要とされます。
preview
MQL5クックブック - 経済指標カレンダー

MQL5クックブック - 経済指標カレンダー

この記事では、経済指標カレンダーのプログラミング機能に焦点を当て、カレンダーのプロパティに簡単にアクセスしてイベント値を受け取るためのクラスの作成について考察し検討します。実用的な例として役立つように、CFTCの投機筋ネットポジションを使用して指標を開発します。
preview
EAコンストラクタの開発の試み

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

この記事では、既製のEAの形で一連の取引機能を提供します。この方法では、指標を追加して入力を変更するだけで、複数の取引ストラテジーを取得できます。
preview
時間の取扱い(第1部):基本

時間の取扱い(第1部):基本

時間の処理、証券会社のオフセット、夏時間または冬時間への変更を簡素化および明確化する関数とコードスニペット。正確なタイミングは取引において重要な要素になることがあります。現在時刻でロンドンやニューヨークの証券取引所がすでに開いているかまだ開いていないか、外国為替取引の取引時間はいつ開始および終了するかなどです。手動で取引して生活しているトレーダーにとって、これは大きな問題ではありません。
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列
DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列

DoEasyライブラリのグラフィックス(第88部): グラフィカルオブジェクトコレクション - 動的に変化するオブジェクトのプロパティを格納するための2次元動的配列

本稿では、任意の次元のデータ量を変更できる動的な多次元配列クラスを作成します。作成したクラスに基づいて、動的に変更されたグラフィックオブジェクトのプロパティを格納する2次元の動的配列を作成します。
MQL5.communityでのチャネルとグループチャットの使用
MQL5.communityでのチャネルとグループチャットの使用

MQL5.communityでのチャネルとグループチャットの使用

MQL5.com Webサイトには、世界中のトレーダーが集まっています。ユーザーは記事を公開し、無料コードを共有し、市場で製品を販売し、フリーランスの注文を実行し、取引シグナルをコピーできます。フォーラム、トレーダーチャット、MetaTraderチャネルでは彼らとコミュニケーションをとることができます。
DoEasyライブラリのグラフィックス(第87部): グラフィカルオブジェクトコレクション - プロパティ変更の管理
DoEasyライブラリのグラフィックス(第87部): グラフィカルオブジェクトコレクション - プロパティ変更の管理

DoEasyライブラリのグラフィックス(第87部): グラフィカルオブジェクトコレクション - プロパティ変更の管理

本稿では、標準のグラフィカルオブジェクトイベントの追跡作業を継続し、ユーザがターミナルで開いたチャートに配置されたグラフィカルオブジェクトのプロパティの変更を制御できる機能を作成します。
DoEasyライブラリのグラフィックス(第86部): グラフィカルオブジェクトコレクション - プロパティ変更の管理
DoEasyライブラリのグラフィックス(第86部): グラフィカルオブジェクトコレクション - プロパティ変更の管理

DoEasyライブラリのグラフィックス(第86部): グラフィカルオブジェクトコレクション - プロパティ変更の管理

本稿では、ライブラリ内のグラフィカルオブジェクトのプロパティ値の変更の追跡とともに、削除と名前変更を検討します。
preview
多層パーセプトロンとバックプロパゲーションアルゴリズム(第II部): Pythonでの実装とMQL5との統合

多層パーセプトロンとバックプロパゲーションアルゴリズム(第II部): Pythonでの実装とMQL5との統合

MQLとの統合を開発するために利用できるPythonパッケージが存在し、データの探索、作成、機械学習モデルの使用などのさまざまな機会がもたらされます。MQL5に組み込まれているPython統合により、単純な線形回帰から深層学習モデルまで、さまざまなソリューションを作成できます。開発環境を設定して準備する方法と、いくつかの機械学習ライブラリを使用する方法を見てみましょう。
より優れたプログラマー(第05部): より速い開発者になる方法
より優れたプログラマー(第05部): より速い開発者になる方法

より優れたプログラマー(第05部): より速い開発者になる方法

すべての開発者は、コードをより速く書くことを望んでいます。より速く効果的にコードを書けることは、少数の人々だけが生まれつき持っているような特別な能力ではありません。これは、すべてのコーダーが習得できるスキルです。この記事ではそれを教えようと思います。
DoEasyライブラリのグラフィックス(第85部): グラフィカルオブジェクトコレクション - 新規作成オブジェクトの追加
DoEasyライブラリのグラフィックス(第85部): グラフィカルオブジェクトコレクション - 新規作成オブジェクトの追加

DoEasyライブラリのグラフィックス(第85部): グラフィカルオブジェクトコレクション - 新規作成オブジェクトの追加

本稿では、抽象グラフィカルオブジェクトクラスの子孫クラスの開発を完了し、これらのオブジェクトをコレクションクラスに格納する機能の実装を開始します。特に、新しく作成した標準のグラフィカルオブジェクトをコレクションクラスに追加する機能を作成します。
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス
DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

DoEasyライブラリのグラフィックス(第84部): 抽象標準グラフィカルオブジェクトの子孫クラス

本稿では、ターミナル抽象標準グラフィカルオブジェクトの子孫オブジェクトの作成について検討します。クラスオブジェクトでは、すべてのグラフィカルオブジェクトに共通のプロパティを記述します。つまり、それは単にある種のグラフィカルオブジェクトです。実際のグラフィカルオブジェクトとの関係を明確にするには、この特定のグラフィカルオブジェクトに固有のプロパティを子孫オブジェクトクラスに設定する必要があります。
preview
MetaTrader5でのビッド・アスク・スプレッド分析

MetaTrader5でのビッド・アスク・スプレッド分析

証券会社のビッド・アスク・スプレッドのレベルを報告するためのインジケーター。MT5のティックデータを使用すると、最近の真の平均ビッド・アスク・スプレッドが実際に何であったかを分析できます。ビッドとアスクの両方の価格ラインを表示すれば現在のスプレッドは使用可能なので、確認する必要はありません。
preview
多色ローソク足を作成するためのオプションの探究

多色ローソク足を作成するためのオプションの探究

この記事では、ローソク足でカスタマイズされたインジケーターを作成する可能性について説明し、それらの長所と短所を指摘します。
DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス
DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス

DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス

本稿では、抽象グラフィカルオブジェクトのクラスを作成します。このオブジェクトは、標準のグラフィカルオブジェクトのクラスを作成するための基礎として機能します。グラフィカルオブジェクトには複数のプロパティがあるため、抽象グラフィカルオブジェクトクラスを実際に作成する前に、多くの準備作業が必要です。この作業には、ライブラリ列挙型のプロパティの設定が含まれます。
より優れたプログラマー(第04部): より速い開発者になる方法
より優れたプログラマー(第04部): より速い開発者になる方法

より優れたプログラマー(第04部): より速い開発者になる方法

すべての開発者は、コードをより速く書くことを望んでいます。より速く効果的にコードを書けることは、少数の人々だけが生まれつき持っているような特別な能力ではありません。これは、コーディングの経験年数に関係なく、すべてのコーダーが習得できるスキルです。
DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション
DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション

DoEasyライブラリのグラフィックス(第82部): ライブラリオブジェクトのリファクタリングとグラフィカルオブジェクトのコレクション

本稿では、各オブジェクトに一意のタイプを割り当てることですべてのライブラリオブジェクトを改善し、ライブラリのグラフィカルオブジェクトコレクションクラスの開発を続けます。