예전에는 의심했지만 지금은 확인되었습니다. 리소스로 작업할 때 메모리 누수가 발생하기 쉽습니다.
SB를 통한 스크립트는 차트에 숫자 배열의 차트를 표시합니다. 그런 다음 이 차트(객체)를 수동으로 삭제할 수 있지만 이 차트에 할당된 리소스는 읽기 전용 모드로 메모리에 영원히 남아 있습니다. 때문에 삭제할 수 없습니다. 호스트 스크립트에서만 삭제할 수 있습니다(강조 표시된 줄 참조).
MQL에는 너무 많은 점유 메모리를 해제하는 기능이 없습니다. VPS에서는 특히 주의하십시오.
자체적으로(또는 비정상적으로 중지된 후) 정리되지 않는 스크립트를 실행한 후 터미널에서 메모리를 확보하는 방법은 무엇입니까?
// После окончания работы скрипта Терминал потребляет дополнительные 4 Gb. Как освободить?voidOnStart ()
{
uint Data[];
ArrayResize (Data, 1 e6);
for ( int i = 0 ; i < 1000 ; i++)
ResourceCreate ( "::" + ( string )i, Data, ArraySize (Data), 1 , 0 , 0 , ArraySize (Data), COLOR_FORMAT_ARGB_NORMALIZE );
}
TaskManager(F2)에서 메모리 소비가 완벽하게 표시됩니다. 이제 터미널을 다시 시작하는 것만으로도 도움이 됩니다.
차트를 마우스로 드래그하면 Object* 기능이 많이 지연됩니다.
그냥 다시 그릴 수 있습니까?
예를 들어 ObjectFind 는 다시 그리기와 어떤 관련이 있습니까?
예를 들어 ObjectFind 는 다시 그리기와 어떤 관련이 있습니까?
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
mql5 언어의 특징, 미묘함 및 작업 방법
fxsaber , 2020.03.04 08:58
예전에는 의심했지만 지금은 확인되었습니다. 리소스로 작업할 때 메모리 누수가 발생하기 쉽습니다.
SB를 통한 스크립트는 차트에 숫자 배열의 차트를 표시합니다. 그런 다음 이 차트(객체)를 수동으로 삭제할 수 있지만 이 차트에 할당된 리소스는 읽기 전용 모드로 메모리에 영원히 남아 있습니다. 때문에 삭제할 수 없습니다. 호스트 스크립트에서만 삭제할 수 있습니다(강조 표시된 줄 참조).
MQL에는 너무 많은 점유 메모리를 해제하는 기능이 없습니다. VPS에서는 특히 주의하십시오.
자체적으로(또는 비정상적으로 중지된 후) 정리되지 않는 스크립트를 실행한 후 터미널에서 메모리를 확보하는 방법은 무엇입니까?
TaskManager(F2)에서 메모리 소비가 완벽하게 표시됩니다. 이제 터미널을 다시 시작하는 것만으로도 도움이 됩니다.
자체적으로(또는 비정상적으로 중지된 후) 정리되지 않는 스크립트를 실행한 후 터미널에서 메모리를 확보하는 방법은 무엇입니까?
TaskManager(F2)에서 메모리 소비가 완벽하게 표시됩니다. 이제 터미널을 다시 시작하는 것만으로도 도움이 됩니다.
정기적으로 - 각 리소스에 대해 ResourceFree 를 호출해야 합니다.
충돌하면 아무것도 할 수 없습니다. 리소스를 생성하는 dll을 쌓는 경우에만 흐름이 꺼지면 자체적으로 정리됩니다.
정기적으로 - 각 리소스에 대해 ResourceFree 를 호출해야 합니다.
충돌하면 아무것도 할 수 없습니다. 리소스를 생성하는 dll을 쌓는 경우에만 흐름이 꺼지면 자체적으로 정리됩니다.
충돌에는 디버그 중단도 포함됩니다.
충돌에는 디버그 중단도 포함됩니다.
정기적으로 mql - 메모리 누수. 이 모든 것을 성인 방식으로 구현하면 됩니다. 이러한 스레드가 종료될 때 DLL_THREAD_DETACH가 있는 DllMain이 호출되지 않을 가능성이 높다는 점을 감안할 때 가장 사소한 작업은 아니지만 상당히 해결할 수 있습니다.
UPD: 이 주제는 버그 스레드에서 제안됩니다. 임호거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MetaTrader 5 플랫폼 빌드 2650의 새 버전: 차트의 백그라운드 로드 및 MQL5 코드 프로파일러의 개선 사항
fxsaber , 2020.10.23 18:44
이제 차트 전환 패널에서 EA가 작업 중인 차트와 작동하지 않는 차트를 확인할 수 없습니다.
독특한 기호를 추가할 수 있습니까? 예를 들어 EURUSD 차트가 Expert Advisor와 함께 작동하는 경우 끝에 별표(EURUSD*)를 추가합니다. 일반적으로 시각적으로 포착할 수 있는 것입니다.
많은 차트가 있으며 그 중 일부에는 Expert Advisors가 있습니다. 지표에도 유용할 수 있지만 저는 사용하지 않습니다. 그래서 나는 모른다.
어떤 이유로 실행 중인 Expert Advisors 목록에 대한 단축키가 없습니다. 마우스로만 열 수 있습니다.
지금 F2. 어드바이저에서 ENTER를 누르십시오. 차트로 전환하면 경로가 있는 트리가 네비게이터에서 열립니다. 두 번째 ENTER는 ME의 소스입니다.
최근부터 - 원인.
이전에는 Market 클라이언트가 터미널을 다시 시작하여 문제를 우회할 수 있었습니다. 지금은 아닙니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MetaTrader 4 플랫폼 빌드 1330의 새 버전
fxsaber , 2021.04.03 00:21
사용 예.