MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド
クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

クロスプラットフォームグリッドEAの開発(パートIII):マーチンゲールによる補正ベースのグリッド

この記事では、可能な限り最高のグリッドベースのEAの開発に取り組みます。 いつものように、MetaTrader4とMetaTrader5の両方で動作することができるクロスプラットフォームEAになります。 当初このEAは、長期間にわたって利益を上げることができませんでしたが、それ以外は良好でした。 2番目となるこのEAは、数年以上にわたって動作する可能性があります。 しかし、残念ながら、最大ドローダウンが50%未満で、年間利益の50%以上の条件は得ることができませんでした。
ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム
ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム

ネットワーク関数の適用、または DLL を使用しない MySQL: パートII - シグナル特性の変化を監視するプログラム

前のパートでは、MySQLコネクタの実装をしました。 この記事では、シグナルプロパティを収集するためのサービスを実装し、時間の経過とともに変化を表示するためのプログラムを実装することで、そのアプリケーションを検討します。 実装された例は、ユーザーがシグナルのWebページに表示されないプロパティの変化を観察する必要がある場合、実用的な意味を持ちます。
Lite_EXPERT2.mqhファイル - EAの最適化の実践例
Lite_EXPERT2.mqhファイル - EAの最適化の実践例

Lite_EXPERT2.mqhファイル - EAの最適化の実践例

この記事では、筆者はEA構築の具体例にて、Lite_EXPERT2.mqhファイルの関数の紹介を続けます。Average True Range (ATR)の指標値に基づいて明確にされる取引から取引へと変動する指値注文の使用案を検証します。
preview
MQL5の行列とベクトル

MQL5の行列とベクトル

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

グラフィカルインタフェース I: フォームボタンとインターフェイス要素削除のための関数(チャプター 4)

本稿では、コントロールのクリックによるフォーム管理のメソッドを追加してWindowクラスの開発を続けていこうと思います。フォームのボタンによってのプログラムの終了を有効にするだけでなく、フォームの最小化と最大化機能も実装します。
preview
多色ローソク足を作成するためのオプションの探究

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

この記事では、ローソク足でカスタマイズされたインジケーターを作成する可能性について説明し、それらの長所と短所を指摘します。
Strategy Tester: トレード戦略のテストモード
Strategy Tester: トレード戦略のテストモード

Strategy Tester: トレード戦略のテストモード

テクニカル分析の多くのプログラムは、履歴データで取引戦略をテストすることができます。
MQL5.communityでのチャネルとグループチャットの使用
MQL5.communityでのチャネルとグループチャットの使用

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

MQL5.com Webサイトには、世界中のトレーダーが集まっています。ユーザーは記事を公開し、無料コードを共有し、市場で製品を販売し、フリーランスの注文を実行し、取引シグナルをコピーできます。フォーラム、トレーダーチャット、MetaTraderチャネルでは彼らとコミュニケーションをとることができます。
MQL5での統計確率分布
MQL5での統計確率分布

MQL5での統計確率分布

本稿は、適用統計に使用されるランダム変数の確率分布(標準、対数正規分布、二項分布、ロジスティック分布、指数分布、コーシー分布、ストゥーデンとの t-分布、 ラプラス分布、 ポアソン分布、双曲線正割分布、 ベータ分布、ガンマ分布)について述べます。またこういった分布を処理するクラス特性についても述べます。
MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成
MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成

MQL5クックブック - スライディングウィンドウ内指標の高速計算のためのリングバッファの作成

リングバッファは、スライディングウィンドウで計算を実行するときにデータを配置するのに最も簡単で効率的な方法です。本稿では、そのアルゴリズムを説明し、同アルゴリズムが如何にスライディングウィンドウでの計算を単純化して効率を向上させるかを示します。
グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)
グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)

グラフィカルインタフェースIII:シンプルボタンと多機能ボタンのグループ(チャプター 2)

シリーズの最初の章は、シンプルボタンと多機能ボタンについてでした。2番目の記事は、アプリケーション内でユーザーがセット(グループ)のうちオプションのいずれかを選択することができる際の要素の作成を可能にする相互接続されたボタンのグループに専念します。
Boxplotによる金融時系列のシーズンパターンの探索
Boxplotによる金融時系列のシーズンパターンの探索

Boxplotによる金融時系列のシーズンパターンの探索

この記事では、Boxplotを使用して価格時系列のシーズン特性を表示します。 各Boxplot(あるいは"ボックスアンドウイスキーダイアグラム") は、データセットに沿って値がどのように分布しているかを示す優れたものです。 Boxplotは、視覚的に似ていますが、ローソク足チャートと混同しないでください。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。
標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

