MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
ファジー理論を使用しインディケータを作成する簡単な例
ファジー理論を使用しインディケータを作成する簡単な例

ファジー理論を使用しインディケータを作成する簡単な例

本稿はファイナンシャルマーケット分析にファジー理論の概念を実用的に適用することに特化しています。エンベロープインディケータ上で2つのファジールールに基づくインディケータ生成シグナルの例を提供します。作成されたインディケータは複数のインディケータバッファを使用します。7個のバッファを計算に、5個のバッファをチャート表示に、2個をカラーバッファとします。
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発
MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

MQL5 クックブック: 価格の乖離を分析するマルチシンボルインジケーターの開発

この記事では、特定の期間における価格の分離を分析するためのマルチシンボルインジケーターの開発を紹介します。そのトピックは、「MQL5クックブック:MQL5のマルチシンボルボラティリティインジケーターの開発」というマルチカレンシーインジケーターのプログラミングに関する以前の記事にてすでに紹介されています。なので、今回は新しい特徴や劇的に変更された機能についてのみ紹介します。マルチカレンシーインジケーターのプログラミングに詳しくなければ、以前の記事をまずお読みいただくことをお勧めします。
preview
パターン検索への総当たり攻撃アプローチ(第III部): 新しい水平線

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

本稿では、総当たり攻撃のトピックを続けます。プログラムアルゴリズムに市場分析の新しい機会を導入することで分析速度を高め、結果の品質を向上します。新しい追加により、このアプローチ内でグローバルパターンの最高品質で表示できるようになります。
トレードシステムの評価 - 参入、退出と取引における一般の有効性
トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの評価 - 参入、退出と取引における一般の有効性

トレードシステムの有効性と利益性を決定できる多数の尺度がある。しかし、トレーダーは常にどのシステムでも試したいと考えている。この記事はどのようにして有効性の尺度に基づいた統計が MetaTrader 5 のプラットフォームに使えるかを教えるものである。 これは取引による統計の解釈を、S.V.Bulashev(ブラシェフ)による著作"Statistika dlya traderov"(トレーダーのための統計) の記述に矛盾しないものに変換するクラスを含んでいる。また最適化のためのカスタムファンクションの例も含んでいる。
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント
DoEasyライブラリでのその他のクラス(第71部): チャットオブジェクトコレクションイベント

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

本稿では、いくつかのチャートオブジェクトイベント(銘柄チャートとチャートサブウィンドウの追加/削除、およびチャートウィンドウの指標の追加/削除/変更)を追跡する機能を作成します。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第22部): 取引クラス - 基本取引クラス、制限の検証
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第22部): 取引クラス - 基本取引クラス、制限の検証

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第22部): 取引クラス - 基本取引クラス、制限の検証

この記事では、ライブラリベースの取引クラスの開発を開始し、最初のバージョンに取引操作を行うためのアクセス許可の初期検証を追加します。さらに、基本取引クラスの機能とコンテンツをわずかながら拡張します。
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成
MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

MQL5 クックブック:パラメータ数無制限での複数通貨対応 EXPERT 作成

本稿ではトレーディングシステムの最適化に対して一組のパラメータを使うパターンを作成していきます。同時にパラメータ数は無制限に認めます。シンボルリストは標準的なテキストファイル (*.txt)内に作成します。各シンボルに対する入力パラメータもファイルに格納されます。このように Expert Advisorの入力パラメータ数に関してターミナルの制約を回避することができます。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 未決取引リクエストの使用 - 初期実装(ポジションのオープン)

本稿では、注文の値にいくつかのデータを格納し、マジックナンバーを配置し、保留中リクエストの実装を開始します。概念を確認するために、サーバエラーを受信して、待機後に繰り返しリクエストを送信する必要がある際にマーケットポジションを開くための最初のテスト保留中リクエストを作成しましょう。
preview
スマートマネーコンセプト(オーダーブロック)とフィボナッチ指標を組み合わせた最適な取引エントリー方法

スマートマネーコンセプト(オーダーブロック)とフィボナッチ指標を組み合わせた最適な取引エントリー方法

SMC(オーダーブロック)は、機関投資家トレーダーが大規模なな売買を開始する主要領域です。価格が大きく動いた後、フィボナッチは直近のスイングハイからスイングローへの潜在的なリトレースメントを特定し、最適な取引エントリーを特定するのに役立ちます。
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ
MQL5 Cookbook:カスタム情報パネル上のポジションプロパティ

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

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

