MQL5プログラミング記事

icon

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

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

新しい記事を追加
最新 | ベスト
preview
リプレイシステムの開発 - 市場シミュレーション(第25回):次の段階への準備

リプレイシステムの開発 - 市場シミュレーション(第25回):次の段階への準備

この記事では、リプレイ/シミュレーションシステム開発の第1段階を完了しました。この成果により、システムが高度なレベルに達したことを確認し、新機能の導入への道を開くことができました。目標は、システムをさらに充実させ、市場分析の調査開発のための強力なツールに変えることです。
preview
リプレイシステムの開発 - 市場シミュレーション(第24回):FOREX (V)

リプレイシステムの開発 - 市場シミュレーション(第24回):FOREX (V)

本日は、Last価格に基づくシミュレーションを妨げていた制限を取り除き、このタイプのシミュレーションに特化した新しいエントリポイントをご紹介します。操作の仕組みはすべて、FOREX市場の原理に基づいています。この手順の主な違いは、BidシミュレーションとLastシミュレーションの分離です。ただし、時間をランダム化し、C_Replayクラスに適合するように調整するために使用された方法は、両方のシミュレーションで同じままであることに注意することが重要です。これは良いことです。特にティック間の処理時間に関して、一方のモードを変更すれば、もう一方のモードも自動的に改善されるからです。
preview
リプレイシステムの開発 - 市場シミュレーション(第23回)FOREX (IV)

リプレイシステムの開発 - 市場シミュレーション(第23回)FOREX (IV)

これで、ティックをバーに変換したのと同じ時点で作成がおこなわれます。こうすることで、変換プロセス中に問題が発生した場合、すぐにエラーに気づくことができます。これは、早送り中にチャート上に1分足を配置するコードと同じコードが、通常のパフォーマンス中に足を配置する位置決めシステムにも使用されるためです。言い換えれば、このタスクを担当するコードは他の場所には複製されません。このようにして、メンテナンスと改善の両方においてはるかに優れたシステムが得られます。
preview
リプレイシステムの開発 - 市場シミュレーション(第22回):FOREX (III)

リプレイシステムの開発 - 市場シミュレーション(第22回):FOREX (III)

このトピックに関する記事は今回で3回目になりますが、株式市場とFOREX市場の違いをまだ理解していない方のために説明しなければなりません。大きな違いは、FOREXでは、取引の過程で実際に発生したいくつかのポイントに関する情報がないというか、与えられないということです。
preview
リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)

リプレイシステムの開発 - 市場シミュレーション(第21回):FOREX (II)

FOREX市場で作業するためのシステムを構築し続けます。この問題を解決するためには、まず、前のバーを読み込む前にティックの読み込みを宣言しなければなりません。これによって問題は解決されますが、同時にユーザーは構成ファイルの構造に従わざるを得なくなります。これは個人的にはあまり意味がありません。なぜなら、構成ファイルの内容を分析し、実行する役割を担うプログラムを設計することで、ユーザーが必要な要素を好きな順番で宣言できるようになるからです。
preview
外国為替市場の季節性から利益を得る

外国為替市場の季節性から利益を得る

例えば、冬になると新鮮な野菜の値段が上がったり、霜が降りると燃料の値段が上がったりすることはよく知られていますが、同じようなパターンが外国為替市場にもあることを知っている人は少ないです。
preview
ニューラルネットワークの実験(第7回):指標の受け渡し

ニューラルネットワークの実験(第7回):指標の受け渡し

指標をパーセプトロンに渡す例。この記事では、一般的な概念について説明し、最も単純な既製のエキスパートアドバイザー(EA)と、それに続く最適化とフォワードテストの結果を紹介します。
preview
機械学習における量子化(第2回):データの前処理、テーブルの選択、CatBoostモデルの訓練

機械学習における量子化(第2回):データの前処理、テーブルの選択、CatBoostモデルの訓練

この記事では、ツリーモデルの構築における量子化の実際の応用について考察します。量子化テーブルの選択方法とデータの前処理について検討します。複雑な数式は使用しません。
preview
機械学習における量子化(第1回):理論、コード例、CatBoostでの実装解析

機械学習における量子化(第1回):理論、コード例、CatBoostでの実装解析

この記事では、ツリーモデルの構築における量子化の理論的な応用を考察し、CatBoostに実装された量子化手法を紹介します。複雑な数式は使用しません。
preview
時系列マイニングのためのデータラベル(第4回):ラベルデータを使用した解釈可能性の分解