標準ライブラリクラスを使ってオリジナルのMarket Watchを作成します。

新しいMetaTrader 5クライアント端末とMQL5言語はトレーダーにビジュアル情報を提供する機会をもたらします。 本稿では、汎用的拡張可能なクラスセットを提案します。それはチャート上の任意のテキストの表示作成作業をすべて行うものです。 Market Watch インディケータの例を提供します。
トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発
トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発

トレードシグナルの多通貨監視(パート1):アプリケーション構造の開発

この記事では、トレードシグナルのマルチカレンシーモニターを作成するアイデアを考察し、そのプロトタイプと共に未来のアプリケーション構造を開発し、運用のフレームワークを作成します。 この記事では、トレードシグナルの生成を可能にし、トレーダーが目的のシグナルを見つけるのを助ける柔軟な多通貨アプリケーションの段階的な作成を提示します。
preview
連続的なウォークフォワード最適化(その6):オートオプティマイザの論理部分と構造

連続的なウォークフォワード最適化(その6):オートオプティマイザの論理部分と構造

記事3と4以前、我々は自動ウォークフォワード最適化の作成を検討しました。 今回は、オートオプティマイザツールの内部構造について進めていきます。 この記事は、作成したプロジェクトをさらに稼働したい方、修正したい方はもちろん、プログラムのロジックを理解したい方にも役立つ内容となっています。 今回の記事では、プロジェクトの内部構造とオブジェクト間の関係を示すUML図を掲載します。 また、最適化開始までの過程が記述されていますが、オプティマイザの実装過程が記述されていない状態です。
インディケータの統計パラメータ分析
インディケータの統計パラメータ分析

インディケータの統計パラメータ分析

テクニカル分析は基本クオートを「より明確に」示し、トレーダーがマーケット価格動向を分析し推定することのできるインディケータを幅広く採り入れます。インディケータを使用することに意味はなく、言うまでもなく最初のクオート変換と取得した結果の信頼性に関する問題を解決できないかぎり、インディケータを特定のトレーディングシステムに適用することにも意味がありません。本稿ではそのような結論について確たる理由があることを示していきます。
preview
MQL5入門(第1部):アルゴリズム取引入門ガイド

MQL5入門(第1部):アルゴリズム取引入門ガイド

この初心者向けMQL5プログラミングガイドで、魅力的なアルゴリズム取引の世界へ飛び込みましょう。MetaTrader 5を動かす言語であるMQL5のエッセンスを発見し、自動売買の世界を解明します。基本を理解することからコーディングの第一歩を踏み出すことまで、この記事はプログラミングの知識がなくてもアルゴリズム取引の可能性を解き放つ鍵となります。MQL5のエキサイティングな宇宙で、一緒に、シンプルさと洗練が出会う旅に出ましょう。
MQL5でのZIPアーカイブの扱い
MQL5でのZIPアーカイブの扱い

MQL5でのZIPアーカイブの扱い

MQL5は常に進化しています。この度新しい機能が追加されました。この革新により、DLLなしでZIPアーカイブを標準MQL5ツールで実行できるようになりました。この記事ではCZipクラスの使い方と、ZIPアーカイブの読み込み・生成・修正を例として扱います。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第10部): MQL4との互換性 - ポジションオープンイベントと指値注文発動イベント

前の記事では、MetaTrader 5とMetaTrader 4プラットフォーム用のプログラムの開発を単純化するための大規模なクロスプラットフォームライブラリの作成を始めました。第9部では、MQL4を使用するためのライブラリクラスの改善を開始しました。ここでは、MQL4との完全な互換性を確保するために、ライブラリの改善を続けます。
オープンされたポジションの二段階の修正
オープンされたポジションの二段階の修正

オープンされたポジションの二段階の修正

二段階アプローチにより、トレンドに近い状況でのポジションの不必要なクロージングや再オープンを避けることができます。
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加
ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

ローソク足分析技術の研究(第4部): パターンアナライザーの更新と追加

本稿では、パターンアナライザーアプリケーションの新しいバージョンについて説明します。このバージョンでは、バグ修正と新機能、そして改訂されたユーザーインターフェイスが提供されています。新しいバージョンを開発するときに、前の記事からのコメントと提案が考慮されました。結果として得られたアプリケーションは、この記事で説明されています。
preview
自動で動くEAを作る(第03回):新しい関数

自動で動くEAを作る(第03回):新しい関数