その他のアプリのためにMetaTrader5の取引価格を準備する方法

この記事は、エラーのハンドリングも含めて、ディレクトリの作成、データのコピー、Market Watchでのシンボルを使用の例などを紹介します。これら全ての要素は、最終的にユーザーによって定義されたフォーマットにてデータが格納されるためのシングルスクリプトにて集められます。
『市場での勘』を養う手段としてのベットのモデル化
『市場での勘』を養う手段としてのベットのモデル化

『市場での勘』を養う手段としてのベットのモデル化

本稿では、『市場での勘』の概念とそれを発展させる方法について詳しく説明します。ここに述べられる方法はシンプルなゲーム形式でのファイナンシャル ベッティングに基づいています。
preview
ONNXをマスターする:MQL5トレーダーにとってのゲームチェンジャー

ONNXをマスターする:MQL5トレーダーにとってのゲームチェンジャー

機械学習モデルを交換するための強力なオープン標準形式であるONNXの世界に飛び込んでみましょう。ONNXを活用することでMQL5のアルゴリズム取引にどのような変革がもたらされ、トレーダーが最先端のAIモデルをシームレスに統合し、戦略を新たな高みに引き上げることができるようになるかがわかります。クロスプラットフォーム互換性の秘密を明らかにし、MQL5取引の取り組みでONNXの可能性を最大限に引き出す方法を学びましょう。ONNXをマスターするためのこの包括的なガイドで取引ゲームを向上させましょう。
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)
グラフィカルインタフェース  II:ライブラリのイベントハンドラの設定(チャプター3)

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

以前の記事には、メインメニューの構成部分を作成するためのクラスの実装が含まれています。ここで、主要な基本クラスと作成されたコントロールのクラスでイベントハンドラを細かく見ることにします。また、マウスカーソルの位置に応じたチャートの状態の管理にも特別な注意が払われます。
preview
総合的なフクロウ取引戦略を構築する

総合的なフクロウ取引戦略を構築する

私の戦略は、古典的な取引の基礎と、あらゆる種類の市場で広く使用されているインジケータの改良に基づいています。これは既製のツールで、提案された新しい収益性の高い取引戦略に従うことができます。
MetaTrader 5 プラットフォームに新しい UI 言語を追加する方法
MetaTrader 5 プラットフォームに新しい UI 言語を追加する方法

MetaTrader 5 プラットフォームに新しい UI 言語を追加する方法

MetaTrader 5 プラットフォームのユーザーインターフェースは複数言語に翻訳されています。あなたの母国語がサポートされている言語に含まれていなかったとしてもご心配なく。MetaQuotes Software Corp. が全利用者に対して提供する特別な MetaTrader 5 MultiLanguage Pack ユーティリティを使用して簡単に翻訳することができるのです。本稿ではMetaTrader 5 プラットフォームに新しい ユーザーインターフェース言語を追加する方法を提示します。
トレーディング戦略
トレーディング戦略

トレーディング戦略

トレーディング戦略を分類するカテゴリーはすべて完全に任意です。以下の分類はトレーディングへの可能な方法の中にある基本的相違を強調するためのものです。
preview
Candlestick Trend Constraintモデルの構築(第6回):オールインワン統合

Candlestick Trend Constraintモデルの構築(第6回):オールインワン統合

一つの大きな課題は、異なる機能を持つ同じプログラムを、同じ通貨ペアに対して複数のチャートウィンドウで実行し、管理することです。この問題を解決するには、複数の機能を一つのメインプログラムに統合する方法を検討する必要があります。さらに、プログラムの設定を操作ログに出力する方法や、成功したシグナルのブロードキャストをチャートインターフェイス上に表示する方法についても解説します。連載が進むにつれ、この記事でさらに詳しい情報を提供していきます。
preview
Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

Linux上のMetaTrader 5のC++マルチスレッドサポートを備えた概念実証DLLを開発する

最終製品がWindowsとLinuxシステムの両方でシームレスに動作するMetaTrader 5プラットフォームの開発をLinuxシステムのみでおこなう方法のステップとワークフローを探索する旅を始めます。WineとMinGWについて学ぶことができます。これらはどちらも、クロスプラットフォーム開発を機能させるために不可欠なツールです。特に、MinGWのスレッド実装(POSIXおよびWin32)については、どれを使用するかを選択する際に考慮する必要があります。次に、概念実証のDLLを構築し、それをMQL5コードで使用して、最後に両方のスレッド実装のパフォーマンスを比較します。すべては読者の基盤が自力でさらに拡大するようにするためです。この記事を読めば、LinuxでMT関連のツールを快適に構築できるはずです。
MQL におけるオブジェクト・アプローチ
MQL におけるオブジェクト・アプローチ

