データの交換方法:10分で書くMQL5のためのDLL
データの交換方法:10分で書くMQL5のためのDLL
シンプルなDLLを書く方法や異なるシステム バインディングの特殊機能は何かを覚えている開発者はあまりいないと思います。いくつか例を挙げながら、10分でDLLを書く手順を網羅するとともに、バインディング実装の技術的詳細もいくらか説明していきたいと思います。異なるタイプの変数(数値、配列、ストリングなど)に置き換えた例を取り上げ、ビジュアル スタジオでDLLを作成する手順を段階的にお見せしていきます。それに加え、カスタムDLLのクラッシュからクライアント端末を保護する方法についてもご説明します。
MetaTrader 5とMATLABの連携
MetaTrader 5とMATLABの連携
本稿はMetaTrader 5とMatLab数学的パッケージの連携について詳しく述べていきます。それは、データ変換のメカニズム、デスクトップMatLabとの連携のためのユニバーサルライブラリの開発手順をさします。またMatLab環境で生成されるDLLの使用についても述べていきます。本稿は C++ 言語とMQL5をご存じの経験者を対象としています。
MQL5 コードの保護:パスワード保護、キージェネレータ、時間制限、リモートライセンス、高度 EA ライセンスキー暗号化技術
MQL5 コードの保護:パスワード保護、キージェネレータ、時間制限、リモートライセンス、高度 EA ライセンスキー暗号化技術
開発者のほとんどは自分の書いたコードの保護を必要としています。本稿は MQL5 ソフトウェアを保護するいくつかの異なる方法を紹介します。 - MQL5 スクリプト、Expert Advisors、インディケータに対しライセンス機能を提供する手法を紹介します。パスワード保護、キージェネレータ、アカウントライセンス、時間制限判定、MQL5-RPC 呼び出しを使用するリモート保護も取り上げます。
テクニカルインディケータとデジタルフィルター
テクニカルインディケータとデジタルフィルター
本稿ではデジタルフィルターとしてテクニカルインディケータを取り上げます。デジタルフィルターの処理原則と基本特性が説明されます。また、MetaTrader 5 ターミナルでフィルターカーネルを受け取る実用的な方法と記事 "Building a Spectrum Analyzer" で提案されている既製のスペクトル解析機能との統合について考察します。例として典型的デジタルフィルターのパルスとスペクトル特性を使用します。
可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ
可視化の可能性 Rのプロットに似たMQL5のグラフィックス ライブラリ
トレードロジックを勉強する際、チャートの視覚的な表現は非常に重要です。科学分野で人気のある数々のプログラミング言語 (R や Python など) は可視化のための関数”プロット”があります。これらは視覚化するために、線、点の分布、ヒストグラムなどを描くことができます。MQL5でも、CGraphics クラスを使用して、同じことができます。
UML ツールを用いたExpert Advisorの開発方法
UML ツールを用いたExpert Advisorの開発方法
本稿では UML グラフィカル言語を用いたExpert Advisorの開発方法についてお話します。そのツールはオブジェクト指向のソフトウェアシステムのビジュアルモデル化に使用されるものです。この方法のおもなメリットはモデル化プロセスの可視化です。本稿には Software Ideas Modelerを使用したExpert Advisorの ストラクチャとプロパティのモデル化を示す例が含まれています。
MQL5 エキスパートアドバイザーから、GSMモデムを使用する
MQL5 エキスパートアドバイザーから、GSMモデムを使用する
現在、トレーディングのアカウントを監視する手段がたくさんあります:モバイルターミナルはICQを用い、プッシュ通知を行います。しかし、すべてインターネットの接続を必要とします。この記事は、特に呼び出しやテキストメッセージはできるが、モバイルのインターネットを使用できないような時にトレーディングターミナルの情報を取得できるようになるエキスパートアドバイザーを作成するプロセスを紹介します。
計算用OpenCL のインストール方法と使用法
計算用OpenCL のインストール方法と使用法
MQL5 が OpenCLに対するネイティブサポートを開始して1年以上経過しました。とはいうものの、Expert Advisors、インディケータ、スクリプトで並列計算を行うことの真の価値を解っているユーザーは多くありません。本稿はみなさんが MetaTrader 5 トレーディングターミナルでこの技術を使ってみることができるようにお手持ちのコンピュータに OpenCL をインストールしセットアップするお手伝いをいたします。
MQL5の電子テーブル
MQL5の電子テーブル
本稿では、第一ディメンションに異なるタイプのデータを含む動的二次元配列クラスについて述べていきます。テーブル形式でデータを格納すると、整理の幅広い問題を解決し、異なるタイプの広範囲におよぶ情報を格納および処理するのに好都合です。テーブルに連携する機能性を実装するクラスのソースコードは本稿に添付があります。
DLLを使用せず、名前のつけられたパイプを使っての MetaTrader 5との通信
DLLを使用せず、名前のつけられたパイプを使っての MetaTrader 5との通信
多くの開発者が同じ課題に出会います。安全性の低い DLL を使わずトレーディングターミナルのサンドボックスを手に入れる方法です。もっとも簡単で安全な方法の一つは、通常のファイル処理で動作する標準的な「名前付きパイプ」を使用することです。名前付きパイプにより、プロセッサ内でプログラム間のクライアントサーバー通信を行うことができます。サーバー、クライアント、それらの間のデータ交換、パフォーマンスのベンチマークを含んだ C++ 言語および MQL5 での実用例を見ていきます。
OpenCL:パラレルワールドへの橋渡し
OpenCL:パラレルワールドへの橋渡し
2012年1月下旬、MetaTrader 5の開発を支援するソフトウェア開発企業はMQL5でのOpenCLのネイティブサポートを発表しました。本稿では解説例を用いてMQL5 環境におけるOpenCL のプログラミング基礎を記述し、処理スピードを上げるプログラムのシンプルな最適化例を提供します。
DelphiでDLLをMQL5向けに書くためのガイド
DelphiでDLLをMQL5向けに書くためのガイド
本稿は、人気のプログラム言語ObjectPascalを使用しDelphiプログラム環境でDLLモジュールの作成メカニズムを検証します。本稿で使用している資料は、まずは問題を抱えたプログラム初心者用に考えられでおります。外部DLLに接続することでMQL5プログラム言語に埋め込まれた境界を破ります。
名前つきパイプを使用したMetaTrader 5端末間コミュニケーションにDLLを使用しないソリューション
名前つきパイプを使用したMetaTrader 5端末間コミュニケーションにDLLを使用しないソリューション
本稿は名前つきパイプを使用したMetaTrader 5端末同士のプロセス間コミュニケーションの実装方法について述べていきます。名前付きパイプを使用するにはCNamedPipesクラスが作成されます。 その使用検証と接続計測のために、ティックインディケータ、サーバー、クライアントスクリプトが提供されます。リアルタイムのクオートには名前付きパイプの使用で十分です。
自動売買システム作成にたいする新手法としてのオートマタ準拠プログラミング
自動売買システム作成にたいする新手法としてのオートマタ準拠プログラミング
本稿は MQL4 および MQL5で EA、インディケータ、スクリプトを作成するまったく新しい方向にわれわれを導きます。将来、このプログラミングパラダイムが EAを実装するすべてのトレーダーにとってしだいに基本となり標準となることでしょう。オートマタ準拠プログラミングパラダイムを使用することで MQL5 および MetaTrader 5 の開発者は新しい言語MQL6、そして新しいプラットフォームMetaTrader 6を作成に近づくのです。
MQL5ソースコードに基づくドキュメントの作成
MQL5ソースコードに基づくドキュメントの作成
本稿では、必要なタグの自動マークアップから始まるMQL5コードのドキュメントの作成について考察し、Doxygenソフトウェアの使い方と正しい設定の仕方、html、HtmlHelp、PDFなどのさまざまな形式で結果を受け取る方法についても説明します。
アンマネージドのエクスポートを使用した MQL5へのC#コードのエクスポーズ
アンマネージドのエクスポートを使用した MQL5へのC#コードのエクスポーズ
本稿ではMQL5 コードとマネージドの C# 間の異なる連携手法を提供します。またC# に対してMQL5を整理する方法および MQL5 スクリプト内にてエクスポートされたDLL関数を呼びだす方法例も提供します。ここでお話する例がマネージドのコードで DLLを書くことに関する将来的な研究の基になると信じています。本稿はまたすでにC#で実装されている多くのライブラリを使用するために MetaTrader にドアを開けるものです。
MQL5 標準ライブラリの拡張とコードの再利用
MQL5 標準ライブラリの拡張とコードの再利用
MQL5 標準ライブラリによってみなさんの開発者としての生活は楽になります。しかしながらそれは世界中の開発者全員のすべてのニーズを実装するわけではありません。よってみなさんがカスタム的なものをもっと必要とするなら一歩先へすすんで拡張することができます。本稿は MetaQuotesの Zig-Zag テクニカルインディケータを標準ライブラリに統合する方法をご紹介します。私達はMetaQuotes の設計哲学により自分自身の目標を達成しようという気持ちになります。
OpenCL: ネィティブから、より洞察力のあるプログラミングへ
OpenCL: ネィティブから、より洞察力のあるプログラミングへ
この記事は、少なくともOpenCLカー熱の実行されるハードウェアについて考察されている際に、最適化能力の可能性について焦点を当てています。取得された図形は、天井に着く値とは程遠いですが、既存のリソースをここに持っておくべきであるとしています(ターミナルの開発者に実行されるOpenCL APIは、ワークグループのサイズなど、最適化に重要なパラメーターを管理することを可能にしていません。)ホストプログラムの実行中に取得されたパフォーマンスはとても重要です。
ディープニューラルネットワーク(その3)サンプル選択と次元削減
ディープニューラルネットワーク(その3)サンプル選択と次元削減
本稿は、ディープニューラルネットワークに関する一連の記事の続きです。ここでは、ニューラルネットワークの訓練データの準備に当たってのサンプルの選択(ノイズ除去)、入力データの次元数の削減、及びデータセットの訓練/検証/テストセットへの分割を検討します。
トレーダーの為の正規表現
トレーダーの為の正規表現
正規表現(英語ではregular expressions) とは、正規表現のパターンやマスクと呼ばれる指定されたルールに従ったテキストを処理する為の特別な言語です。この記事では、MQL5のRegularExpressionsライブラリを使用した取引レポートの処理をご紹介し、それを使った最適化結果をデモンストレーションします。
クロスプラットフォームEA: オーダーマネージャ
クロスプラットフォームEA: オーダーマネージャ
この記事では、クロスプラットフォームEAのオーダーマネージャの作成について説明します。 オーダーマネージャは、EAによってエントリーされたオーダーと決済、および両方で独立した記録を保持します。
HedgeTerminalAPIを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート2
HedgeTerminalAPIを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う - パート2
本稿ではポジションヘッジへの新しいアプローチについて述べ、本件に関する MetaTrader 4 および MetaTrader 5 のユーザー間のディベートに一線を画します。これは『HedgeTerminalパネルを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う-パート1』の続編です。パート2ではカスタム Expert Advisors のHedgeTerminalAPIへの統合についてお話します。これは便利なポジション管理のためのツールを提供する快適なソフトウェア環境における双方向トレードを行うための特別な可視化ライブラリです。
MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能
MetaTrader 4でMQL5ウィザードの既製エキスパートアドバイザーが機能
本稿ではMetaTrader 4のためのMetaTrader 5取引環境の簡単なエミュレータについてお話しします。このエミュレータは標準ライブラリの取引クラスの移行と調整を実装するものです。その結果、MetaTrader 5ウィザードで生成されたエキスパートアドバイザーは、そのままMetaTrader 4でコンパイルして実行することができます。
市場分析のための実践的なデーターベースの活用
市場分析のための実践的なデーターベースの活用
データを扱うことは、現代のソフトウェアのメインの業務となっています。これは、スタンドアロン系、ネットワーク系のアプリ双方において言えることです。この問題を解決するために、特別なソフトウェアが開発されました。それは、データベース管理システム(DBMS)です。コンピューター内ストレージや、その処理においてデータを整理し、構築します。トレーディングにおいて、多くの分析はデータベースを使用しません。しかし、ソリューションがより便利になる必要のある業務があります。この記事では、クライアントサーバー、ファイルサーバー構造の両方において、データベースからデータをロードし、保存できるインジケーターの例を紹介します。
クロスプラットフォームEA: タイムフィルタ
クロスプラットフォームEA: タイムフィルタ
この記事では、クロスプラットフォームEAによるさまざまな時間フィルタリングメソッドの実装について説明します。 時間フィルタクラスは、特定の時間が一定の時間構成設定に該当するかどうかをチェックします。
SQL と MQL5:SQLite データベースとの連携
SQL と MQL5:SQLite データベースとの連携
本稿はご自身のプロジェクトで SQL を利用することに興味のある開発者を対象としています。ここではSQLite の機能性とメリットについて説明します。SQLite の特別な知識は必要ありませんが、SQL の最小限の知識があれば役に立つと思います。
MQL5 (MQL4)から MySQL データベースにアクセスする方法
MQL5 (MQL4)から MySQL データベースにアクセスする方法
本稿はMQL と MySQLデータベース間のインターフェース作成について説明します。また、既存の実用的ソリューションについて話し、データベースと連携するライブラリのより便利な実装方法を提供します。関数の詳細記述、インターフェースの構成、MySQLと連携する特別な機能を取り上げます。ソフトウェアソリューションについては、本稿の添付に動的ライブラリ、ドキュメンテーション、MQL4 および MQL5 言語のスクリプト例があります。
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
MQL5 ウィザード:計算された価格での発注、ストップロスおよびテイクプロフィット設定標準ライブラリ拡張
本稿は MQL5 標準ライブラリの拡張について説明します。それは MQL5 ウィザードを用いてインクルードされたモジュールから受信する価格によって Expert Advisors を作成し、発注し、ストップロスおよびテイクプロフィットを設定することを可能にするものです。この方法はモジュール数に追加の制限は何も設けず、その連携動作において競合が発生することはありません。
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする
ソーシャルテクノロジースタートアップの構築 パート1: MetaTrader 5 シグナルをツイートする
今日は MetaTrader 5 ターミナルを Twitter とリンクする方法を学習し、EA のトレードシグナルをツイートできるようにします。RESTful ウェブサービスに基づく PHP にソーシャルディシジョン支援システムを作成します。この考えはコンピュータ援用取引と呼ばれる自動トレーディングの特定の概念からきています。われわれは 別の方法でExpert Advisors によって自動でマーケットに出されるトレードシグナルをフィルターにかける人間のトレーダーの認知能力を欲しています。
ターミナル間のデータ交換にクラウドストレージサービスを使用
ターミナル間のデータ交換にクラウドストレージサービスを使用
クラウド技術の普及が進んでいます。 今日では、有料と無料のストレージサービスから選択することができます。 トレードで使用することは可能でしょうか? 本稿では, クラウドストレージサービスを利用してターミナル間でのデータ交換を行う技術を提案します。
エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム
エキスパートアドバイザの自己最適化:進化的遺伝的アルゴリズム
この記事では、進化的アルゴリズムにある主要な原理と、その多様性および特徴について検証します。実験を使用した簡単なエキスパートアドバイザの例では、最適化が私達の取引システムに何をもたらすかを見ていきます。遺伝的、進化的、またその他のタイプの最適化を実装するプログラムのセットを検証し、取引システムのパラメータの最適化や予測変数のセットの最適化時の適用例をご紹介します。
ユニバーサルEA: シンボルプロパティへのアクセス (その 8)
ユニバーサルEA: シンボルプロパティへのアクセス (その 8)
このテーマの8番目のパートは、任意のトレーディングツールへアクセスする特殊なオブジェクト CSymbol クラスの説明をします。 EAで使用する場合、このクラスはEAのプログラミングを簡素化し、その関数を拡張することができ、シンボルプロパティのセットを提供します。
ディープニューラルネットワーク(その1)データの準備
ディープニューラルネットワーク(その1)データの準備
この一連の記事では、取引を含んだ多くの分野で応用されているディープニューラルネットワーク(DNN)の探索を続けます。ここでは、実践的な実験によって新しい方法や概念をテストするとともにこのテーマの新しい次元を探求する予定です。シリーズの最初の記事は、DNNのデータを準備することを目的としています。
MetaTrader 5 から MetaTrader 4へトレードをコピーする方法
MetaTrader 5 から MetaTrader 4へトレードをコピーする方法
今日MetaTrader 5 の実アカウントでトレードすることはできますか?そのようなトレードをどうやって行いますか?本稿はこういった疑問に対する見解およびMetaTrader 5 ターミナルから MetaTrader 4ターミナルへトレードをコピーするためのワーキングコードを提供します。本稿は Expert Advisors の開発者、実践的トレーダー双方に役立つものです。
GUIのレイアウトとコンテナの使用: CBoxクラス
GUIのレイアウトとコンテナの使用: CBoxクラス
この記事は、CBoxクラスによるレイアウトマネージャーを使って、レイアウトとコンテナに基づくGUIの生成の代替手法について取り扱います。CBoxクラスは、GUIパネルの必要不可欠なコンテナとして機能する補助コントロールです。グラフィカルパネルのデザインを容易にし、ときとして、コーディングの時間を割きます。