- DatabaseOpen
- DatabaseClose
- DatabaseImport
- DatabaseExport
- DatabasePrint
- DatabaseTableExists
- DatabaseExecute
- DatabasePrepare
- DatabaseReset
- DatabaseBind
- DatabaseBindArray
- DatabaseRead
- DatabaseReadBind
- DatabaseFinalize
- DatabaseTransactionBegin
- DatabaseTransactionCommit
- DatabaseTransactionRollback
- DatabaseColumnsCount
- DatabaseColumnName
- DatabaseColumnType
- DatabaseColumnSize
- DatabaseColumnText
- DatabaseColumnInteger
- DatabaseColumnLong
- DatabaseColumnDouble
- DatabaseColumnBlob
데이터베이스로 작업
데이터베이스 작업을 위한 기능은 널리 사용되고 사용이 간편한 SQLite 엔진을 적용합니다. 이 엔진의 편리한 기능은 전체 데이터베이스가 사용자 PC 하드 디스크의 단일 파일에 있다는 것입니다.
이 기능을 사용하면 테이블을 편리하게 생성하고, 여기에 데이터를 추가하고 수정 및 샘플링을 단순 SQL 요청을 사용하여 수행할 수 있습니다:
- 모든 형식에서 거래 내역 및 시세 수신,
- 최적화 및 테스트 결과 저장,
- 다른 분석 패키지와 데이터 준비 및 교환,
- MQL5 애플리케이션 설정 및 상태를 저장.
데이터베이스 작업 기능을 사용하면 가장 반복적인 대용량 데이터 배열 처리 작업을 SQL 요청으로 대체할 수 있으므로 복잡한 루프 및 비교를 프로그래밍 하는 대신 DatabaseExecute/DatabasePrepare 호출을 사용할 수 있습니다. DatabaseReadBind 기능을 사용하여 조회 결과를 미리 작성된 구조로 손쉽게 얻을 수 있습니다. 이 기능을 통해 단일 통화 내에서 모든 기록 필드를 한 번에 읽을 수 있습니다.
읽기, 쓰기 및 수정을 가속화하기 위해 DATABASE_OPEN_MEMORY 플래그를 사용하여 RAM에서 데이터베이스를 열거나 생성할 수 있으며, 이러한 데이터베이스는 특정 애플리케이션에서만 사용할 수 있고 공유되지 않습니다. 하드 디스크에 위치한 데이터베이스로 작업할 때는 DatabaseTransactionBegin/DatabaseTransactionCommit/DatabaseTransactionRollback을 사용하여 대량 데이터 삽입/변경 사항을 트랜잭션으로 묶어야 합니다. 이는 프로세스를 수백 번 가속화됩니다.
이 기능을 사용하려면 SQLite: MQL5의 SQL 데이터베이스 네이티브 처리 문서를 참조하십시오.
기능 |
동작 |
---|---|
지정된 파일에 데이터베이스를 열거나 생성 |
|
데이터베이스를 닫기 |
|
파일에서 테이블로 데이터 가져오기 |
|
테이블 또는 SQL 요청 실행 결과를 CSV 파일로 내보내기 |
|
SQL 요청 실행 결과를 엑스퍼트 저널에 인쇄 |
|
데이터베이스에 테이블이 있는지 확인 |
|
지정된 데이터베이스에 대한 요청을 실행 |
|
DatabaseRead()를 사용하여 실행할 수 있는 요청 핸들을 생성 |
|
DatabasePrepare()를 호출한 후와 같이 요청을 재설정 |
|
요청에 매개변수 값을 설정 |
|
배열을 매개변수 값을 설정 |
|
요청 결과로 다음 항목으로 이동 |
|
다음 기록으로 이동하여 기록에서 구조물로 데이터를 읽기 |
|
DatabasePrepare()에서 생성된 요청을 제거 |
|
트랜잭션 실행 시작 |
|
트랜잭션 실행 완료 |
|
트랜잭션을 롤백 |
|
요청의 필드 수를 가져오기 |
|
인덱스별로 필드 이름을 가져오기 |
|
인덱스별 필드 유형을 가져오기 |
|
필드 크기(바이트)를 가져오기 |
|
현재 기록에서 문자열로 필드 값을 가져오기 |
|
현재 기록에서 int 유형 값을 가져오기 |
|
현재 기록에서 long 유형 값을 가져오기 |
|
현재 기록에서 double 유형 값을 가져오기 |
|
현재 기록에서 배열로 필드 값을 가져오기 |