MQL5의 초보자 질문입니다. 프로는 지나치지 않습니다. - 페이지 3

 

아마도 중재자에게 도움을 요청하고 스레드에서 처음 두 개의 게시물을 제거하도록 요청할 시간일 것입니다. Yedelkin 은 내 질문에 답해 준 덕분에 기분이 상하지 않을 것입니다.), 이 게시물과 주제 이름을 "MT5를 마무리하기 위한 열성팬의 소원 ", 글쎄, 또는 이와 유사한 것으로 자신의 재량에 따라 ... 그렇지 않으면, 이 스레드의 생성, 질문 chainegov에 대한 또 다른 하나가 형성되었으며, 게다가 이 스레드는 실수로 재설계되었습니다.

센스가 있지 않을까요? 그들이 들을 수 있습니까?)

 

hst 파일을 읽기로 결정했고 FileReadString 은 상형 문자를 제공했습니다.

그것을 처리하는 방법?

나는 5 "EURUSD" "(C)opyright 2003, MetaQuotes Software Corp."의 제목 µl4를 기록합니다. , 들여다보다

문자열을 제외한 모든 것을 얻습니다. 그 이유는 무엇입니까?

보낸 사람 5

 #define AMOUNT_OHLCV 5 
static double OLHCV[AMOUNT_OHLCV];

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void    OnStart ()  {

   int Tmp[ 15 ];
   for ( int t= 0 ;t< ArraySize (Tmp);t++)
      Tmp[t]= 0 ;
   string Symbol_Create  = "EURDDD" ;     
   string FileName = Symbol_Create + "1.hst" ;
   int handle = FileOpen (FileName, FILE_BIN | FILE_WRITE );
   
   string s= "" ;
  s=s+ "FileWriteInteger " + FileWriteInteger (handle, 400 , 4 )+ "\n" ;            
  s=s+ "FileWriteString " + FileWriteString (handle, "(C)opyright 2003, MetaQuotes Software Corp." , 32 )+ "\n" ; 
  s=s+ "FileWriteString " + FileWriteString (handle, Symbol_Create, 6 )+ "\n" ; //Symbol      
  s=s+ "FileWriteInteger " + FileWriteInteger (handle, 1 , 4 )+ "\n" ;   //Period        
  s=s+ "FileWriteInteger " + FileWriteInteger (handle, 4 , 4 )+ "\n" ;   //Digits           
  s=s+ "FileWriteArray " + FileWriteArray (handle, Tmp, 0 , 15 )+ "\n" ;           
   Comment (s);


   MqlRates EURUSD[];
   int bars= CopyRates ( "EURUSD" , 1 , 0 , Bars ( "EURUSD" , 1 ),EURUSD);
   ArraySetAsSeries (EURUSD, true );
   
   for ( int i=bars- 1 ;i>= 0 ;i--){
        OLHCV[ 0 ] = EURUSD[i].open;
        OLHCV[ 1 ] = EURUSD[i].low;
        OLHCV[ 2 ] = EURUSD[i].high;
        OLHCV[ 3 ] = EURUSD[i].close;
        OLHCV[ 4 ] = EURUSD[i].real_volume;
        
         double Tmph = OLHCV[ ArrayMaximum (OLHCV, 0 , AMOUNT_OHLCV - 1 )];
        OLHCV[ 1 ] = OLHCV[ ArrayMinimum (OLHCV, 0 , AMOUNT_OHLCV - 1 )];
        OLHCV[ 2 ] = Tmph;
         FileWriteInteger (handle,EURUSD[i].time, 4 );  
         FileWriteArray (handle, OLHCV, 0 , AMOUNT_OHLCV);
    }
   FileFlush (handle);
   FileClose (handle);
return ;
}