今日は、自動モードでシンプルかつ安全に動作するエキスパートアドバイザー(EA)を作成する方法を紹介します。前回は、自動売買EAで使用するオーダーシステムの開発に着手しましたが、必要な関数のうち1つしか作っていません。
グラフィカルインターフェイスを備えたエキスパートアドバイザ : 機能の設定(第2部)
グラフィカルインターフェイスを備えたエキスパートアドバイザ : 機能の設定(第2部)

グラフィカルインターフェイスを備えたエキスパートアドバイザ : 機能の設定(第2部)

これは手動取引のためのマルチシンボルシグナルエキスパートアドバイザーの作成に関する記事の第2部です。私たちはすでにグラフィカルインターフェースを作成しました。この記事では、インターフェースとプログラムの機能を融合させる方法について説明します。
preview
ATRによる取引システムの設計方法を学ぶ

ATRによる取引システムの設計方法を学ぶ

簡単な取引システムの設計方法を学ぶ連載の続編として、取引に使用できる新しいテクニカルツールを学びます。今回は、もう1つの人気あるテクニカル指標であるATR(Average True Range、アベレージトゥルーレンジ)です。
preview
フェアバリューギャップ(FVG)/不均衡取引方法をステップバイステップで学ぶ:スマートマネーコンセプトのアプローチ

フェアバリューギャップ(FVG)/不均衡取引方法をステップバイステップで学ぶ:スマートマネーコンセプトのアプローチ

フェアバリューギャップ(FVG)取引戦略に基づいて、MQL5で自動売買アルゴリズムを作成して実装するためのステップバイステップのガイドです。初心者にも経験豊富なトレーダーにも役立つエキスパートアドバイザー(EA)の作成に関する詳細なチュートリアルです。
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更
Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

Expert Advisor パラメータのユーザーパネルからの『オンザフライ』の変更

本稿ではパラメータをユーザーパネルから管理できる Expert Advisor の実装を示すちょっとした例を提供します。『オンザフライ』でパラメータを変更するとき、Expert Advisor はのちにファイルから読み込みパネル上で適切に表示するために情報パネルからファイルに取得した値を書きます。本稿はマニュアルでトレードを行う方または半自動モードでトレードを行う方に適しているでしょう。
考えられる.EAをリアルタイムで最適化するためのインジケータの使用法
考えられる.EAをリアルタイムで最適化するためのインジケータの使用法

考えられる.EAをリアルタイムで最適化するためのインジケータの使用法

トレーディングロボットの効率は、そのパラメータの正しい選択 (最適化) に依存します。 ただし、ある特定の時間間隔で最適と見なされるパラメータは、別の期間でもその有効性を保持することはできません。 その上、EA がテストの期間で利益を出したとしてもリアルでは損失になることもあります。 継続的な最適化における問題はこれらを背景としています。 ルーチンワークに直面するとき、人は自動化する方法を模索しようとします。 この記事では、この問題を解決するための非標準的なアプローチを提案します。
グラフィックエキスパートアドバイザー: オートグラフ
グラフィックエキスパートアドバイザー: オートグラフ

グラフィックエキスパートアドバイザー: オートグラフ

本稿はトレードを管理する便利なインターフェースである画面表示の利用法について書いています。
トレンドとフラットの戦略を個別に最適化する
トレンドとフラットの戦略を個別に最適化する

トレンドとフラットの戦略を個別に最適化する

この記事では、さまざまな市場条件に対して個別に最適化する方法について説明しています。個別最適化とは、上昇トレンドと下降トレンドを別々に最適化して取引システムの最適なパラメータを決定することです。誤ったシグナルの影響を減らして収益性を向上させるために、システムは柔軟に作られています。つまり、市場の動きは常に変化を伴う為、システムには特定の設定や入力データのセットがあります。
MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション
MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション

MеtaTrader 4 と MATLAB エンジン(仮想 MATLAB マシン)間のインタラクション

本稿では DLL ライブラリ- MetaTrader 4 と MATLAB の数学的デスクトップパッケージのインタラクションを可能にするラッパーの作成に関する考察を行います。また落とし穴とそれを克服する方法を説明します。本稿は Borland C++ Builder 6 コンパイラを使用している準備済みの C/C++ プログラマ―を対象としています。
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 基本取引クラス - 無効なパラメータの自動修正
MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 基本取引クラス - 無効なパラメータの自動修正

MetaTraderプログラムを簡単かつ迅速に開発するためのライブラリ(第24部): 基本取引クラス - 無効なパラメータの自動修正

