초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1202

 
Igor Makanu :

그래서 10분 안에 확인이 더 쉽다고 씁니다.... 확인, FileWriteArray()는 배열의 크기를 헤더나 첫 번째 바이트에 쓰지 않으므로 이 값을 직접 작성합니다.

이고르, 나는 그것이 완전히 불가능하다고 말하지 않았습니다. 글쎄, 내 말을 조금 더주의 깊게 읽으십시오.

알렉세이 빅토로프 :

...

어떻게 하나의 파일에서 구조와 세 개의 배열을 읽을 수 있는지, 어떻게 쓰여졌는지는 알 수 없습니다 .

...

게다가, 그 예에는 파일 열기, 구조 읽기, 3개의 배열 읽기가 있고 파일 닫기 가 없습니다. 여기에서 그것에 대해 생각할 것입니다. 녹음 후 파일을 닫는 방법이 있습니까?

그리고 귀하의 예에서는 FileReadStruct()가 아닌 배열 및 구조 요소를 읽습니다.

예를 들어 주셔서 감사합니다. 필요한 경우 기억하고 사용하십시오.

 
Alexey Viktorov :

이고르, 나는 그것이 완전히 불가능하다고 말하지 않았습니다. 글쎄, 내 말을 조금 더주의 깊게 읽으십시오.

게다가, 그 예에는 파일 열기, 구조 읽기, 3개의 배열 읽기가 있고 파일 닫기 가 없습니다. 여기에서 그것에 대해 생각할 것입니다. 녹음 후 파일을 닫는 방법이 있습니까?

그리고 귀하의 예에서는 FileReadStruct()가 아닌 배열 및 구조 요소를 읽습니다.

예를 들어 주셔서 감사합니다. 필요한 경우 기억하고 사용하십시오.

또 어떻게 설명해야 할지 모르겠어

글쎄, 당신은 어떤 종류의 마법을 믿습니까? 그들은 타사 프로그램이 바이너리 파일에 기록된 데이터의 형식을 찾을 수 있다고 말합니다. 아무도 데이터 구조를 모르면 바이너리 파일에서 데이터를 읽을 수 없습니다!

바이너리 파일은 순차적으로 액세스되는 바이트의 큰 배열입니다. 무엇을 읽었습니까? - 너만 안다, 네가 모른다면, 너는 읽지 못할 것이다.

)))

추신: 하나의 ArrayWrite 명령과 구조를 사용하여 동일한 방식으로 배열을 쓰고(읽기)하고 싶은 것이 분명합니다. 예, 가능하지만 고정된 데이터 크기를 사용하고 각 구조/배열을 별도의 파일에 쓰는 경우

 

Igor Makanu :

글쎄, 당신은 어떤 종류의 마법을 믿습니까? 그들은 타사 프로그램이 바이너리 파일에 기록된 데이터의 형식을 찾을 수 있다고 말합니다. 아무도 데이터 구조를 모르면 바이너리 파일에서 데이터를 읽을 수 없습니다!

당신은 나를 잘못 이해했습니다. 똑같은 말만 다른 말을 했습니다. 어떻게 하느냐의 문제는 아니었지만... 물음표가 없어도...

 

펀드가 있는 주식 차트를 업로드하려는 경우 MT5에서 사용자 정의 기호를 만드는 방법을 알려주실 수 있습니까? 중개인 개설(있는 경우)

나는 다음을 시도했다:

1. finam에서 csv로 인용의 이력을 다운로드합니다.

2. csv를 json으로 변환

{
     "root" : {
         "row" : [
            {
                 "TICKER" : "FXRU" ,
                 "PER" : "1" ,
                 "DATE" : "20190502" ,
                 "TIME" : "100100" ,
                 "OPEN" : "748.7000000" ,
                 "HIGH" : "749.7000000" ,
                 "LOW" : "747.7000000" ,
                 "CLOSE" : "749.7000000" ,
                 "VOL" : "115"
            },
               ]
           }
}

3. 도움이 되지 않습니다.

 
Igor Makanu :

그래서 10분 안에 확인이 더 쉽다고 씁니다.... 확인, FileWriteArray()는 배열의 크기를 헤더나 첫 번째 바이트에 쓰지 않으므로 이 값을 직접 작성합니다.

2020.03.25 10:18:36.058 tst (EURUSD,H1) 1. d_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 3.14159 3.14159 3.14159 3.14159 3.14159

2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. i_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 1234567890 1234567890 1234567890

2020.03.25 10:18:36.058 tst (EURUSD,H1) 2. c_arr

2020.03.25 10:18:36.058 tst (EURUSD,H1) 127 127 127 127 127 127 127

2020.03.25 10:18:36.058 tst (EURUSD,H1) mstruct.a = 666, mstruct.b = 123.123000

저것들. 배열의 차원이 동적이면 쓸 때 배열의 차원을 직접 쓰고 읽을 때 파일에서 배열 크기 값을 읽고 구조 배열의 크기를 설정합니다.

내 예에는 2개의 구조가 있습니다. 하나는 초기화 및 쓰기, 두 번째는 읽기, 파일 데이터에서 초기화

감사합니다. 매우 인상적입니다.

그리고 2개의 구조가 파일에 쓰여지면 분명히 같은 방식으로 읽을 수 있습니다.


PS 일반 함수는 문제 없이 간단한 구조 (수량에 관계없이)를 쓰고 읽습니다.
 
친절하게도 "즉석에서" 2차원 동적 배열 의 두 번째 차원 크기를 설정하는 방법은 무엇입니까?
 
Сергей Таболин :
친절하게도 "즉석에서" 2차원 동적 배열 의 두 번째 차원 크기를 설정하는 방법은 무엇입니까?

또는 구조 배열에서 1차원 배열을 래핑합니다.

 struct Sarr
{
   double             y[];
};
struct Sarr2x2
{
   Sarr              x[];
};

void OnStart ()
{
   Sarr2x2 arr;
   ArrayResize (arr.x, 10 );
   for ( int i= 0 ; i< ArraySize (arr.x); i++)
   {
       ArrayResize (arr.x[i].y, 10 );
   }
   arr.x[ 0 ].y[ 0 ] = 5.0 ;
}
//+------------------------------------------------------------------+

또는이 작업을 수행 할 클래스를 사용하십시오 - 검색하고 싶지 않습니다. 이미 링크를 백 번 제공했습니다.

https://www.mql5.com/ru/forum/6729/page3#comment_674794


예, alglib 클래스에 행렬이 있습니다.

 #include <Math\Alglib\matrix.mqh>

void OnStart ()
  {
      CMatrixDouble d_arr;
      d_arr.Resize( 10 , 10 );
 

그리고 거래 명세서에서 시간 척도는 무엇을 의미합니까?

척도 X. 척도의 값은 무엇을 나타냅니까?

 

MQL을 사용하여 .bmp 이미지를 만들고 차트에 연결하지 않고 파일에 저장하는 방법 - 즉 차트에 Canvas 또는 CGraphic 개체 등을 먼저 만들지 마십시오.

나는 그러한 정보를 보지 못한 기사를 훑어보고 시작 위치에 대한 지침이 필요합니다. 코드를 직접 작성할 것입니다.

 
Igor Makanu :

MQL을 사용하여 .bmp 이미지를 만들고 차트에 연결하지 않고 파일에 저장하는 방법 - 즉 차트에 Canvas 또는 CGraphic 개체 등을 먼저 생성하지 마십시오.

나는 그러한 정보를 보지 못한 기사를 훑어보고 시작 위치에 대한 지침이 필요합니다. 코드를 직접 작성할 것입니다.

리소스에서
사유: