MQL4とMQL5のプログラム記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
DoEasy - コントロール(第5部):WinForms基本オブジェクト、Panelコントロール、AutoSizeパラメータ

DoEasy - コントロール(第5部):WinForms基本オブジェクト、Panelコントロール、AutoSizeパラメータ

本稿では、すべてのライブラリWinFormsオブジェクトの基本オブジェクトを作成し、Panel WinFormsオブジェクトのAutoSizeプロパティ(オブジェクトの内部コンテンツに合わせた自動サイズ変更)の実装を開始する予定です。
preview
価格変動モデルとその主な規定(第2回)。価格場の確率的発展方程式と観測されたランダムウォークの発生

価格変動モデルとその主な規定(第2回)。価格場の確率的発展方程式と観測されたランダムウォークの発生

この記事では、確率的な価格場の発展方程式と、今後の価格高騰の基準について考察しています。また、チャート上での価格値の本質と、そのランダムウォークが発生するメカニズムも明らかにします。
preview
時系列マイニングのためのデータラベル(第1回):EA操作チャートでトレンドマーカー付きデータセットを作成する

時系列マイニングのためのデータラベル(第1回):EA操作チャートでトレンドマーカー付きデータセットを作成する

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
MQL5で取引管理者パネルを作成する(第3回):ビジュアルスタイリングによるGUIの強化(I)

MQL5で取引管理者パネルを作成する(第3回):ビジュアルスタイリングによるGUIの強化(I)

この記事では、MQL5を使用して、取引管理パネルのグラフィカルユーザーインターフェイス(GUI)を視覚的にスタイル設定することに焦点を当てます。MQL5で利用できるさまざまなテクニックと機能について説明します。これらのテクニックと機能により、インターフェイスのカスタマイズと最適化が可能になり、魅力的な外観を維持しながらトレーダーのニーズを満たすことができます。
preview
リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)

リプレイシステムの開発—市場シミュレーション(第7回):最初の改善(II)

前回の記事では、可能な限り最高の安定性を確保するために、レプリケーションシステムにいくつかの修正を加え、テストを追加しました。また、このシステムのコンフィギュレーションファイルの作成と使用も開始しました。
preview
知っておくべきMQL5ウィザードのテクニック(第23回):CNN

知っておくべきMQL5ウィザードのテクニック(第23回):CNN

畳み込みニューラルネットワーク(Convolutional Neural Network: CNN)もまた、多次元のデータセットを主要な構成要素に分解することに特化した機械学習アルゴリズムです。一般的にどのように達成されるかを見て、別のMQL5ウィザードシグナルクラスのトレーダーへの応用の可能性を探ります。
preview
DoEasy-コントロール(第24部):ヒント補助WinFormsオブジェクト

DoEasy-コントロール(第24部):ヒント補助WinFormsオブジェクト

今回は、すべてのWinFormsライブラリオブジェクトの基本オブジェクトとメインオブジェクトを指定するロジックを見直し、新しいヒント基本オブジェクトとその派生クラスのいくつかを開発して、区切りの移動可能な方向を示すことにします。
preview
価格変動モデルとその主な規定(第3回):証券取引所の投機の最適なパラメータを計算する

価格変動モデルとその主な規定(第3回):証券取引所の投機の最適なパラメータを計算する

確率論に基づき著者が開発した工学的アプローチの枠組みの中で、利益を生むポジションを建てるための条件を見つけ、最適な(利益を最大化する)利食いと損切りの値を計算します。
preview
雲モデル最適化(ACMO):理論

雲モデル最適化(ACMO):理論

この記事は、最適化問題を解決するために雲の挙動をシミュレートするメタヒューリスティックな雲モデル最適化(ACMO: Atmosphere Clouds Model Optimization)アルゴリズムについて解説します。このアルゴリズムは、雲の生成、移動、拡散といった自然現象の原理を用いて、解空間内の「気象条件」に適応します。この記事では、ACMOの気象的なシミュレーションが、複雑な可能性空間の中でどのようにして最適解を導き出すかを明らかにし、「空」の準備、雲の生成、雲の移動、そして雨の集約といった各ステップを詳しく説明します。
preview
プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ

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

プログラミングパラダイムとMQL5コードへの応用について学びます。この記事では、手続き型プログラミングの具体的な方法について、実践的な例を通して説明します。EMA指標とローソク足の価格データを使って、プライスアクションエキスパートアドバイザー(EA)を開発する方法を学びます。さらに、この記事では関数型プログラミングのパラダイムについても紹介しています。
preview
出来高による取引の洞察:トレンドの確認

出来高による取引の洞察:トレンドの確認

強化型トレンド確認手法は、プライスアクション、出来高分析、そして機械学習を組み合わせることで、真の市場動向を見極めることを目的としています。この手法では、取引を検証するために、価格のブレイクアウトと平均比50%以上の出来高急増という2つの条件を満たす必要があります。さらに、追加の確認手段としてLSTMニューラルネットワークを活用します。システムはATR (Average True Range)に基づいたポジションサイズ設定と動的リスク管理を採用しており、誤ったシグナルを排除しつつ、多様な市場環境に柔軟に対応できる設計となっています。
preview
ニューラルネットワークが簡単に(第87回):時系列パッチ

ニューラルネットワークが簡単に(第87回):時系列パッチ

予測は時系列分析において重要な役割を果たします。この新しい記事では、時系列パッチの利点についてお話しします。
preview
MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

MQL5での取引戦略の自動化(第8回):バタフライハーモニックパターンを用いたエキスパートアドバイザーの構築

この記事では、バタフライハーモニックパターンを検出するためのMQL5エキスパートアドバイザー(EA)を構築します。ピボットポイントを特定し、フィボナッチレベルを検証してパターンを確認します。次に、チャート上にパターンを可視化し、確認された際には自動的に取引を実行します。
preview
ニューラルネットワークが簡単に(第24部):転移学習用ツールの改善

ニューラルネットワークが簡単に(第24部):転移学習用ツールの改善

前回の記事では、ニューラルネットワークのアーキテクチャを作成および編集するためのツールを作成しました。今日はこのツールでの作業を続けて、より使いやすくします。これは、私たちのトピックから一歩離れていると思われるかもしれませんが、うまく整理されたワークスペースは、結果を達成する上で重要な役割を果たすと思われないでしょうか。
リプレイシステムの開発 - 市場シミュレーション(第10回):リプレイで実データのみを使用する
リプレイシステムの開発 - 市場シミュレーション(第10回):リプレイで実データのみを使用する

リプレイシステムの開発 - 市場シミュレーション(第10回):リプレイで実データのみを使用する

ここでは、リプレイシステムで、調整されているかどうかを気にすることなく、より信頼性の高いデータ(取引されたティック)を使用する方法を見ていきます。
preview
DoEasyライブラリのグラフィックス(第98部):拡張された標準グラフィカルオブジェクトのピボットポイントの移動

DoEasyライブラリのグラフィックス(第98部):拡張された標準グラフィカルオブジェクトのピボットポイントの移動

本稿では、拡張された標準グラフィカルオブジェクトの開発を継続し、グラフィカルオブジェクトのピボットポイントの座標を管理するためのコントロールポイントを使用して、複合グラフィカルオブジェクトのピボットポイントを移動する機能を作成します。
preview
時系列分類問題における因果推論

時系列分類問題における因果推論

この記事では、機械学習を用いた因果推論の理論と、Pythonによるカスタムアプローチの実装について見ていきます。因果推論と因果思考は哲学と心理学にルーツを持ち、現実を理解する上で重要な役割を果たしています。
preview
MQL5の圏論(第18回):ナチュラリティスクエア(自然性の四角形)

MQL5の圏論(第18回):ナチュラリティスクエア(自然性の四角形)

この記事では、圏論の重要な柱である自然変換を紹介します。一見複雑に見える定義に注目し、次に本連載の「糧」であるボラティリティ予測について例と応用を掘り下げていきます。
preview
取引におけるニューラルネットワーク:点群用Transformer (Pointformer)

取引におけるニューラルネットワーク:点群用Transformer (Pointformer)

この記事では、点群におけるオブジェクト検出問題を解決するためのアテンションを用いたアルゴリズムについて解説します。点群におけるオブジェクト検出は、多くの現実世界の応用において極めて重要です。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第7回):チャート上のインジケーター自動化のためのコマンド解析

MQL5-Telegram統合エキスパートアドバイザーの作成(第7回):チャート上のインジケーター自動化のためのコマンド解析

この記事では、TelegramコマンドをMQL5と統合して、取引チャートへのインジケーターの追加を自動化する方法について解説します。ユーザーからのコマンドを解析し、MQL5で実行し、インジケーターベースの取引を円滑におこなうためのシステムをテストするプロセスについて説明します。
preview
母集団最適化アルゴリズム:等方的焼きなまし(Simulated Isotropic Annealing、SIA)アルゴリズム(第2部)

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

第1部では、よく知られた一般的なアルゴリズムである焼きなまし法について説明しました。その長所と短所を徹底的に検討しました。第2部では、アルゴリズムを抜本的に改良し、新たな最適化アルゴリズムである等方的焼きなまし(Simulated Isotropic Annealing、SIA)法を紹介します。
preview
ニューラルネットワークが簡単に(第89回):FEDformer (Frequency Enhanced Decomposition Transformer)

ニューラルネットワークが簡単に(第89回):FEDformer (Frequency Enhanced Decomposition Transformer)

これまで検討してきたすべてのモデルは、環境の状態を時系列として分析します。ただし、時系列は周波数特徴の形式で表現することもできます。この記事では、時系列の周波数成分を使用して将来の状態を予測するアルゴリズムを紹介します。
preview
初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(II)

初心者からエキスパートへ:MQL5を使ったアニメーションニュース見出し(II)

本日は、外部ニュースAPIを統合し、News Headline EAの見出し取得元として活用する新たなステップに進みます。このフェーズでは、既存の大手ニュースソースから新興の情報源まで幅広く取り上げ、それぞれのAPIに効果的にアクセスする方法を学びます。さらに、取得したデータをパースし、エキスパートアドバイザー(EA)内での表示に最適化された形式へ変換する手法についても解説します。ニュース見出しや経済指標カレンダーをチャート上に直接表示できることには、大きなメリットがあります。コンパクトで邪魔にならないインターフェースを通じて、取引中でも効率的に情報を確認できるようになるのです。
DoEasyライブラリのグラフィックス(第78部): ライブラリのアニメーションの原則イメージスライス
DoEasyライブラリのグラフィックス(第78部): ライブラリのアニメーションの原則イメージスライス

DoEasyライブラリのグラフィックス(第78部): ライブラリのアニメーションの原則イメージスライス

この記事では、ライブラリの一部で使用されるアニメーションの原則を定義します。また、画像の一部をコピーして指定したフォームオブジェクトの場所に貼り付け、画像が重ねられるフォームの背景の一部を保存して復元するクラスを開発します。
DoEasyライブラリのグラフィックス(第94部): 複合グラフィカルオブジェクトの移動と削除
DoEasyライブラリのグラフィックス(第94部): 複合グラフィカルオブジェクトの移動と削除

DoEasyライブラリのグラフィックス(第94部): 複合グラフィカルオブジェクトの移動と削除

本稿では、さまざまな複合グラフィカルオブジェクトイベントの開発を開始します。また、複合グラフィカルオブジェクトの移動と削除についても部分的に検討します。実際、ここでは、前の記事で実装したものを微調整します。
preview
リプレイシステムの開発 - 市場シミュレーション(第17回):ティックそしてまたティック(I)

リプレイシステムの開発 - 市場シミュレーション(第17回):ティックそしてまたティック(I)

ここでは、非常に興味深いものを実装する方法を見ていきますが、同時に、非常にわかりにくい点があるため非常に難しくなります。起こり得る最悪の事態は、自分をプロだと思っている一部のトレーダーが、資本市場におけるこれらの概念の重要性について何も知らないことです。さて、ここではプログラミングに焦点を当てていますが、私たちが実装しようとしているものにとって最も重要なのは市場取引に伴う問題のいくつかを理解することです。
DoEasyライブラリのグラフィックス(第95部):複合グラフィカルオブジェクトコントロール
DoEasyライブラリのグラフィックス(第95部):複合グラフィカルオブジェクトコントロール

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

本稿では、複合グラフィカルオブジェクトを管理するためのツールキット(拡張された標準グラフィカルオブジェクトを管理するためのコントロール)について検討します。今日は、複合グラフィカルオブジェクトの再配置から少し脱線して、複合グラフィカルオブジェクトを特徴とするチャートに変更イベントのハンドラを実装します。さらに、複合グラフィカルオブジェクトを管理するためのコントロールに焦点を当てます。
preview
ニューラルネットワークが簡単に(第74回):適応による軌道予測

ニューラルネットワークが簡単に(第74回):適応による軌道予測

本稿では、様々な環境条件に適応可能なマルチエージェントの軌道予測について、かなり効果的な手法を紹介します。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第5回):TelegramからMQL5にコマンドを送信し、リアルタイムの応答を受信する

MQL5-Telegram統合エキスパートアドバイザーの作成(第5回):TelegramからMQL5にコマンドを送信し、リアルタイムの応答を受信する

この記事では、MQL5とTelegram間のリアルタイム通信を容易にするためのいくつかのクラスを作成します。Telegramからコマンドを取得し、それをデコードして解釈し、適切な応答を送り返すことに重点を置きます。最終的には、これらの相互作用が取引環境内で効果的にテストされ、運用されていることを確認します。
preview
DoEasy-コントロール(第14部):グラフィック要素に名前を付けるための新しいアルゴリズム。TabControl WinFormsオブジェクトへの作業の継続

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

この記事では、カスタムグラフィックを構築するためのすべてのグラフィック要素に名前を付けるための新しいアルゴリズムを作成し、TabControl WinFormsオブジェクトの開発を継続する予定です。
preview
知っておくべきMQL5ウィザードのテクニック(第10回):型破りなRBM

