업데이트된 역사 센터 - 1999년 이후의 간단한 인용문 무료 역사 - 페이지 8

 
Rosh :
아아, "차트의 최대 막대"(오늘 약 3백만 개)의 최대 수를 설정하면 모든 날짜를 볼 수 있습니다.
즉, 세그먼트를 임의로 설정할 수 없습니까?
예를 들어 2005년 8월만?
 
이유없이. 'MetaTrader 4 클라이언트 터미널의 비밀' 기사는 삶을 더 쉽게 만들어주는 몇 가지 유용한 것들을 설명합니다. 여기에 그 중 하나가 있습니다:

 
히스토리와 윈도우 전반의 바 수 제한을 없애고 싶지 않으셨나요? 또는 무제한(무제한)과 같은 체크 표시를 합니다. 이에 대한 질문은 사용자에게서 완전히 사라질 것입니다.
창의 막대 수 제한을 파일에서 기록을 로드하는 더 스마트한 논리로 바꿀 수 있습니다. 이 버퍼 외부의 데이터로 이동하면 표시용 버퍼가 있을 것입니다. 그러면 새 기록 데이터가 이전 데이터 대신 파일에서 이 버퍼로 로드됩니다. 물론 스크롤이 약간 느려질 수 있습니다. 전체 히스토리를 로드하거나 히스토리를 더 깊이 스크롤하면 VirtualAlloc에서 생성한 버퍼에 넣을 수 있지만 이 경우 터미널이 현재 액세스하는 데이터는 대신 페이징 파일에서 메모리로 로드됩니다. 메모리에서 지워지고 페이징 파일에 남아 있는 이전 것 중 - 동일한 버퍼링이지만 운영 체제 수준에서.
 
elritmo :
히스토리와 윈도우 전반의 바 수 제한을 없애고 싶지 않으셨나요? 또는 무제한(무제한)과 같은 체크 표시를 합니다. 이에 대한 질문은 사용자에게서 완전히 사라졌을 것입니다.
창의 막대 수 제한을 파일에서 기록을 로드하는 더 스마트한 논리로 바꿀 수 있습니다. 이 버퍼 외부의 데이터로 이동하면 표시용 버퍼가 있을 것이며, 새 기록 데이터가 이전 데이터 대신 파일에서 이 버퍼로 로드됩니다. 물론 스크롤이 약간 느려질 수 있습니다. 전체 히스토리를 로드하거나 히스토리를 더 깊이 스크롤하면 VirtualAlloc에서 생성한 버퍼에 넣을 수 있지만 이 경우 터미널이 현재 액세스하는 데이터는 대신 페이징 파일에서 메모리로 로드됩니다. 메모리에서 지워지고 페이징 파일에 남아 있는 이전 것들 중 - 동일한 버퍼링이지만 운영 체제 수준에서.
신은 교환을 금합니다!
그리고 자동거래를 위해 서버에 단말기를 올려놓는 사람들에게도 이력의 제한이 필요하다. 표시기가 작동하고 디스크 공간을 제한하려면 최소 기록이 필요합니다.
 
무제한(무제한) 또는 무한대와 같은 눈금을 표시합니다. 제한이 필요한 사람은 쉽게 할 수 있습니다. 기본적으로 제한이 없으므로 질문이 없습니다. 전체 기록이 표시되지 않는 이유는 무엇입니까?
 
예, 모든 사람은 기본적으로 무제한 메모리를 가지고 있습니다 ...

전체 기록을 표시하면 모든 것이 왜 그렇게 느리게 작동하는지에 대한 질문이 있을 것입니다.
 

스크롤하면서 파일에서 기록을 로드할 수 있습니다. 하지만 메모리가 힙을 통해 재배치되기 때문에 속도가 느려지는 것 같습니다. 메모리를 예약하는 다른 방법이 있습니다. 대용량 어레이에 대한 메모리 할당에는 VirtualAlloc을 사용하는 것이 좋습니다. 힙은 1Mbyte를 초과하지 않는 동적 배열 에 대해 자유롭게 사용할 수 있습니다.
MT에서는 new[] 연산자와 cpymem 함수 또는 malloc과 realloc을 사용하여 메모리를 할당한 다음 HeapAlloc과 HeapRealloc을 호출한다고 가정합니다. 메모리 부족 메시지는 요소를 차례로 배치할 주소 공간의 연속 부분을 찾지 못하면 분명히 발생합니다(이 부분에 대해서는 잘 모르겠습니다. :)). 또는 페이징 파일의 크기가 어느 시점에서 충분하지 않습니다.

다음은 시계열에 힙 대신 가상 메모리를 사용하는 방법의 예입니다.

 MemManager :: MemManager ( int reg_size , int unt_size , void *& p ) {
    unit_size = unt_size ;
    SYSTEM_INFO si ;
    GetSystemInfo ( & si ) ;
    page_size = si . dwPageSize ;
    region_size = ( reg_size / page_size ) * page_size ;
    if ( reg_size % page_size != 0 ) region_size += page_size ;
    next_page = region = ( char * ) VirtualAlloc ( 0 , region_size , MEM_RESERVE , PAGE_READWRITE ) ;
    p = region ;
    capacity = 0 ;
}
 
MemManager ::~ MemManager () {
     VirtualFree ( region , 0 , MEM_RELEASE ) ;
}
 
void MemManager :: realloc ( int sz ) {
    size = sz * unit_size ;
    if ( size <= capacity )
        return ;
    int tmp_size = size - capacity ;
    int inc_size = ( tmp_size / page_size ) * page_size ;
    if ( tmp_size % page_size != 0 ) inc_size += page_size ;
    char * p = ( char * ) VirtualAlloc ( next_page , inc_size , MEM_COMMIT , PAGE_READWRITE ) ;
    next_page += inc_size ;
    capacity += inc_size ;
}
 
예, 예, 저는 또한 전 세계의 경제를 개선하는 방법에 대해 많은 아이디어를 가지고 있습니다.
나는 또한 쟁기질을 하는 사람에게 올바른 쟁기질을 하는 방법과 여성에게 올바르게 출산하는 방법에 대한 귀중한 조언을 줄 수 있습니다.
그리고 일반적으로 나는 매우 가난하다는 사실에도 불구하고 여기에서 가장 똑똑합니다 ...
 

똑똑한 사람들은 다른 사람들의 아이디어를 사용합니다; o) 제2세계 이후의 일본인처럼 ...

 
6E, Euro FX 통화에 대한 이야기를 들려주세요 -Globex는 역사 센터에 있지 않습니까? zagruayutsya 왜 지난 이틀 만.
사유: