기고글 토론 "SQLite: MQL5로 SQL 데이터베이스의 처리" - 페이지 11

 
Fernando Carreiro #:

하지만 제가 어디에서 찾을 수 있다고 말씀드린 곳이 바로 저기 아닌가요?

그렇다면 "%APPDATA%\MetaQuotes\Terminal\Common\Files"에서 찾을 수 있습니다.

하지만 어제 거기서 찾지 못했습니다. "signals.sqlite" 파일에만 구조가 있고 signals.dat 파일에 데이터가 있는 것 같습니다.

하지만 문서에
매개 변수

파일 이름

[in] "MQL5\Files" 폴더에 상대적인 파일 이름에 있습니다.

[삭제]  
Zbigniew Mirowski #:
당신이 맞았지만 어제 거기에서 그를 찾지 못했습니다. "signals.sqlite"파일에는 구조 만 있고 signals.dat 파일에 데이터가 있다고 생각합니다.

아니요!"signals.dat" 는 내부 메타 트레이더 데이터 파일이며 SQLite와 관련이 없다고 이미 말씀 드렸습니다.

"signals.dat" 파일은 메타트레이더가 거래 신호 기능으로 검색할 수 있는 신호에 대한 정보를 저장하는 곳입니다 ...

코드 베이스

모든 MT5 신호의 속성을 CSV 파일에 나열하기

페르난도 카레이로, 2022.04.21 15:14

이 간단한 스크립트 코드는 MQL5 매매신호 기능에서 보고된 모든 신호의 속성을 CSV 파일로 출력합니다.

Documentation on MQL5: Trade Signals
Documentation on MQL5: Trade Signals
  • www.mql5.com
Trade Signals - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
[삭제]  
Zbigniew Mirowski #: 매개 변수, 파일 이름, [in] "MQL5\Files" 폴더에 상대적인 파일 이름입니다(
).

하지만 위치를 변경하는"DATABASE_OPEN_COMMON" 플래그를 사용했습니다. 따라서 일반 폴더에 저장하지 않으려면 이 플래그를 사용하지 마세요.

DATABASE_OPEN_COMMON

파일이 모든 터미널의 공통 폴더에 있습니다.

 
Fernando Carreiro #:

하지만 위치를 변경하는"DATABASE_OPEN_COMMON" 플래그를 사용했습니다. 따라서 일반 폴더에 저장하지 않으려면 이 플래그를 사용하지 마세요.

DATABASE_OPEN_COMMON

파일이 모든 터미널의 공통 폴더에 있습니다.

좋아, 나는 이해하고 signals.sqlite-wal에서 데이터를 찾습니다 :)))

도와주셔서 감사합니다)

[삭제]  
Zbigniew Mirowski #: 알겠습니다 그럼 데이터는 어디에 있나요? 업로드하고 확인을 받음 signals.sqlite 열림

CS 0 12:43:16.106 시그널바사 (EURUSD,H1) DB: 성공
데이터 로드 후 문서가 여전히 8KB로 데이터를 로드하고 받을 수 없습니다
2022.11.30 12:55:49.103 CreateDB (EURUSD,H1) DB: signals.sqlite opened
2022.11.30 12:55:49.103 CreateDB (EURUSD,H1) 0: 0,0,0.0,0.0

그러나 당신은 이미 파일을 찾았다고 말했습니다 ...

"와우, "signals.sqlite" C:\사용자\이름\앱데이터\로밍\메타쿼트\터미널\공통\파일" 파일을 찾았습니다."

그렇다면 무엇이 문제일까요?

"signals.sqlite" 파일에는 구조와 데이터가 모두 하나로 통합되어 있습니다. 메타에디터를 통해 파일을 열고 데이터를 직접 확인하세요 - SQL 데이터베이스로 작업하기 - 메타에디터 도움말

[삭제]  
Zbigniew Mirowski #: 좋아, 나는 이해하고 signals.sqlite-wal에서 데이터를 찾습니다 :))) 도와주셔서 감사합니다)

천만에요!

 

메타에디터에서 표시할 수 있는 데이터베이스 테이블의 최대 열 수는 23개에 불과합니다 .

이 제한을 제거할 수 있나요?

 
Anatoli Kazharski #:

메타에디터에서 표시할 수 있는 데이터베이스 테이블 열의 최대 개수는 23개에 불과합니다 .

이 제한을 제거할 수 있나요?

베타 3531에서 열을 64개로 늘려 수정되었습니다.
 
언젠가 어딘가에 작은따옴표와 큰따옴표에 대한 답변이 있었습니다. 문자 그대로는 아니지만 "큰따옴표로 오랫동안 작업해 왔습니다"라는 텍스트에 가깝습니다. 지금은 표 작업으로 돌아와서 큰따옴표로 묶은 텍스트를 표에 쓰려고 하면 실패합니다. 그러나 텍스트를 작은따옴표로 묶은 다음 큰따옴표로 묶으면 쓰기가 성공적으로 완료됩니다. 표에 텍스트를 쓸 때 작은따옴표와 큰따옴표의 올바른 규칙은 무엇인가요?
옵션 및 결과 :
성공 -
         AddTable_TstDate(i,
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iHigh(Symbol(),PERIOD_CURRENT,i),
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iLow(Symbol(),PERIOD_CURRENT,i),
                          IntegerToString(iTime(Symbol(),PERIOD_CURRENT,i)),
                          1121,
                          "'string_no_error'");

성공하지 못함 - 실패

         AddTable_TstDate(i,
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iHigh(Symbol(),PERIOD_CURRENT,i),
                          iTime(Symbol(),PERIOD_CURRENT,i),
                          iLow(Symbol(),PERIOD_CURRENT,i),
                          IntegerToString(iTime(Symbol(),PERIOD_CURRENT,i)),
                          1121,
                          "string_error");

정수를 문자열로 변환해도 테이블에 쓸 때 오류가 발생하지 않는다는 점을 지적하고 싶습니다.

 

개발자 여러분, 파일에서 기존 데이터베이스를 첨부할 수 없는 이유를 알려주세요(데이터베이스 첨부).

그렇다면 RAM에서 어떻게베이스를 첨부 할 수 있습니까?

코드를 첨부했습니다.

create_databases.mq5 스크립트는 데이터베이스를 만듭니다. attach_mem_db.mq5 스크립트는 RAM에서 데이터베이스를 연결합니다. 그러나 attach_other_db.mq5 스크립트는 기존 데이터베이스를 첨부하지 못합니다.