나는 즉시 "실행 중인 전문가와 차트 열기 "를 제안했습니다. 이것은 수행할 수 있습니다. - ChartOpen + ChartApplyTemplate
유일한 질문은 메모리가 닫힐 때 해제될 것인지 여부입니다(Expert Advisor 삭제).
확인하다.
나는 많은 지표가있는 템플릿을 거의 비어있는 템플릿으로 변경하여 손으로 시도했습니다. 효과가 있습니다 (그러나 캐시는 남아 있음 - 이것이 중요하지 않다고 생각합니다). 하지만 템플릿 스크립트를 통해 열고 닫는 방법 - 방법을 모르겠습니다. 제가 알기로는 스크립트가 실행되는 동안 메모리가 지워지지 않을지 의문이 듭니다... Andrey님, 실험을 도와주세요.
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
알렉산더 라우르, 즉. 스크립트/EA가 실행되는 동안 메모리는 예약되어 지울 수 없습니다. 슬픈 결론입니다.
스크립트가 다른 스크립트를 실행한 다음 스크립트가 실행한 스크립트를 닫으면 메모리가 지워져야 합니까, 아니면 복잡한 데이터 처리 환경으로 간주됩니까?
알렉산더 라우르, 즉. 스크립트/EA가 실행되는 동안 메모리는 예약되어 지울 수 없습니다. 슬픈 결론입니다.
스크립트가 다른 스크립트를 실행한 다음 스크립트가 실행한 스크립트를 닫으면 메모리가 지워져야 합니까, 아니면 복잡한 데이터 처리 환경으로 간주됩니까?
나는 즉시 "실행 중인 전문가와 차트 열기 "를 제안했습니다. 이것은 수행할 수 있습니다. - ChartOpen + ChartApplyTemplate
유일한 질문은 메모리가 닫힐 때 해제될 것인지 여부입니다(Expert Advisor 삭제).
확인하다.
나는 즉시 "실행 중인 전문가와 차트 열기 "를 제안했습니다. 이것은 수행할 수 있습니다. - ChartOpen + ChartApplyTemplate
유일한 질문은 메모리가 닫힐 때 해제될 것인지 여부입니다(Expert Advisor 삭제).
확인하다.
추가 질문, 표시기 내부 계산 을 위한 실제 버퍼 유형의 선택이 그래픽 버퍼의 크기에 영향을 줍니까?
유형
크기(바이트)
최소 양수 값
최대값
표현 정확도
C++의 아날로그
뜨다
4
1.175494351e-38
3.402823466e+38
7 유효숫자
뜨다
더블
여덟
2.2250738585072014e-308
1.7976931348623158e+308
15개의 유효 숫자
더블
그리고 미친 생각이지만 그래픽 버퍼 대신 TextOut을 사용하면 어떻게 될까요? 거기에서 데이터를 읽는 방법을 모르겠습니다 ...
추가 질문, 표시기 내부 계산 을 위한 실제 버퍼 유형의 선택이 그래픽 버퍼의 크기에 영향을 줍니까?
"그래픽 버퍼"라는 용어는 기존 표시기의 그래픽 표시를 의미합니까?
문제는 계산을 위해 표시기 코드에서 double 대신 float를 사용하는 경우 그래픽 버퍼에 할당된 메모리 크기에 한 막대 영향을 줄 수 있는지 여부입니다.
//---- buffers
double Vy[];
double bufDirSoft[];
extern int n=3;
extern int BarsN=100;
//----
int ExtCountedBars=0;
문제는 계산을 위해 표시기 코드에서 double 대신 float를 사용하는 경우 그래픽 버퍼에 할당된 메모리 크기에 한 막대가 영향을 미칠 수 있는지 여부입니다...
아니요. 모든 시도를 갈아엎는 마법 같은 기능이 있습니다.
이 메커니즘은 언어/터미널 자체에 내장되어 있습니다. 아이디어가 재미있으면서도...
그러나 메모리가 끝났는지 확인하는 방법에는 어떤 기능이 있습니까?
끝났다은 무슨 뜻인가요? :-)
여기에 뭔가가 있습니다:
https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus#enum_terminal_info_integer
지표 리소스에 대한 메모리를 관리하는 가장 효율적인 방법인 IMHO는 "기록의 최대 막대" 매개변수(설정 --> 차트)를 최소화하는 것입니다. 내가 기억하는 한 매개변수의 최소값은 5,000입니다.
그러나 메모리가 끝났는지 확인하는 방법에는 어떤 기능이 있습니까?
터미널에 대한 정보를 얻을 수 있습니다.
TERMINAL_MEMORY_TOTAL
터미널(에이전트) 프로세스에 사용 가능한 메모리 크기(MB)
정수
TERMINAL_MEMORY_AVAILABLE
터미널(에이전트) 프로세스의 여유 메모리 크기(MB)
정수
TERMINAL_MEMORY_USED
터미널(에이전트)이 사용하는 메모리 크기(MB)
정수