MQL におけるオブジェクト・アプローチ

本稿はまず MQL 環境で作業を行う初心者プログラマ、プロのプログラマー両方にとって興味深いものとなります。また、本稿が環境開発者や観念論者に読まれると、役に立つと思われます。というのも、ここで分析される疑問は将来 MetaTrader や MQL を実装する上でのプロジェクトとなりうるからです。
人気のトレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート2)
人気のトレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート2)

人気のトレーディングシステムを基にした Expert Advisors と売買ロボット最適化の錬金術(パート2)

本稿では、もっともシンプルなトレーディングシステム実装アルゴリズムの分析を続け、最適化結果を用いていくつか関連する詳細を説明します。本稿は初心者トレーダーや EA プログラマーを対象としています。
MQL5 クックブック:カスタムチャートイベント処理
MQL5 クックブック:カスタムチャートイベント処理

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

本稿では出人の側面とMQL5 環境におけるカスタムチャートイベントシステムの作成について考察します。イベント分類方法例およびイベントクラスとカスタムイベントハンドラのプログラムコードもここで確認することができます。
貨幣価格変動に対するマクロ経済データの影響の回帰分析
貨幣価格変動に対するマクロ経済データの影響の回帰分析

貨幣価格変動に対するマクロ経済データの影響の回帰分析

本稿ではマクロ経済統計に対する重回帰分析のアプリケーションについか考察します。また通貨ペア EURUSD の例に基づく為替レートにおけるその統計の影響評価の洞察も提供します。その評価により初心者トレーダーにも利用可能となるファンダメンタル分析の自動化ができます。
トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析
トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析

トレードにおけるOLAPの適用(パート3):トレード戦略の開発の相場分析

この記事では、トレードに適用される OLAP テクノロジを引き続き取り扱います。 最初の 2 つの記事で紹介した機能を拡張します。 今回は、クオートの運用分析について検討します。シェイプセレクタ 集計されたヒストリーデータに基づいて、トレード戦略に関する仮説を打ち出し、テストします。 この記事では、バーパターンとアダプティブトレードを研究するためのEAを紹介します。
preview
単一チャート上の複数インジケータ(第04部): エキスパートアドバイザーに進む

単一チャート上の複数インジケータ(第04部): エキスパートアドバイザーに進む

以前の記事では、複数のサブウィンドウでインジケータを作成する方法を説明しました。これは、カスタムインジケータを使用するときに興味深いものになります。今回は、エキスパートアドバイザーに複数のウィンドウを追加する方法を説明します。
マーケットトレンドの明確化に役立つピボットポイント
マーケットトレンドの明確化に役立つピボットポイント

マーケットトレンドの明確化に役立つピボットポイント

ピボットポイントはある通貨ペアのその後のトレンドを表示する価格チャート上の線です。価格がこの線より上にあると、トレンドは上昇しています。したがって価格がこの線より下だとトレンドは下降します。
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成
MQL5 クックブック:ディールヒストリーのファイルへの書き込みと シンボルごとの残高チャートの Excel形式での作成

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

さまざまなフォーラムのコミュニケーションの際、Microsoft Excel チャート形式のスクリーンショットとして表示される検証結果の例を多く使いました。そしてそのようなチャートの作成方法を教えてほしいと頻繁に質問を受けました。ついに本稿でそれを説明する時間を得ました。
preview
MQL5の圏論(第14回):線形順序を持つ関手

MQL5の圏論(第14回):線形順序を持つ関手

この記事は、MQL5における圏論の実装に関する広範な連載の一部であり、関手について掘り下げます。関手のおかげで線形順序が集合にどのように写像できるかを検証します。一般的には何のつながりもないと見なされてしまうような2つのデータ集合について考えます。
MQL5.com フリーランス:開発者の収入源(インフォグラフィック)
MQL5.com フリーランス:開発者の収入源(インフォグラフィック)

MQL5.com フリーランス:開発者の収入源(インフォグラフィック)