本稿では、無効な取引注文パラメータのハンドラを一瞥して、取引イベントクラスを改善します。これによって、すべての取引イベント(単一のイベントと1ティック内で同時に発生したイベントの両方)がプログラムで正しく定義されるようになります。
UML ツールを用いたExpert Advisorの開発方法
UML ツールを用いたExpert Advisorの開発方法

UML ツールを用いたExpert Advisorの開発方法

本稿では UML グラフィカル言語を用いたExpert Advisorの開発方法についてお話します。そのツールはオブジェクト指向のソフトウェアシステムのビジュアルモデル化に使用されるものです。この方法のおもなメリットはモデル化プロセスの可視化です。本稿には Software Ideas Modelerを使用したExpert Advisorの ストラクチャとプロパティのモデル化を示す例が含まれています。
アジアセッション中の夜間取引: どのように収益性を維持するか
アジアセッション中の夜間取引: どのように収益性を維持するか

アジアセッション中の夜間取引: どのように収益性を維持するか

この記事では、夜間取引の概念、および MQL5 におけるトレーディング戦略とその実装について扱います。 テストを通じ、適切な結論を下します。
グラフィカルインタフェース V:リストビュー要素(チャプター 2)
グラフィカルインタフェース V:リストビュー要素(チャプター 2)

グラフィカルインタフェース V:リストビュー要素(チャプター 2)

前の章では、縦横スクロールバーを作成するためのクラスを書きました。この章では、それを実装します。縦スクロールバーはそのコンパウンドの一部となるリストビュー要素を作成するためのクラスが記述されます。
Market Product向けの優れた記述方法
Market Product向けの優れた記述方法

Market Product向けの優れた記述方法

MQL5「マーケット」には数多くのプロダクツが販売されていますが、その説明にはいま一つ物足りないということがあります。テキストの多くは明らかに改善が必要です。一般トレーダーが理解できないようなものだからです。本稿はみなさんのプロダクトを有利な位置に置くことに役立つことでしょう。販売しているものが何であるか的確に顧客に示す、注意を引く説明を書くための提案を活用ください。
Accumulation/Distributionへのインサイトと、そのゴール地点
Accumulation/Distributionへのインサイトと、そのゴール地点

Accumulation/Distributionへのインサイトと、そのゴール地点

Accumulation/Distribution (A/D)インジケーターは、一つ興味深い特徴があります - このインジケータチャートのトレンド線のブレークアウトは、特定の確率にてやがて来る価格チャートのトレンド線のブレークアウトを示唆します。この記事は、MQL4プログラミングに慣れ親しんでいない人にとってはとても役に立ち、面白い記事になるかと思います。この観点から最も簡単なコードの構造を用い、コーディングの方法を理解する上でわかりやすい情報を提示することに努めました。
長期取引戦略の基盤としてのマルチンゲール
長期取引戦略の基盤としてのマルチンゲール

長期取引戦略の基盤としてのマルチンゲール

本稿では、マルチンゲールシステムについて詳細に検討します。このシステムを取引に適用できるかどうか、またリスクを最小限に抑えるための使用方法が検討されます。この単純なシステムの主な欠点は、預金全体を失う可能性があることです。マルチンゲール技術を使って取引することを決定した場合、この事実は考慮に入れられなければなりません。
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成
MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

MQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の作成

本稿はMQL5 ウィザードおよび Hlaiman EA ジェネレータを用いたニューラルネットワーク EA の自動作成について述べます。理論的な情報をすべて学習する必要なくニューラルネットワークと簡単に連携し、ご自身のコードを書く方法をお伝えします。
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト
DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

DoEasyライブラリの時系列(第36部): すべての使用銘柄期間の時系列オブジェクト

本稿では、使用された各銘柄期間のバーオブジェクトのリストを単一の銘柄時系列オブジェクトに結合することを検討します。使用されるすべての銘柄時系列期間のリストを格納するオブジェクトが各銘柄に備わることになります。
Expert Advisor 内での Expert Advisor コンテスト
Expert Advisor 内での Expert Advisor コンテスト

Expert Advisor 内での Expert Advisor コンテスト

仮想取引によって、適応型 Expert Advisor を作成することができます。それは実マーケットでトレードをオン、オフするものです。1件の Expert Advisor に複数の戦略を組み合わせます。マルチシステム Expert Advisor は自動でトレーディング戦略を選択します。それは実マーケットで仮想取引の収益性をもとにトレードを行うには最良のものです。この種の方法により、ドローダウンを減少し、マーケットでの作業の収益性を上げることができるのです。実験を行い、結果を他の人と共有してください。多くの人がみなさんの戦略ポートフォリオを知りたがっていると思います。