mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 43

 
fxsaber :
이러한 경우에는 별도의 추가 조치 없이 브래킷이 작동합니다.
자신을 위한 브래킷. 그래야 더 잘 보입니다.
 
관심 속성에 적합한 기능을 선택하는 것이 지칠 때
 double TerminalInfo( const ENUM_TERMINAL_INFO_DOUBLE Property )
{
   return ( TerminalInfoDouble (Property));
}

long TerminalInfo( const ENUM_TERMINAL_INFO_INTEGER Property )
{
   return ( TerminalInfoInteger (Property));
}

string TerminalInfo( const ENUM_TERMINAL_INFO_STRING Property )
{
   return ( TerminalInfoString (Property));
}

void OnStart ()
{
   Print (TerminalInfo( TERMINAL_COMMUNITY_BALANCE ));
   Print (TerminalInfo( TERMINAL_LANGUAGE ));
   Print (TerminalInfo( TERMINAL_BUILD ));
}
 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

라이브러리: TypeToBytes

fxsaber , 2017.06.13 16:01

 string GetDirectory( const string FileName )
{
   int Pos = StringFind (FileName, "\\" );
   int LastPos = Pos;
  
   while (Pos >= 0 )
  {
    LastPos = Pos;
    
    Pos = StringFind (FileName, "\\" , Pos + 1 );
  }

   return ((LastPos >= 0 ) ? StringSubstr (FileName, 0 , LastPos + 1 ) : "" );
}

// Возвращает список всех файлов по фильтру
int GetFileNames( string &FileNames[], int Pos = 0 , string Filter = "*" , const int Common_Flag = 0 )
{
   string FileName;
   const long handle = FileFindFirst (Filter, FileName, Common_Flag);

   if (handle != INVALID_HANDLE )
  {    
     const string Directory = GetDirectory(Filter);    
    Filter = StringSubstr (Filter, StringLen (Directory));
    
     do
    {
       const string TmpFileName = Directory + FileName;
      
       ArrayResize (FileNames, Pos + 1 );      
      FileNames[Pos] = TmpFileName;      
      Pos++;
        
       if (! FileIsExist (TmpFileName, Common_Flag))
        Pos = GetFileNames(FileNames, Pos, TmpFileName + Filter, Common_Flag);
    }
     while ( FileFindNext (handle, FileName));  
    
     FileFindClose (handle);
  }
  
   return (Pos);
}
 
HistoryDealGetInteger , HistoryDealGetDouble,
HistoryDealGetString에서 ticket_number를 다시 지정해야 합니까?
 
. ... 릭 D. . . . :
HistoryDealGetInteger , HistoryDealGetDouble,
HistoryDealGetString은 ticket_number를 다시 지정해야 합니까?

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

mql5 언어의 특징, 미묘함 및 작업 방법

fxsaber , 2017.06.07 22:20

히스토리 기능을 통해 데이터를 사용할 수 있는 2개의 현재 히스토리 테이블(주문 테이블 및 거래 테이블)이 있습니다.

해당 내용은 HistorySelect 기능을 통해서만 영향을 받을 수 있습니다. 그리고 이렇게 됩니다

  • HistorySelect 및 HistorySelectByPosition - 두 테이블에 동시에 영향을 줍니다.
  • HistoryDealSelect는 거래 테이블에만 영향을 줍니다(현재 주문 내역 테이블에는 영향을 주지 않음).
  • HistoryOrderSelect는 주문 테이블에만 영향을 줍니다(현재 거래 내역 테이블에는 영향을 주지 않음).

거래 테이블은 하나의 요소가 됩니다.
 
차트에 배치되는 그래픽 개체의 수에 제한이 있습니까?) 픽셀 그래픽이 아니라 그래픽 요소( 추세선 , 사각형 등)를 의미합니다.
 
콘스탄틴 :
차트에 배치되는 그래픽 개체의 수에 제한이 있습니까?) 픽셀 그래픽이 아니라 그래픽 요소( 추세선 , 사각형 등)를 의미합니다.
2000개 이상 시도 - 성공
 
비탈리 무지첸코 :
2000개 이상 시도 - 성공

각 틱마다 변경해야 하는 경우 리소스 측면에서 비용이 얼마나 적게 드는지:

1. 2000개의 그래픽 개체 사용

2. Canvas 클래스를 사용하고 그래픽 개체의 동일한 2000개의 그림을 포함하는 하나의 그림을 각 눈금에 만듭니다.

 
콘스탄틴 :

각 틱마다 변경해야 하는 경우 리소스 측면에서 비용이 얼마나 적게 드는지:

1. 2000개의 그래픽 개체 사용

2. Canvas 클래스를 사용하고 그래픽 개체의 동일한 2000개의 그림을 포함하는 하나의 그림을 각 눈금에 만듭니다.

Canvas는 몇 배 더 생산적일 것입니다. 나는 그것을 시도했습니다.
 
비탈리 무지첸코 :
Canvas는 몇 배 더 생산적일 것입니다. 나는 그것을 시도했습니다.

나는 Canvas를 다룰 수 없습니다. 예를 들어 차트 에 수평선 의 배열을 그려야 합니다. 코드 예제를 던질 수 있습니까?

oops )) 사이트의 도움말이 더 확장된 것으로 나타났습니다. 내가 찾던 것을 찾은 것 같습니다 - CLineChart 클래스 ))

사유: