거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Telegram에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
라이브러리

CFastFile - 바이트 배열을 파일로 작업하기 위한 클래스 - MetaTrader 5용 라이브러리

조회수:
28
평가:
(40)
게시됨:
\MQL5\Include\
FastFile.mqh (13.95 KB) 조회
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

CFastFile 클래스를 사용하면 디스크의 실제 파일에 데이터를 중간에서 쓸 필요가 없습니다. 따라서 데이터 작업 시 상당한 가속을 얻을 수 있습니다.

FileWriteXXX/FileReadXXX 제품군의 모든 기본 함수는 이 클래스에서 구현됩니다. 즉, 프로그램의 로직과 코드를 변경하지 않고도 물리적 파일 사용에서 메모리 내 이미지로 빠르게 작업하는 것으로 쉽게 전환할 수 있습니다. 데이터 저장 및 읽기는 실제 물리적 파일 대신 uchar-array로 수행됩니다.

구현된 함수 목록:

    CFastFile(uchar &data[]);          // 배열에서 파일 데이터를 초기화하는 생성자

    void Clear();                        // 파일 지우기
   
    파일 속성 작업을 위한 함수 //---
    void Delim(uchar delim=';');        // CSV 모드에서 데이터 구분 기호 설정하기
    int Size();                        // 파일 크기 가져오기
    int Tell();                        // 현재 포인터 위치 가져오기
    void Seek(int offset, int origin);  // 포인터 위치 이동
    bool IsEnding();                   // 파일 끝에 도달했는지 확인합니다.
    bool IsLineEnding();                // 문자열의 끝에 도달했는지 확인합니다.

    파일에 쓰기 위한 함수 //---
    uint WriteArray(uchar &src[], uint src_start=0, int src_cnt=WHOLE_ARRAY); // 바이트 배열 쓰기
    uint WriteDouble(double v);         // 숫자 기록
    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); // 숫자 쓰기 - FileWriteInteger와의 호환성을 위해.
    uint WriteString(string v, int cnt);        // 문자열을 작성합니다. cnt=-1은 \r\n이 추가된 CSV 기록 모드를 나타냅니다.
   
    파일에서 읽기 위한 함수 //---
    uint ReadArray(uchar &dst[], uint dst_start=0, int cnt=WHOLE_ARRAY); // 배열 읽기
    double ReadDouble();                // 번호 읽기
    float ReadFloat(); 
    long ReadLong();
    int ReadInt();
    short ReadShort();
    char ReadChar();
    int ReadInteger(int sz=INT_VALUE); // 숫자 읽기 - FileReadInteger와 전환의 호환성을 위해
    double ReadNumber(); //
    string ReadString(int cnt);        // 문자열을 읽습니다. cnt=-1은 구분 기호까지 CSV 읽기 모드를 나타냅니다.
   
    // 파일을 다른 소스에 저장하는 함수
    uint Save(uchar &v[]);    // 파일을 바이트 배열에 저장하기
    uint Save(int h);         // 디스크의 실제 파일에 파일을 저장합니다. h - 미리 열린 설명자
    uint Save(string file);   // 디스크의 실제 파일에 파일을 저장합니다. file - 디스크에 있는 파일 이름

    // 다른 소스에서 파일을 로드하는 함수
    uint Load(uchar &v[]);   // 바이트 배열에서 파일 읽기
    uint Load(int h);        // 디스크의 실제 파일에서 파일을 읽습니다. h - 미리 열린 설명자
    uint Load(string file);  // 디스크의 실제 파일에서 파일을 읽습니다. file - 디스크에 있는 파일 이름

보시다시피, 모든 함수는 터미널의 표준 파일 기능과 유사하게 명명되었습니다.

파일 사용에서 CFastFile로의 전환은 매우 간단합니다. 예를 들어 일반 파일(예: int h)을 열고 핸들을 가져오는 대신 CFastFile의 인스턴스를 생성하기만 하면 됩니다:

CFastFile f; 

그런 다음 코드에서 이 원칙에 따라 해당하는 모든 일반 파일 함수를 대체하면 됩니다:

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

일반 파일에 데이터를 편리하게 저장/읽을 수 있도록 저장/로드 함수가 추가되었습니다.

클래스 작동 데모가 포함된 스크립트가 포함되어 있습니다.


MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/845

WPRSIsignal 지표를 기반으로 한 거래 신호 모듈 WPRSIsignal 지표를 기반으로 한 거래 신호 모듈

MQL5 마법사용 거래 신호 모듈. 포지션 개설 신호는 WPRSIsignal 인디케이터의 컬러 화살표 모양입니다.

비래그닷 인디케이터 기반 트레이딩 신호 모듈 비래그닷 인디케이터 기반 트레이딩 신호 모듈

MQL5 마법사용 트레이딩 신호 모듈. 포지션 개시 신호는 비래그닷 인디케이터의 색상 변화입니다.

CVD (Cumulative Volume Delta) CVD (Cumulative Volume Delta)

MT5 - M1 기반 경량 CVD(누적 거래량 델타)는 매수/매도 압력을 캔들로 표시하며 리셋 옵션이 있습니다.

Local Timezones and Local Session Hours Local Timezones and Local Session Hours

클래스를 클릭하면 지정된 위치의 현지 시간과 시간대 정보 및 현지 트레이딩 세션 시간에 액세스할 수 있습니다.