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

 
어느 폴더에서 찾을 수 있을까요? 시작 플래그를 주의 깊게 살펴보세요.
 
Rashid Umarov:
어느 폴더에서 찾을 수 있을까요? 열기 플래그를 주의 깊게 살펴보세요.

다음은 플래그입니다 - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);

MQL5/Files 패키지의 도움말에 따라 볼 수 있기를 기대합니다.

그러나 거기에는 아무것도 없습니다.

 
Rashid Umarov:
어느 폴더에서 찾을 수 있을까요? 시작 깃발을 자세히 살펴보세요.

제가 이 작업을 하는 영상을 만들었습니다. 뭔가 잘못되었을 수도 있습니다....



 
Tango_X:

플래그는 다음과 같습니다 - int db=DatabaseOpen(filename, DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE | DATABASE_OPEN_COMMON);

나는 MQL5 / 파일 패키지의 도움말에 따라 볼 것으로 기대합니다.

그러나 거기에는 아무것도 없습니다.

DATABASE_OPEN_COMMON은 원하는 위치에 있지 않습니다.


 
Alexey Viktorov:

DATABASE_OPEN_COMMON은 찾고 있는 위치에 없습니다.


감사합니다!

 

개발자 여러분, 좋은 하루 되세요!

저는 이 혁신의 모든 장점에 매료되어 MT5에서 SQLite를 사용하는 것을 매우 좋아합니다.1 ))))

1. 쿼리 내부에 JSON 함수에 대한 지원을 추가 할 수 있습니다. SQLite 측면에서이 기능은 꽤 오랫동안 구현되어 왔으며 다른 프로그램에서 적극적으로 사용하고 있습니다..., MT5에서 사용하고 싶습니다:

1.1 매우 편리하고 JSON 구문 분석 및 수집이 매우 빠르게 작동합니다.

1.2 타사 라이브러리를 사용하여 응답을 빌드하고 분해 할 필요가 없습니다.

1.3 데이터를 일괄적으로 저장하고 SQL 쿼리로 베이스 측에서 처리하는 기능

1.4 서버 응답이 변경되었거나 다른 경우에는 프로그램을 다시 컴파일하지 않고 SQL 쿼리를 변경하는 것으로 충분합니다.

이것은 장점의 일부일 뿐입니다... 현재 MT5의 구현에는 존재하지 않는 이전 버전의 SQLite가 MT5에 연결되어 있다고 가정합니다....

일반적으로 이것은 각 데이터 공급자가 자체 구조 등을 가지고 있는 다중 서버 시스템에서 대규모 프로젝트를 확장할 수 있는 많은 기회를 제공합니다.



2. 데이터베이스에서 쓰기 및 읽기 모두에 대한 일회성 액세스 주제에 대한 이전 게시물 읽기....

개인적으로 추천하고 사용하는 방법: PRAGMA journal_mode = WAL;

이것은 데이터베이스 다중 액세스와 관련된 많은 문제를 해결하고 SQLite의 심각성을 증가시킵니다 ...

2.1 프로젝트에 리소스로 첨부 된 SQL 코드가 포함 된 미리 준비된 텍스트 파일에서 데이터베이스를 생성하고 가변 문자열로 사용하는 것이 좋습니다.

2.2 모든 쿼리를 리소스 파일로 만드는 것도 편리하며 쿼리에서 데이터를 변경해야하는 경우 StringFormat...을 사용할 수 있습니다.


3. 각 대형 프로젝트에서 MT5와 SQLite 간의 현재 상호 작용 메커니즘을 사용하려고 시도하고 있으며 데이터 작업이 매우 편리해졌습니다, 큰 감사합니다!

 
Daniil Kurmyshev:

개발자 여러분, 안녕하세요!

저는이 혁신의 모든 장점에 침투하기 때문에 MT5에서 SQLite를 사용하는 것이 매우 마음에 듭니다.)

1. 쿼리 내부에 JSON 함수에 대한 지원을 추가 할 수 있습니다. SQLite 측면에서이 기능은 꽤 오랫동안 구현되어 왔으며 다른 프로그램에서 적극적으로 사용하고 있으며 MT5에서도 추가하고 싶습니다...:

1.1 매우 편리하고 JSON 구문 분석 및 수집이 매우 빠르게 작동합니다.

1.2 응답을 빌드하고 분해하기 위해 타사 라이브러리를 사용할 필요가 없습니다.

1.3 데이터를 일괄적으로 저장하고 SQL 쿼리를 통해 기본 측에서 처리하는 기능

1.4 서버 응답이 변경되었거나 다른 경우에는 프로그램을 다시 컴파일하지 않고 SQL 쿼리를 변경하는 것으로 충분합니다.