時系列マイニングのためのデータラベル(第4回):ラベルデータを使用した解釈可能性の分解

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、時系列のラベル付け方法をいくつかご紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。
preview
知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ

知っておくべきMQL5ウィザードのテクニック(第09回):K平均法とフラクタル波の組み合わせ

K平均法では、まず無作為に生成されたクラスタ重心を使用するデータセットのマクロビューに焦点を当てたプロセスとしてデータポイントを集団化するアプローチを採用し、その後ズームインしてこれらの重心を調整してデータセットを正確に表現します。これを見て、その使用例をいくつか活用していきます。
preview
周波数領域でのフィルタリングと特徴抽出

周波数領域でのフィルタリングと特徴抽出

この記事では、予測モデルに有用な独自の特徴を抽出するために周波数領域で表現された時系列にデジタルフィルタを適用する方法を探ります。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第4回):振る舞いパターン2

ソフトウェア開発とMQL5におけるデザインパターン(第4回):振る舞いパターン2

デザインパターンには、生成デザインパターン、構造デザインパターン、振る舞いデザインパターンの3タイプがあることを説明しました。コードをクリーンにしながらオブジェクト間の相互作用の方法を設定するのに役立つ、残りの振る舞いタイプのパターンの説明を完成させます。
preview
データサイエンスと機械学習(第17回):木の中のお金?外国為替取引におけるランダムフォレストの芸術と科学

データサイエンスと機械学習(第17回):木の中のお金?外国為替取引におけるランダムフォレストの芸術と科学

金融情勢を解読する際の芸術性と正確性の融合についてガイドします。アルゴリズム錬金術の秘密を発見してください。ランダムフォレストがデータを予測能力に変換する方法を明らかにし、株式市場の複雑な地形をナビゲートするための独自の視点を提供します。金融の魔術の核心に触れ、市場の動向を形作り、収益の機会を開拓するランダムフォレストの役割を解き明かす旅にご参加ください。
preview
データサイエンスと機械学習(第16回):決定木を見直す

データサイエンスと機械学習(第16回):決定木を見直す

連載「データサイエンスと機械学習」の最新作で、決定木の複雑な世界に飛び込みましょう。戦略的な洞察を求めるトレーダーのために、この記事は包括的な総括として、市場動向の分析において決定木が果たす強力な役割に光を当てています。これらのアルゴリズム木の根と枝を探り、取引の意思決定を強化する可能性を解き明かします。決定木について新たな視点から学び、複雑な金融市場をナビゲートする上で、決定木をどのように味方にできるかを発見しましょう。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第5回): ケルトナーチャネルのボリンジャーバンド—指標シグナル

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第5回): ケルトナーチャネルのボリンジャーバンド—指標シグナル

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。この記事では、2つの指標、この場合はケルトナーチャネルのボリンジャーバンド®からのシグナルを使用します。
preview
MQL5における修正グリッドヘッジEA(第1部):シンプルなヘッジEAを作る

MQL5における修正グリッドヘッジEA(第1部):シンプルなヘッジEAを作る

古典的なグリッド戦略と古典的なヘッジ戦略を混合した、より高度なグリッドヘッジEAのベースとして、シンプルなヘッジEAを作成する予定です。この記事が終わるころには、簡単なヘッジ戦略の作り方がわかり、この戦略が本当に100%儲かるかどうかについての人々の意見も知ることができるでしょう。
preview
プログラミングパラダイムについて(第1部):プライスアクションエキスパートアドバイザー開発の手続き型アプローチ

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

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

ソフトウェア開発とMQL5におけるデザインパターン(第3回):振る舞いパターン1

デザインパターンの新しい記事として、その1タイプである振る舞いパターンを取り上げ、作成されたオブジェクト間の通信を効果的に構築する方法について説明します。これらの振る舞いパターンを完成させることで、再利用可能かつ拡張可能で、テストされたソフトウェアをどのように作成し、構築できるかを理解できるようになります。
preview
知っておくべきMQL5ウィザードのテクニック(第08回):パーセプトロン

知っておくべきMQL5ウィザードのテクニック(第08回):パーセプトロン

パー​​セプトロン(単一隠れ層ネットワーク)は、基本的な自動取引に精通していて、ニューラルネットワークを試してみようとしている人にとって、優れた入門編となります。エキスパートアドバイザー(EA)用のMQL5ウィザードクラスの一部であるシグナルクラスアセンブリでこれをどのように実現できるかを段階的に見ていきます。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第4回):三角移動平均 — 指標シグナル

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第4回):三角移動平均 — 指標シグナル

