MQL5言語のプログラミング例に関する記事

icon

MQL5言語でMetaTraderプラットフォームのインジケータと自動売買ロボットを作成する方法を示すコード例を含む膨大な記事のコレクションにアクセスします。ソースコードは記事に添付されているので、MetaEditorで開いて実行して、アプリがどのように機能するかを確認できます。

これらの記事は自動取引初心者にも、プログラム経験があるプロのトレーダーにも役に立つでしょう。それらは単に例を特徴とするだけではなく、新しいアイデアも含んでいます。

新しい記事を追加
最新 | ベスト
preview
プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ

プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ

プログラミングパラダイムとMQL5コードへの応用について学びます。この記事では、手続き型プログラミングの具体的な方法について、実践的な例を通して説明します。EMA指標とローソク足の価格データを使って、プライスアクションエキスパートアドバイザー(EA)を開発する方法を学びます。さらに、この記事では関数型プログラミングのパラダイムについても紹介しています。
preview
DoEasy-コントロール(第15部):TabControl WinFormsオブジェクト — 複数行のタブヘッダー、タブ処理メソッド

DoEasy-コントロール(第15部):TabControl WinFormsオブジェクト — 複数行のタブヘッダー、タブ処理メソッド

この記事では、TabControl WinFormオブジェクトの作業を続けます。タブフィールドオブジェクトクラスを作成して複数の行にタブヘッダーを配置できるようにし、オブジェクトタブを処理するメソッドを追加します。
preview
Candlestick Trend Constraintモデルの構築(第9回):マルチ戦略エキスパートアドバイザー(III)

Candlestick Trend Constraintモデルの構築(第9回):マルチ戦略エキスパートアドバイザー(III)

連載第3回へようこそ。今回は、日足のトレンドに沿った最適なエントリーポイントを特定する戦略として、ダイバージェンスの活用について詳しく解説します。また、トレーリングストップロスに似た、しかし独自の機能を備えたカスタム利益ロック機構もご紹介します。さらに、Trend Constraint EAを高度化し、既存の取引条件を補完する形で新たなエントリー条件を追加します。今後も、MQL5を活用したアルゴリズム開発の実践的な応用方法を深掘りし、実際に使えるテクニックや洞察を継続的にお届けしていきます。
preview
StringFormat():レビューと既成の例

StringFormat():レビューと既成の例

この記事では、PrintFormat()関数のレビューを続けます。StringFormat()を使った文字列の書式設定と、そのプログラムでのさらなる使用法について簡単に説明します。また、ターミナル操作ログに銘柄データを表示するためのテンプレートも作成します。この記事は、初心者にも経験豊富な開発者にも役立つでしょう。
preview
角度ベースの取引

角度ベースの取引

この記事では、角度ベースの取引について取り上げます。角度の組み立て方と、それを取引に利用する方法について見ていきます。
preview
リプレイシステムの開発 - 市場シミュレーション(第8回):指標のロック

リプレイシステムの開発 - 市場シミュレーション(第8回):指標のロック

この記事では、MQL5言語を使用しながら指標をロックする方法を見ていきます。非常に興味深く素晴らしい方法でそれをおこないます。
preview
古典的な戦略を再構築する(第12回):EURUSDブレイクアウト戦略

古典的な戦略を再構築する(第12回):EURUSDブレイクアウト戦略

MQL5で収益性の高いブレイクアウト取引戦略を構築する挑戦に、ぜひご参加ください。EURUSDペアを選択し、時間枠で価格ブレイクアウトを取引しましたが、私たちのシステムでは偽のブレイクアウトと真のトレンドの始まりを区別するのが難しかったです。そこで、損失を最小限に抑えながら利益を増やすことを目的としたフィルターをシステムに組み込みました。最終的にはシステムを収益性の高いものにし、誤ったブレイクアウトに対する耐性を高めることに成功しました。
preview
DoEasy-コントロール(第13部):WinFormsオブジェクトのマウスによる操作の最適化、TabControl WinFormsオブジェクトの開発開始

DoEasy-コントロール(第13部):WinFormsオブジェクトのマウスによる操作の最適化、TabControl WinFormsオブジェクトの開発開始

今回は、マウスカーソルを離した後のWinFormsオブジェクトの外観の処理を修正および最適化して、TabControl WinFormsオブジェクトの開発を開始します。
preview
母集団最適化アルゴリズム:等方的焼きなまし(Simulated Isotropic Annealing、SIA)アルゴリズム(第2部)

母集団最適化アルゴリズム:等方的焼きなまし(Simulated Isotropic Annealing、SIA)アルゴリズム(第2部)

第1部では、よく知られた一般的なアルゴリズムである焼きなまし法について説明しました。その長所と短所を徹底的に検討しました。第2部では、アルゴリズムを抜本的に改良し、新たな最適化アルゴリズムである等方的焼きなまし(Simulated Isotropic Annealing、SIA)法を紹介します。
preview
DoEasy-コントロール(第14部):グラフィック要素に名前を付けるための新しいアルゴリズム。TabControl WinFormsオブジェクトへの作業の継続

DoEasy-コントロール(第14部):グラフィック要素に名前を付けるための新しいアルゴリズム。TabControl WinFormsオブジェクトへの作業の継続

この記事では、カスタムグラフィックを構築するためのすべてのグラフィック要素に名前を付けるための新しいアルゴリズムを作成し、TabControl WinFormsオブジェクトの開発を継続する予定です。
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素
DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

DoEasyライブラリのグラフィックス(第74部): CCanvasクラスを使用した基本的グラフィック要素

本稿では、前の記事からのグラフィカルオブジェクトを構築するという概念を作り直し、標準ライブラリCCanvasクラスを利用したライブラリのすべてのグラフィカルオブジェクトの基本クラスを準備します。
DoEasyライブラリのグラフィックス(第95部):複合グラフィカルオブジェクトコントロール
DoEasyライブラリのグラフィックス(第95部):複合グラフィカルオブジェクトコントロール

DoEasyライブラリのグラフィックス(第95部):複合グラフィカルオブジェクトコントロール

本稿では、複合グラフィカルオブジェクトを管理するためのツールキット(拡張された標準グラフィカルオブジェクトを管理するためのコントロール)について検討します。今日は、複合グラフィカルオブジェクトの再配置から少し脱線して、複合グラフィカルオブジェクトを特徴とするチャートに変更イベントのハンドラを実装します。さらに、複合グラフィカルオブジェクトを管理するためのコントロールに焦点を当てます。
preview
MQL5における代替リスクリターン指標

MQL5における代替リスクリターン指標

本稿では、シャープレシオの代替指標とされるいくつかのリスクリターン指標の実装を紹介し、その特徴を分析するために仮想資本曲線を検証します。
preview
母集団最適化アルゴリズム:スマート頭足類(SC、Smart Cephalopod)を使用した変化する形状、確率分布の変化とテスト

母集団最適化アルゴリズム:スマート頭足類(SC、Smart Cephalopod)を使用した変化する形状、確率分布の変化とテスト

この記事では、確率分布の形状を変えることが最適化アルゴリズムの性能に与える影響について検証します。最適化問題の文脈における様々な確率分布の効率を評価するために、スマート頭足類(SC、Smart Cephalopod)テストアルゴリズムを用いた実験をおこないます。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第6回): Deep Double Descentの活用

MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第6回): Deep Double Descentの活用

伝統的な機械学習では、モデルの過剰適合を防ぐことが実践者にとって重要であると教えられます。しかし、この考え方は、ハーバード大学の勤勉な研究者たちによって発表された新たな洞察によって見直されつつあります。彼らの研究によれば、一見すると過剰適合に見える現象が、場合によっては訓練プロセスを早期に終了した結果である可能性があることが示唆されています。本記事では、この研究論文で提案されたアイデアを活用し、市場リターン予測におけるAIの利用をどのように向上させられるかを解説します。
preview
エキスパートアドバイザーのQ値の開発

エキスパートアドバイザーのQ値の開発

この記事では、エキスパートアドバイザー(EA)がストラテジーテスターで表示できる品質スコアを開発する方法を見ていきます。Van TharpとSunny Harrisという2つの有名な計算方法を見てみましょう。
preview
DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動

DoEasyライブラリのグラフィックス(第99部):単一のコントロールポイントを使用した拡張グラフィックオブジェクトの移動

前回の記事では、コントロールフォームを使用して拡張グラフィックオブジェクトのピボットポイントを移動する機能を実装しました。次に、単一のグラフィックオブジェクトコントロールポイント(フォーム)を使用して複合グラフィックオブジェクトを移動する機能を実装します。
preview
初級から中級まで:配列と文字列(III)

初級から中級まで:配列と文字列(III)

この記事では2つの側面について考察します。まず、標準ライブラリを使ってバイナリ値を8進数、10進数、16進数などの表現に変換する方法について説明します。次に、これまでに習得した知識を活用して、秘密のフレーズに基づいてパスワードの桁数をどのように決定できるかについて解説します。
preview
初心者のためのMQL5によるSP500取引戦略