이것은 장점의 일부일 뿐입니다... 현재 MT5 용 구현에는없는 이전 버전의 SQLite가 MT5에 연결되어 있다고 가정합니다....

일반적으로 각 데이터 공급자가 자체 구조 등을 가지고있는 다중 서버 시스템에서 대규모 프로젝트를 확장 할 수있는 많은 기회를 제공합니다.



2. 데이터베이스에서 쓰기 및 읽기 모두에 대한 일회성 액세스 주제에 대한 이전 게시물을 읽었습니다....

개인적으로 추천하고 사용하는 방법: PRAGMA journal_mode = WAL;

이것은 데이터베이스에 대한 다중 액세스와 관련된 많은 문제를 해결하고 SQLite의 심각성을 증가시킵니다 ...

2.1 프로젝트에 리소스로 첨부 된 SQL 코드가 포함 된 미리 준비된 텍스트 파일에서 데이터베이스를 생성하고 가변 문자열로 사용하는 것이 좋습니다.

2.2 모든 쿼리를 리소스 파일로 만드는 것도 편리하며 쿼리의 데이터를 변경해야하는 경우 StringFormat...을 사용할 수 있습니다.


3. 각 대형 프로젝트에서 MT5와 SQLite 간의 현재 상호 작용 메커니즘을 사용하려고 시도하고 있으며 데이터 작업이 매우 편리해졌습니다, 큰 감사합니다!

물론 다른 스크립트에 데이터베이스에 동시에 액세스 할 수있는 가능성을 제공하는 것이 좋을 것입니다. 개발자들은 그것에 대해 생각하지 않았습니다 (((.

분명히 그들은 MQL5 도구를 더 이상 개발하고 싶지 않은 것 같습니다.

 
GEORGI ANIKIN:

다른 스크립트에 데이터베이스에 동시에 액세스할 수 있는 기능을 제공하면 좋을 것 같습니다. 개발자들이 생각하지 못했네요((

분명히 그들은 MQL5 도구를 더 이상 개발하고 싶지 않은 것 같습니다.

물론 그들은 그것에 대해 생각했습니다.

터미널 내부의 다른 스크립트에서 동일한 데이터베이스와 테이블에 액세스할 수 있습니다.

다음은 동시 작성자와 판독기의 예입니다. 다른 차트에서 실행해 보세요.

파일:
 
Renat Fatkhullin:

물론 그랬죠.

터미널 내부의 다른 스크립트에서 동일한 데이터베이스와 테이블에 액세스할 수 있습니다.

다음은 동시 작성기와 판독기의 예입니다. 다른 차트에서 실행해 보세요.

레나트, 안녕하세요!

적어도 가까운 시일 내에 데이터베이스에 JSON을 저장하고 작업할 수 있는 기능이 구현될 예정인지 알려주실 수 있나요?

 
Daniil Kurmyshev:

레나트, 안녕하세요!

데이터베이스에 JSON을 저장하고 작업하는 기능이 적어도 가까운 시일 내에 구현될 예정인지 알려주실 수 있나요?

내일 베타 2840에 포함될 예정입니다:

  • SQLite 버전 2.35.2

  • 영구 WAL 모드로 다른 애플리케이션에서 열린 데이터베이스로 작업할 수 있습니다(이전에는 메타에디터가 터미널과 병렬로 작업할 수 없었습니다).

  • 통계 함수 확장
        mode - mode,
        median - median (50 th percentile),
        percentile_25 - 25 th percentile,
        percentile_75 - 75 th percentile,
        percentile_90 - 90 th percentile,
        percentile_95 - 95 th percentile,
        percentile_99 - 99 th percentile,
        stddev or stddev_samp - sample standard deviation,
        stddev_pop - population standard deviation,
        variance or var_samp - sample variance,
        var_pop - population variance.
    예:
    select
      count(*) as book_count,
      cast(avg(parent) as integer) as mean,
      cast(median(parent) as integer) as median,
      mode(parent) as mode,
      percentile_90(parent) as p90,
      percentile_95(parent) as p95,
      percentile_99(parent) as p99
    from bookmarks;
  • 새로운 수학 함수
        acos(X)
        acosh(X)
        asin(X)
        asinh(X)
        atan(X)
        atan2(X,Y)
        atanh(X)
        ceil(X)
        ceiling(X)
        cos(X)
        cosh(X)
        degrees(X)
        exp(X)
        floor(X)
        ln(X)
        log(B,X)
        log(X)
        log10(X)
        log2(X)
        mod(X,Y)
        pi()
        pow(X,Y)
        power(X,Y)
        radians(X)
        sin(X)
        sinh(X)
        sqrt(X)
        tan(X)
        tanh(X)
        trunc(X)
    
    
  • JSON 지원도 포함됨

    나중에 데이터베이스 생성 마법사에 새로운 json 유형을 포함할 예정입니다.