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

CFastFile - 仮想ファイルとしてuchar配列を扱うためのクラス - MetaTrader 5のためのライブラリ

ビュー:
719
評価:
(38)
パブリッシュ済み:
2016.06.10 13:19
アップデート済み:
2017.05.02 10:03
\MQL5\Scripts\ \MQL5\Include\
FastFile.mqh (13.95 KB) ビュー
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

CFastFileは、ディスク上の物理ファイルへのデータの中間書き込みの必要性を排除します。データの取り扱いは大幅に加速されます。

これは、標準のFileWriteXXX/FileReadXXX関数に似た関数を持っています。よって、物理的なファイルの使用からメモリ内の「仮想」ファイルの高速作業への移行は簡単です。データストレージおよび読み取り/書き込みは物理的なファイルの代わりにuchar配列の使用に基づいています。

関数のリストは下記の通りです。

    CFastFile(uchar &data[]);          // 配列からのファイルデータの初期化を持つコンストラクタ

    void Clear();                         // ファイルをクリアする
   
    //--- プロパティ操作の関数
    void Delim(uchar delim=';');        // CSVモードでデリミタ(データの区切り)を設定する
    int Size();                        // ファイルサイズを取得する
    int Tell();                        // 現在位置を取得する
    void Seek(int offset, int origin);  // 検索
    bool IsEnding();                   // ファイルの最後(EOF)のチェック
    bool IsLineEnding();                 // 行の最後のチェック

    //--- ファイルにデータを書き込むための関数
    uint WriteArray(uchar &src[], uint src_start=0, int src_cnt=WHOLE_ARRAY); // uchar配列を書き込む
    uint WriteDouble(double v);          // doubleを書き込む
    uint WriteFloat(float v);
    uint WriteLong(long v);
    uint WriteInt(int v);
    uint WriteShort(short v);
    uint WriteChar(char v);
    uint WriteInteger(int v, int sz=INT_VALUE); // integerを書き込む - 標準のFileWriteIntegerとの互換性
    uint WriteString(string v, int cnt);        // stringを書き込む。 cnt=-1はCSVモードを意味し \r\nが追加される
   
    //--- ファイル読み込みの関数
    uint ReadArray(uchar &dst[], uint dst_start=0, int cnt=WHOLE_ARRAY); //  配列を読み込む
    double ReadDouble();                 // doubleを読み込む
    float ReadFloat(); 
    long ReadLong();
    int ReadInt();
    short ReadShort();
    char ReadChar();
    int ReadInteger(int sz=INT_VALUE); // integerを読み込む - 標準のFileReadIntegerとの互換性
    double ReadNumber(); //
    string ReadString(int cnt);         stringを読み込む。cnt=-1 はCSVモードを意味し、デリミタ(データの区切り)までが読み込まれる
   
    //--- データ保存関数
    uint Save(uchar &v[]);     // ファイルをuchar配列に格納する
    uint Save(int h);         // ファイルを本当のディスクファイルに格納するh - ファイルハンドル(ファイルは開かれている必要がある)
    uint Save(string file);    // ファイルを本当のディスクファイルに格納する
file - ファイル名

    //--- データ読み込みの関数
    uint Load(uchar &v[]);   // ファイルをuchar配列から読み込む
    uint Load(int h);         // データを本当のディスクファイルから読み込むh - ファイルハンドル(ファイルは開かれている必要がある)
    uint Load(string file);  // データを本当のディスクファイルから読み込むfile - ファイル名

関数は標準的なファイル操作関数と似た名前を持つことにお気づきかと思います。

物理的なファイルからCFastFileへの移行はごく簡単です。ファイルを開いてハンドル(例えばint h)を取得する代わりに

CFastFile f; 

のようにCFastFileクラスインスタンスを作成します。次に従来のファイル関数を次の規則に従って変換します。

FileWriteDouble(h, 10)  ->  f.WriteDouble(10)

便宜上Save/Load関数が追加されており「仮想」ファイルデータの物理的なディスクファイルでの save/loadが可能です。

CFastFileクラスの実証の例が含まれています。


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

WPRSIsignal指標に基づいた取引シグナルモジュール WPRSIsignal指標に基づいた取引シグナルモジュール

MQL5 ウィザードで使用するための取引シグナルモジュールWPRSIsignal指標の色付きの点は市場参入シグナルとして使われます。

SuperTrend指標に基づいた取引シグナルモジュール SuperTrend指標に基づいた取引シグナルモジュール

MQL5 ウィザードで使用するための取引シグナルモジュールSuperTrend指標の色付きの点は市場参入シグナルとして使われます。

ボリンジャーチャネルの価格 ボリンジャーチャネルの価格

この指標は、(別のウィンドウで)移動平均線と価格バーの投影に相対するボリンジャーバンドを描画します。

EAX_Mysql - MySQLライブラリ EAX_Mysql - MySQLライブラリ

このライブラリはMySQLと容易にインタフェースすることができます。