初心者のためのMQL5によるSP500取引戦略

MQL5を活用してS&P500指数を正確に予測する方法をご紹介します。古典的なテクニカル分析とアルゴリズム、そして長年の経験に裏打ちされた原理を組み合わせることで、安定性を高め、確かな市場洞察力を得られます。
preview
MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第5回):深層マルコフモデル

MQL5とPythonで自己最適化エキスパートアドバイザーを構築する(第5回):深層マルコフモデル

この記事では、RSIインジケーターに単純なマルコフ連鎖を適用し、インジケーターが主要なレベルを通過した後の価格の挙動を観察します。NZDJPYペアで最も強い買いシグナルと売りシグナルは、RSIがそれぞれ11~20の範囲と71~80の範囲にあるときに生成されるという結論に達しました。データを操作して、保有するデータから直接学習した最適な取引戦略を作成する方法を説明します。さらに、遷移行列を最適に使用することを学習するためにディープニューラルネットワークを訓練する方法を説明します。
preview
母集団最適化アルゴリズム:Spiral Dynamics Optimization (SDO)アルゴリズム

母集団最適化アルゴリズム:Spiral Dynamics Optimization (SDO)アルゴリズム

本稿では、軟体動物の殻など自然界における螺旋軌道の構築パターンに基づく最適化アルゴリズム、Spiral Dynamics Optimization(SDO、螺旋ダイナミクス最適化)アルゴリズムを紹介します。著者らが提案したアルゴリズムを徹底的に修正し、改変しました。この記事では、こうした変更の必要性について考えてみたいと思います。
preview
DoEasy - コントロール(第25部):Tooltip WinFormsオブジェクト

DoEasy - コントロール(第25部):Tooltip WinFormsオブジェクト

今回は、Tooltipコントロールの開発と、ライブラリの新しいグラフィカルプリミティブの開発を開始する予定です。当然ながら、すべての要素にツールチップがあるわけではないですが、すべてのグラフィックオブジェクトにはツールチップを設定する機能があります。
preview
母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム

母集団最適化アルゴリズム:Intelligent Water Drops (IWD)アルゴリズム

この記事では、無生物由来の興味深いアルゴリズム、つまり川床形成プロセスをシミュレーションするIntelligent Water Drops (IWD)について考察しています。このアルゴリズムのアイデアにより、従来の格付けのリーダーであったSDSを大幅に改善することが可能になりました。いつものように、新しいリーダー(修正SDSm)は添付ファイルにあります。
preview
リプレイシステムの開発(第53回):物事は複雑になる(V)

リプレイシステムの開発(第53回):物事は複雑になる(V)

今回は、あまり理解されていない重要なトピックを取り上げます。「カスタムイベント」です。これは危険です。これらの要素の長所と短所を解説します。このトピックは、MQL5やその他の言語でプロのプログラマーになりたい人にとって重要な鍵となります。ここではMQL5とMetaTrader 5に焦点を当てます。
preview
母集団最適化アルゴリズム:Stochastic Diffusion Search (SDS)

母集団最適化アルゴリズム:Stochastic Diffusion Search (SDS)

この記事では、ランダムウォークの原理に基づく非常に強力で効率的な最適化アルゴリズムである確SDS(Stochastic Diffusion Search、確率的拡散探索)について説明します。このアルゴリズムは、複雑な多次元空間で最適解を求めることができ、収束速度が速く、局所極値を避けることができるのが特徴です。
preview
リプレイシステムの開発—市場シミュレーション(第3回):設定の調整(I)

リプレイシステムの開発—市場シミュレーション(第3回):設定の調整(I)

まずは現状を明らかにすることから始めましょう。今やらなければ、すぐに問題になります。
preview
DoEasy-コントロール(第21部):SplitContainerコントロール。パネルセパレータ

DoEasy-コントロール(第21部):SplitContainerコントロール。パネルセパレータ

この記事では、SplitContainerコントロールの補助パネルセパレータオブジェクトのクラスを作成します。
preview
DoEasyライブラリのグラフィックス(第97部): フォームオブジェクトの移動の独立した処理

DoEasyライブラリのグラフィックス(第97部): フォームオブジェクトの移動の独立した処理

本稿では、マウスを使用したフォームオブジェクトの独立したドラッグの実装について検討します。さらに、以前にターミナルとMQL5に実装されたエラーメッセージと新しい取引プロパティをライブラリに追加します。
preview
リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント

リプレイシステムの開発 - 市場シミュレーション(第9回):カスタムイベント