知っておくべきMQL5ウィザードのテクニック(第10回):型破りなRBM

制限ボルツマンマシン(Restrictive Boltzmann Machine、RBM)は、基本的なレベルでは、次元削減による教師なし分類に長けた2層のニューラルネットワークです。その基本原理を採用し、常識にとらわれない方法で設計し直して訓練すれば有用なシグナルフィルタが得られるかどうかを検証します。
preview
MQL5における動的時間伸縮を用いたパターン認識

MQL5における動的時間伸縮を用いたパターン認識

本稿では、金融時系列における予測パターンを特定する手段として、動的時間伸縮の概念について論じます。その仕組みと、純粋なMQL5での実装を紹介します。
preview
MQL5-Telegram統合エキスパートアドバイザーの作成(第4回):関数コードのモジュール化による再利用性の向上

MQL5-Telegram統合エキスパートアドバイザーの作成(第4回):関数コードのモジュール化による再利用性の向上

の記事では、MQL5からTelegramへのメッセージおよびスクリーンショット送信に使用されている既存コードを、再利用可能なモジュール関数へと整理し、リファクタリングをおこないます。これによりプロセス全体が効率化され、複数インスタンスでの実行効率が高まるだけでなく、コードの管理も容易になります。
preview
Candlestick Trend Constraintモデルの構築(第2回):ネイティブ指標の結合

Candlestick Trend Constraintモデルの構築(第2回):ネイティブ指標の結合

この記事では、トレンドから外れたシグナルを選別するために、MetaTrader 5指標を活用することに焦点を当てます。前回に引き続き、MQL5コードを使用してアイデアを最終的なプログラムに伝える方法を探っていきます。
preview
ニューラルネットワークが簡単に(第88回):Time-series Dense Encoder (TiDE)

ニューラルネットワークが簡単に(第88回):Time-series Dense Encoder (TiDE)

研究者たちは、より正確な予測を得るために、しばしばモデルを複雑化します。しかし、その結果として、モデルの訓練やメンテナンスにかかるコストも増加します。この増大したコストは常に正当化されるのでしょうか。本記事では、シンプルで高速な線形モデルの特性を活かし、複雑なアーキテクチャを持つ最新モデルに匹敵する結果を示すアルゴリズムを紹介します。
preview
母集団最適化アルゴリズム:スマート頭足類(SC、Smart Cephalopod)を使用した変化する形状、確率分布の変化とテスト

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

この記事では、確率分布の形状を変えることが最適化アルゴリズムの性能に与える影響について検証します。最適化問題の文脈における様々な確率分布の効率を評価するために、スマート頭足類(SC、Smart Cephalopod)テストアルゴリズムを用いた実験をおこないます。
MVCデザインパターンとその可能なアプリケーション(第2部): 3つのコンポーネント間の相互作用の図
MVCデザインパターンとその可能なアプリケーション(第2部): 3つのコンポーネント間の相互作用の図

MVCデザインパターンとその可能なアプリケーション(第2部): 3つのコンポーネント間の相互作用の図

本稿は、前の記事で説明したMQLプログラムのMVCパターンのトピックの続きです。この記事では、パターンの3つのコンポーネント間の可能な相互作用の図を検討します。
preview
MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):ストップアウト防止

MQL5で自己最適化エキスパートアドバイザーを構築する(第6回):ストップアウト防止

本日は、勝ちトレードでストップアウトされる回数を最小限に抑えるためのアルゴリズム的手法を探るディスカッションにご参加ください。この問題は非常に難易度が高く、取引コミュニティで見られる多くの提案は、明確で一貫したルールに欠けているのが実情です。私たちはこの課題に対してアルゴリズム的なアプローチを用いることで、トレードの収益性を高め、1回あたりの平均損失を減らすことに成功しました。とはいえ、ストップアウトを完全に排除するには、まださらなる改良が必要です。私たちの解決策は、それには至らないものの、誰にとっても試す価値のある良い第一歩です。
preview
DoEasy - コントロール(第4部):パネルコントロールとPadding and Dockパラメータ

DoEasy - コントロール(第4部):パネルコントロールとPadding and Dockパラメータ

今回は、Paddingパラメータ(要素の四辺の内部インデント/マージン)とDockパラメータ(コンテナ内のオブジェクトの配置方法)の扱いを実装します。
preview
ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化

ニューラルネットワークが簡単に(第68回):オフライン選好誘導方策最適化

最初の記事で強化学習を扱って以来、何らかの形で、環境の探索と報酬関数の決定という2つの問題に触れてきました。最近の記事は、オフライン学習における探索の問題に費やされています。今回は、作者が報酬関数を完全に排除したアルゴリズムを紹介したいと思います。