無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
ライブラリ

メモリマッピング - MetaTrader 5のためのライブラリ

ビュー:
1117
評価:
(36)
パブリッシュ済み:
2016.06.10 12:39
アップデート済み:
2016.11.22 07:34
memmap32.zip (754.96 KB)
memmapdll.zip (29.22 KB)
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

このプロジェクト (Visual C++ 2010) はCMemMapApi и CMemMapFileの2クラスを含みます。

これらはメモリマップファイルを扱うために設計されました。下記が可能です。

  • メモリ内でファイルを作成する。
  • メモリマップされたファイルにデータを書き、それからデータを読み込む。
  • それはMetaTrader 4とМetaТrader5などのアプリケーション間でデータを交換する機会を提供します。
メモリマップファイルを使用するとデータ交換で素晴らしいパフォーマンスを達成することができます。

主なアプリケーションは、データの交換です。
  • 一台のPC上での複数の端末のための取引のコピー
  • 裁定エキスパートアドバイザーなどのための相場データ交換

メモリマップファイルは、エキスパートアドバイザーの一時的なデータサーブのために使用することができます。
CMemMapApiクラスは単なるWinApi関数のラッパーです。これがCMemMapFileとCMemMapApiの違いです。

CMemMapFileはファイル名、ファイルハンドルを提供し、ファイルサイズのチェックを制御するので有用です。 これとは対照的に、CMemMapApi クラスはいくつかのメモリマップファイルを扱うことができます。

現在のプロジェクトではエクスポートされたDLL関数は、いくつかのメモリマップファイルを操作するためにCMemMapApiで構成されています。
CMemMapFileクラスは、他のC++プロジェクト内のメモリマップファイルを操作するために設計されています。

エクスポートされた関数は次の通りです。
//--- メモリマップファイルを開くまたは作成し、値を返す。
int MemOpen(string path,int size,int mode,int &err[]);
//--- メモリマップファイルを閉じる
void MemClose(int hmem);             
//--- メモryマップファイルのサイズを増やす
int MemGrows(int hmem,string path,int newsize,int &err[]);
//--- メモリマップファイルのサイズを返す
int MemGetSize(int hmem, int &err[]);
//--- メモリマップファイルのサイズを設定する
int MemSetSize(int hmem, int size, int &err[]);
//--- メモリマップファイルの位置posから始まってVベクトル(sizeバイト)を書き込む
int MemWrite(int hmem,int &v[], int pos, int size, int &err[]);       
//--- メモリマップファイルの位置posから始まってVベクトル(sizeバイト)を読む
int MemRead(int hmem, int &v[], int pos, int size, int &err[]);
//--- メモリマップファイルの位置posから始まって文字列(sizeバイト)を書き込む
int MemWriteStr(int hmem, string buf, int pos, int size, int &err[]);
//--- メモリマップファイルの位置posから始まって文字列(sizeバイト)を読む
int MemReadStr(int hmem, string buf, int pos, int &size, int &err[]);


DLLの使用例: 相場モニタリング(メモリマップファイル)

12.03. 2012:MemWriteStrのエラーの修正


MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/816

StopOutPrice StopOutPrice

このスクリプトは、ポジションのストップアウト価格(ポジションはこの価格でブローカーによって決済されます)とフリーマージンがマイナスになる際の価格(ロックアウト価格)計算します。

ピボットポイント ピボットポイント

クラシックピボットポイント指標はピボットポイントとすべてのデータポイントのための3つのレジスタンスとサポートのレベルを描画します。

相場モニタリング(メモリマップファイル) 相場モニタリング(メモリマップファイル)

このエキスパートアドバイザーは、ファイルマッピング関数を使用するためのメモリマッピングDLLの使用例です。この例では、エキスパートアドバイザーは、仮想(メモリマップされた)ファイルを作成し銘柄の相場の更新を始めます。この方法を使用すると、エキスパートアドバイザーは、共通のメモリマップファイルを使用して(例えば相場の)データを交換することができます。

DLLなしでのファイルマッピング DLLなしでのファイルマッピング

メモリマッピングファイル操作のDLL (C++からMQL5に変換された) 。