この記事の多通貨エキスパートアドバイザー(EA)は、1つの銘柄チャートからのみ複数の銘柄ペアの取引(注文を出す、注文を決済する、トレーリングストップロスとトレーリングプロフィットなどで注文を管理するなど)ができるEAまたは自動売買ロボットです。今回は、多時間枠または単一時間枠の「三角移動平均」という1つの指標のみを使用します。
preview
モデル解釈をマスターする:機械学習モデルからより深い洞察を得る

モデル解釈をマスターする:機械学習モデルからより深い洞察を得る

機械学習は複雑で、経験を問わず誰にとってもやりがいのある分野です。この記事では、構築されたモデルを動かす内部メカニズムに深く潜り込み、複雑な特徴、予測、そしてインパクトのある決断の世界を探求し、複雑さを解きほぐし、モデルの解釈をしっかりと把握します。トレードオフをナビゲートし、予測を強化し、確実な意思決定をおこないながら特徴の重要性をランク付けする技術を学びます。この必読書は、機械学習モデルからより多くのパフォーマンスを引き出し、機械学習手法を採用することでより多くの価値を引き出すのに役立ちます。
preview
MQL5入門(第1部):アルゴリズム取引入門ガイド

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

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

ソフトウェア開発とMQL5におけるデザインパターン(第2回):構造パターン

この記事では、MQL5だけでなく他のプログラミング言語でも拡張可能で信頼性の高いアプリケーションを開発するために、デザインパターンのトピックが開発者としてどれほど重要であるかを学んだ後、当トピックについての記事を続けます。デザインパターンのもう1つのタイプである構造デザインパターンについて学び、クラスにあるものを使ってより大きな構造を形成することによってシステムをデザインする方法を学びます。
preview
MQL5における組合せ対称交差検証法

MQL5における組合せ対称交差検証法

この記事では、ストラテジーテスターの低速&完全アルゴリズムを使用してストラテジーを最適化した後に過剰学習が発生する可能性の程度を測定するために、純粋なMQL5における組合せ対称交差検証法の実装を紹介します。
preview
母集団最適化アルゴリズム:Mind Evolutionary Computation (MEC)アルゴリズム

母集団最適化アルゴリズム:Mind Evolutionary Computation (MEC)アルゴリズム

この記事では、Simple Mind Evolutionary Computation(Simple MEC, SMEC)アルゴリズムと呼ばれる、MECファミリーのアルゴリズムを考察します。このアルゴリズムは、そのアイデアの美しさと実装の容易さで際立っています。
preview
MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第3回):銘柄名のプレフィックスおよび/またはサフィックスと取引時間セッションを追加しました

MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第3回):銘柄名のプレフィックスおよび/またはサフィックスと取引時間セッションを追加しました

数人のトレーダー仲間から、プレフィックスやサフィックスを持つ銘柄名を持つブローカーでこの多通貨EAを使用する方法、およびこの多通貨EAで取引タイムゾーンや取引タイムセッションを実装する方法についてメールやコメントをいただきました。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第4回)

MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第4回)

この記事は、MQTTプロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の第4回です。このセクションでは、MQTT v5.0のプロパティとは何か、そのセマンティクス、いくつかのプロパティの読み方について説明し、プロトコルを拡張するためにプロパティをどのように使用できるかの簡単な例を示します。
preview
ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

ソフトウェア開発とMQL5におけるデザインパターン(第1回):生成パターン

繰り返し発生する問題の多くを解決するためには、使用できる方法があります。これらの方法の使い方を理解すれば、ソフトウェアを効果的に作成し、DRY (Do not Repeat Yourself)の概念を適用するのに非常に役立ちます。この文脈では、デザインパターンのトピックが非常に役に立ちます。なぜなら、デザインパターンは、よく説明され、繰り返される問題に対する解決策を提供するパターンだからです。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第3部):トレンド指標

この参考記事では、トレンド指標カテゴリから標準的な指標を取り上げます。パラメータの宣言と設定、指標の初期化と解除、EAの指標バッファからのデータとシグナルの受信など、EAで指標を使用するためのすぐに使えるテンプレートを作成します。
preview
母集団最適化アルゴリズム:Shuffled Frog-Leaping (SFL) アルゴリズム

母集団最適化アルゴリズム:Shuffled Frog-Leaping (SFL) アルゴリズム