호스트 4

 int start(){
   int Tmp[ 15 ];
   for ( int t= 0 ;t< ArraySize (Tmp);t++)
      Tmp[t]= 0 ;
   string FileName = "EURDDD1.hst" ,s= "" ;
   int handle = FileOpenHistory(FileName, FILE_BIN | FILE_WRITE | FILE_READ );

  s= s+ FileReadInteger (handle, 4 )+ "\n" ;            
  s= s+ FileReadString (handle, 64 )+ "\n" ; 
  s= s+ FileReadString (handle, 12 )+ "\n" ;     
  s= s+ FileReadInteger (handle, 4 )+ "\n" ;           
  s= s+ FileReadInteger (handle, 4 )+ "\n" ;             
  s= s+ FileReadArray (handle, Tmp, 0 , 15 )+ "\n" ;  

   for ( int i= 20 /*(FileSize(handle)-148)/44*/ ;i>= 0 ;i--){
         s= s+TimeToStr( FileReadInteger (handle, 4 ))+ "\n" ;             
         s= s+ FileReadDouble (handle, 8 )+ "\n" ;             
         s= s+ FileReadDouble (handle, 8 )+ "\n" ;             
         s= s+ FileReadDouble (handle, 8 )+ "\n" ;             
         s= s+ FileReadDouble (handle, 8 )+ "\n" ;             
         s= s+ FileReadDouble (handle, 8 )+ "\n" ;            
         s= s+ "-----------------------------------------" + "\n" ;
  }
   Comment (s);
   return ;
}
 
costy_ :

  FileReadString은 상형 문자를 생성했습니다.

와 진짜 상형문자... 아웃소싱의 결과나 김정일을 기리는 이스터에그)
 
Figar0 :
와 진짜 상형문자... 아웃소싱의 결과, 김정일 추모의 이스터에그)
autohlif와 천샘 기아 :((
 

친애하는 MT5 전문가 여러분, MT5 터미널에서 같은 시간 간격(대부분 분) 의 막대 수가 때때로 다른 것을 발견했습니다.

막대가 형성되는 동안 가격 변동이 없으면 이 섹션에 막대가 전혀 그려지지 않는다는 것, 즉 건너뛴다는 것을 이해합니다.

나는 충격을 받았다. 그렇기 때문에 밝히고자 합니다.

사실인지 아닌지?

 
Edic :

친애하는 MT5 전문가 여러분, MT5 터미널에서 같은 시간 간격(대부분 분) 의 막대 수가 때때로 다른 것을 발견했습니다.

막대가 형성되는 동안 가격 변동이 없으면 이 섹션에 막대가 전혀 그려지지 않는다는 것, 즉 건너뛴다는 것을 이해합니다.

나는 충격을 받았다. 그렇기 때문에 밝히고자 합니다.

사실인지 아닌지?

막대의 시간 간격에 눈금이 없으면 막대가 만들어지지 않습니다.
 

친애하는, pliz, 특정 유형의 모든 그래픽 개체(예: OBJ_HLINE)를 어떻게 처리할 수 있습니까?

ObjectsTotal의 도움으로 차트에서 이러한 유형의 개체 수와 개체 이름을 미리 알지 못하는 경우를 대비하여 동일한 개체를 통해 정렬하는 방법을 찾을 수 있습니다.

특정 작업은 차트의 모든 수평선 을 반복하고 해당 값을 배열로 가져와야 한다는 것입니다.

감사해요

 
Olegts :

친애하는, pliz, 특정 유형의 모든 그래픽 개체(예: OBJ_HLINE)를 어떻게 처리할 수 있습니까?

ObjectsTotal의 도움으로 차트에서 이러한 유형의 개체 수와 개체 이름을 미리 알지 못하는 경우를 대비하여 동일한 개체를 통해 정렬하는 방법을 찾을 수 있습니다.

특정 작업은 차트의 모든 수평선 을 반복하고 해당 값을 배열로 가져와야 한다는 것입니다.

감사해요

"ObjectsTotal" 다음에 " ObjectName"을 사용합니다.
 
barabashkakvn :
"ObjectsTotal" 다음에 " ObjectName"을 사용합니다.
이해 감사합니다)
 
barabashkakvn :
막대의 시간 간격에 눈금이 없으면 막대가 만들어지지 않습니다.
고맙습니다)