ここでは、カスタムイベントがどのようにトリガーされ、指標でどのようにリプレイ/シミュレーションサービスの状態がレポートされるかを見ていきます。
preview
母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第2回)

母集団最適化アルゴリズム:2進数遺伝的アルゴリズム(BGA)(第2回)

この記事では、自然界の生物の遺伝物質で起こる自然なプロセスをモデル化した2進数遺伝的アルゴリズム(binary genetic algorithm:BGA)を見ていきます。
preview
一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)

一からの取引エキスパートアドバイザーの開発(第28部):未来に向かって(III)

私たちの発注システムが対応できていないタスクがまだ1つありますが、最終的に解決する予定です。MetaTrader 5は、注文値の作成と修正を可能にするチケットのシステムを備えています。アイデアは、同じチケットシステムをより高速かつ効率的にするエキスパートアドバイザー(EA)を持つことです。
preview
DoEasy - コントロール(第28部):ProgressBarコントロールのバースタイル

DoEasy - コントロール(第28部):ProgressBarコントロールのバースタイル

今回は、ProgressBarコントロールでのプログレスバーの表示スタイルと説明テキストを開発します。
preview
母集団最適化アルゴリズム:SSG(Saplings Sowing and Growing up、苗木の播種と育成)

母集団最適化アルゴリズム:SSG(Saplings Sowing and Growing up、苗木の播種と育成)

SSG(Saplings Sowing and Growing up、苗木の播種と育成)アルゴリズムは、様々な条件下で優れた生存能力を発揮する、地球上で最も回復力のある生物の1つからインスピレーションを得ています。
preview
手動取引のリスクマネージャー

手動取引のリスクマネージャー

この記事では、手動取引用のリスクマネージャークラスをゼロから書く方法について詳しく説明します。このクラスは、自動化プログラムを使用するアルゴリズムトレーダーが継承するための基本クラスとしても使用できます。
preview
DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト

DoEasy-コントロール(第20部):SplitContainer WinFormsオブジェクト

今回の記事では、MS Visual StudioツールキットからSplitContainerコントロールの開発を開始します。このコントロールは、垂直または水平の可動セパレータで区切られた2つのパネルで構成されています。
preview
DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化

DoEasy - コントロール(第30部):ScrollBarコントロールのアニメーション化

今回は、ScrollBarコントロールの開発の続きと、マウスインタラクション機能の実装を開始します。さらに、マウスの状態フラグやイベントのリストも充実させる予定です。
preview
母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

母集団最適化アルゴリズム:クジラ最適化アルゴリズム(WOA)

(WOA)は、ザトウクジラの行動と狩猟戦略に着想を得たメタヒューリスティクスアルゴリズムです。WOAの主なアイデアは、クジラが獲物の周囲に泡を作り、螺旋状の動きで獲物に襲いかかる、いわゆる「バブルネット」と呼ばれる捕食方法を模倣することです。
preview
PythonとMQL5における局所的特徴量選択の適用

PythonとMQL5における局所的特徴量選択の適用

この記事では、Narges Armanfardらの論文「Local Feature Selection for Data Classification」で提案された特徴量選択アルゴリズムを紹介します。このアルゴリズムはPythonで実装されており、MetaTrader 5アプリケーションに統合可能なバイナリ分類モデルの構築に使用されます。
preview
ブレインストーム最適化アルゴリズム(第1部):クラスタリング

ブレインストーム最適化アルゴリズム(第1部):クラスタリング

この記事では、「ブレインストーミング」と呼ばれる現象にヒントを得た、BSO (Brain Storm Optimization)と呼ばれる革新的な最適化手法を見ていきます。また、BSO法が適用するマルチモーダル最適化問題を解くための新しいアプローチについても説明します。これにより、部分集団の数を事前に決定することなく、複数の最適解を見つけることができるのです。K-MeansとK-Means++のクラスタリング法も検討します。
preview
MQL5とPythonを使用したブローカーAPIとエキスパートアドバイザーの統合

MQL5とPythonを使用したブローカーAPIとエキスパートアドバイザーの統合

この記事では、Pythonと連携したMQL5の実装について解説し、ブローカー関連の操作を自動化する方法を紹介します。VPS上にホストされて継続的に稼働するエキスパートアドバイザー(EA)が、あなたに代わって取引を実行すると想像してください。ある時点で、EAによる資金管理機能が非常に重要になります。具体的には、取引口座への残高補充や出金などの操作を含みます。本稿では、これらの機能の利点と実際の実装例を紹介し、資金管理を取引戦略にシームレスに統合する方法をお伝えします。どうぞご期待ください。