本稿では、Shuffled Frog-Leaping (SFL)アルゴリズムの詳細な説明と、最適化問題を解く上でのその能力を紹介します。SFLアルゴリズムは、自然環境におけるカエルの行動から着想を得ており、関数最適化への新しいアプローチを提供します。SFLアルゴリズムは、効率的で柔軟なツールであり、様々な種類のデータを処理し、最適解を得ることができます。
preview
ニューラルネットワークが簡単に(第58回):Decision Transformer (DT)

ニューラルネットワークが簡単に(第58回):Decision Transformer (DT)

強化学習の手法を引き続き検討します。この記事では、一連の行動を構築するパラダイムでエージェントの方策を考慮する、少し異なるアルゴリズムに焦点を当てます。
preview
データサイエンスと機械学習(第15回):SVM、すべてのトレーダーのツールボックスの必須ツール

データサイエンスと機械学習(第15回):SVM、すべてのトレーダーのツールボックスの必須ツール

取引の未来を形作るサポートベクターマシン(SVM)の不可欠な役割をご覧ください。この包括的なガイドブックでは、SVMがどのように取引戦略を向上させ、意思決定を強化し、金融市場における新たな機会を解き放つことができるかを探求しています。実際のアプリケーション、ステップバイステップのチュートリアル、専門家の洞察でSVMの世界に飛び込みましょう。現代の複雑な取引をナビゲートするのに不可欠なツールを装備してください。SVMはすべてのトレーダーのツールボックスの必需品です。
preview
ビジュアルプログラミング言語DRAKON:MQL開発者と顧客のコミュニケーションツール

ビジュアルプログラミング言語DRAKON:MQL開発者と顧客のコミュニケーションツール

DRAKONは、ロシアの宇宙プロジェクト(例えば、「Buran」再利用可能宇宙船プロジェクト)のプログラマーと、異なる分野の専門家(生物学者、物理学者、エンジニアなど)との対話を簡素化するために設計されたビジュアルプログラミング言語です。この記事では、DRAKONが、コードに触れたことがない人にとっても、アルゴリズムの作成にアクセスしやすく、直感的にし、また、顧客が取引ロボットを注文する際に自分の考えを説明しやすくし、複雑な関数でプログラマーのミスを少なくする方法についてお話します。
preview
ペアトレード

ペアトレード

本稿では、ペアトレードについて、その原理は何か、実用化の見込みはあるのかを考えてみたいと思います。また、ペアトレード戦略にも挑戦します。
preview
MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第2回)

MetaTrader 5用のMQTTクライアントの開発:TDDアプローチ(第2回)

この記事は、MQTTプロトコルのネイティブMQL5クライアントの開発ステップを説明する連載の一部です。今回は、コードの構成、最初のヘッダーファイルとクラス、そしてテストの書き方について説明します。この記事には、テスト駆動開発(Test-Driven-Development)の実践と、それをこのプロジェクトにどのように適用しているかについての簡単なメモも含まれています。
preview
ニューラルネットワークが簡単に(第57回):Stochastic Marginal Actor-Critic (SMAC)

ニューラルネットワークが簡単に(第57回):Stochastic Marginal Actor-Critic (SMAC)

今回は、かなり新しいStochastic Marginal Actor-Critic (SMAC)アルゴリズムを検討します。このアルゴリズムは、エントロピー最大化の枠組みの中で潜在変数方策を構築することができます。
preview
MQL5のALGLIB数値解析ライブラリ

MQL5のALGLIB数値解析ライブラリ

この記事では、ALGLIB3.19数値分析ライブラリ、その応用、金融データ分析の効率を向上させる新しいアルゴリズムについて簡単に説明します。
preview
エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第2部):出来高指標とビルウィリアムズの指標

エキスパートアドバイザー(EA)に指標を追加するための既製のテンプレート(第2部):出来高指標とビルウィリアムズの指標

この記事では、標準的な出来高指標とビルウィリアムズ指標のカテゴリについて見ていきます。パラメータの宣言と設定、指標の初期化と解除、EAの指標バッファからのデータとシグナルの受信など、EAで指標を使用するためのすぐに使えるテンプレートを作成します。
preview
時系列マイニング用データラベル(第3回):ラベルデータの利用例

時系列マイニング用データラベル(第3回):ラベルデータの利用例

この連載では、ほとんどの人工知能モデルに適合するデータを作成できる、いくつかの時系列のラベル付け方法を紹介します。ニーズに応じて的を絞ったデータのラベル付けをおこなうことで、訓練済みの人工知能モデルをより期待通りの設計に近づけ、モデルの精度を向上させ、さらにはモデルの質的飛躍を助けることができます。