「MQL5 フリーランスサービス」の4周年を記念して、これまでのサービス結果を示すインフォグラフィックを作成しました。数字は自らを語ります:現在まで合計約 $600,000 に相当する 10,000 を越える注文が実行されるかたわら、 3,000 人の顧客と 300 人の開発者がすでにこのサービスを利用しました。
調査:トレーダーのモバイルターミナルの評価
調査:トレーダーのモバイルターミナルの評価

調査:トレーダーのモバイルターミナルの評価

不幸にもモバイルトレーディングの将来に関してのはっきりとした計画はありませんが、この問題に関して様々な推測があります。この曖昧さを解決する試みとして、モバイルターミナルに関しての意見を理解するためにトレーダーの中で調査を行うことにしました。この調査を通して、クライアントがモバイルターミナルの将来の開発における願いや要求と同様に製品に対してどのように考えているのかに対してはっきりとした理解を得ることができました。
preview
データサイエンスと機械学習(第04回):現在の株式市場の暴落を予測する

データサイエンスと機械学習(第04回):現在の株式市場の暴落を予測する

今回は、米国経済のファンダメンタルズに基づいて、私たちのロジスティックモデルを使って株式市場の暴落の予測を試みます。NETFLIXとAPPLEが私たちが注目する銘柄です、2019年と2020年の過去の市場の暴落を使って、モデルが現在の破滅と暗雲でどのように機能するか見てみましょう。
preview
固定プライスアクションストップロスまたは固定RSI(スマートストップロス)

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

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

自動で動くEAを作る(第09回):自動化(I)

自動EAの作成はそれほど難しい作業ではありませんが、必要な知識がないと多くの間違いを犯す可能性があります。この記事では、ブレイクイーブンとトレーリングストップレベルを作動させるトリガーの作成からなる自動化の最初のレベルを構築する方法について見ていきます。
preview
古典的戦略の再構築:原油

古典的戦略の再構築:原油

この記事では、教師あり機械学習アルゴリズムを活用することで、古典的な原油取引戦略を強化することを目的として、原油取引戦略を再検討します。ブレント原油価格とWTI原油価格のスプレッドに基づいて、将来のブレント原油価格を予測する最小二乗モデルを構築します。目標は、将来のブレント価格変動の先行指標を特定することです。
preview
ニューラルネットワークが簡単に(第48回):Q関数値の過大評価を減らす方法

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

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

ONNX統合の課題を克服する

ONNXは、異なるプラットフォーム間で複雑なAIコードを統合するための素晴らしいツールです。ただし、この素晴らしいツールを最大限に活用するためにはいくつかの課題に対処する必要があります。この記事では、読者が直面する可能性のある一般的な問題と、それを軽減する方法について説明します。
自動制御システム(ACS)のコンテキストでのテクニカル分析の考え方、また『逆説』
自動制御システム(ACS)のコンテキストでのテクニカル分析の考え方、また『逆説』

自動制御システム(ACS)のコンテキストでのテクニカル分析の考え方、また『逆説』

本稿は、テクニカル分析の代替の考え方を実証します。それは最新の自動制御理論やテクニカル分析自体の原理に基づくものです。本稿は、実用的なアプリケーションをいくつか使って理論を表現する導入記事です。
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)
ユニバーサルEA:グループでの取引とストラテジーのポートフォリオを管理する(その4)

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

CStrategyの取引エンジンについての一連の記事の最後のパートでは、XMLファイルからストラテジーをロードする方法を行います。複数の取引アルゴリズムの同時動作を考慮し、単一の実行可能モジュールからのEAを選択する簡単なパネルを提示し、その取引モードを管理します。
数式の計算(第1部)再帰下降パーサ
数式の計算(第1部)再帰下降パーサ

数式の計算(第1部)再帰下降パーサ

本稿では、数式の解析と計算の基本原則について説明します。事前に構築された構文木に基づいて、インタプリタモードと高速計算モードで動作する再帰下降パーサを実装します。
インディケータの経済的計算原理
インディケータの経済的計算原理

インディケータの経済的計算原理

自動化されたトレーディングシステムのプログラムコードではユーザーとテクニカルインディケータの呼び出しはほとんどスペースを取りません。たいてい数行のコード行ですむ簡単なものです。ただこの数行のコードがExpert Advisorの検証に必要な時間の多くを費やす、ということはよくあることです。インディケータ内でデータ計算に関連することはすべて、一見したよりもずっと綿密に配慮される必要があります。本稿ではこの件に関して詳しく述べていきます。