프로그램 속성 (#property)

모든 mql5-program에서는 명시적으로 프로그램을 실행할 필요 없이 프로그램에 대한 적절한 서비스 시 클라이언트 터미널에 도움이 되는 #property 라는 특정 매개 변수를 추가로 지정할 수 있습니다. 이는 우선 지표의 외부 설정과 관련이 있습니다. 포함된 파일에 설명된 속성은 완전히 무시됩니다. 기본 mq5 파일에 속성을 지정해야 합니다.

#property 식별자 값

컴파일러는 실행된 모듈의 구성에서 선언된 값을 씁니다.

상수

유형

설명

아이콘

string

EX5 프로그램의 아이콘으로 사용할 이미지 파일의 경로. 경로 지정 규칙은 리소스와 동일합니다. 기본 모듈에서 MQL5 소스 코드를 사용하여 속성을 지정해야 합니다. 아이콘 파일은 반드시 다음에 있어야합니다: ICO format.

링크

string

회사 웹 사이트 링크

저작권

string

회사명

버전

string

프로그램 버전, 최대 31자

설명

string

mql5-프로그램에 대한 간단한 텍스트 설명. 여러 개의 설명이 있을 수 있으며, 각 설명은 텍스트의 한 줄을 설명합니다. 모든 설명의 총 길이는 줄 피드를 포함하여 511자를 초과할 수 없습니다.

stacksize

int

MQL5 프로그램 스택 사이즈. 함수 재귀 호출을 실행할 때 충분한 크기의 스택이 필요합니다.

차트에서 스크립트 또는 Expert Advisor를 시작하면 최소 8MB의 스택이 할당됩니다. 지표의 경우 스택 크기는 항상 고정되고 1MB와 같습니다.

전략 테스터에서 프로그램이 실행되면 항상 16MB의 스택이 할당됩니다.

library

 

라이브러리, 시작 함수가 할당되지 않음, 익스포트 한정자가 있는 함수를 다른 mql5-프로그램에서 임포트 할 수 있음

indicator_applied_price

int

"적용 대상" 필드의 기본값을 지정합니다. ENUM_APPLIED_PRICE값 중 하나를 지정할 수 있습니다. 속성을 지정하지 않으면 기본값은 PRICE_CLOSE 입니다

indicator_chart_window

 

차트 창에 지표 표시

indicator_separate_window

 

별도의 창에 지표 표시

indicator_height

int

픽셀 단위의 지표 하위 창의 고정 높이 (속성 INDICATOR_HEIGHT)

indicator_buffers

int

지표 계산을 위한 버퍼 수

indicator_plots

int

지표의 그래픽 시리즈

indicator_minimum

double

별도의 지표 창에 대한 하한 스케일링 한계

indicator_maximum

double

별도의 지표 창에 대한 상위 스케일링 한계

indicator_labelN

string

DataWindow에 표시되는 N번째 그래픽 시리즈의 레이블을 설정합니다. 여러 지표 버퍼(DRAW_CANDLES, DRAW_FILLING 등)가 필요한 그래픽 시리즈의 경우 레이블 이름은 구분 기호 ';'를 사용하여 정의됩니다.

indicator_colorN

색상

선 N을 표시하는 색상이며, 여기서 N은 그래픽 시리즈의 수입니다; 번호는 1부터 시작합니다

indicator_widthN

int

그래픽 시리즈의 선 두께, 여기서 N은 그래픽 시리즈의 수이며, 번호는 1부터 시작합니다.

indicator_styleN

int

그래픽 시리즈의 선 스타일, ENUM_LINE_STYLE 값으로 지정된. N은 그래픽 시리즈의 수입이며, 번호는 1부터 시작합니다.

indicator_typeN

int

ENUM_DRAW_TYPE 값으로 지정된 그래픽 플롯 유형. N은 그래픽 시리즈의 수입니다. 번호는 1부터 시작합니다

indicator_levelN

double

별도의 지표 창에서 N의 수평 수준

indicator_levelcolor

색상

지표의 수평 레벨 색상

indicator_levelwidth

int

지표의 수평 레벨 두께

indicator_levelstyle

int

지표의 수평 레벨 스타일

script_show_confirm

 

스크립트를 실행하기 전에 확인 창 표시

script_show_inputs

 

스크립트를 실행하기 전에 속성이 있는 창을 표시하고 이 확인 창을 사용하지 않도록 설정합니다

tester_indicator

string

"indicator_name.ex5" 형식의 커스텀 지표 이름입니다. 테스트가 필요한 지표는 해당 파라미터가 상수 문자열을 통해 설정된 경우 iCustom() 함수의 호출에서 자동으로 정의됩니다. 다른 모든 경우 (IndicatorCreate() 함수 사용 또는 지표 이름을 설정하는 매개 변수에서 일정하지 않은 문자열 사용) 이 속성이 필요합니다

tester_file

string

확장자를 나타내는 테스터의 파일 이름(상수 문자열로 큰따옴표)입니다. 지정한 파일이 테스터로 전달됩니다. 필요한 입력 파일이 있는 경우 테스트할 입력 파일을 항상 지정해야 합니다.

tester_library

string

확장자가 큰따옴표로 표시된 라이브러리 이름. 라이브러리는 파일 확장자로 'dll' 또는 'ex5'를 사용할 수 있습니다. 테스트가 필요한 라이브러리는 자동으로 정의됩니다. 그러나 커스텀 지표에 사용되는 라이브러리가 있는 경우 이 속성이 필요합니다

tester_set

string

입력 매개 변수의 단계와 값이 포함된 세트 파일의 이름. 테스트 및 최적화 전에 파일이 테스터에 전달됩니다. 파일 이름은 확장명과 큰따옴표로 상수 문자열로 지정됩니다.

 

설정된 파일 이름에 EA 이름 및 버전 번호를 "<expert_name>_<number>.set" 으로 지정하면, <number> 버전 번호 아래에 매개변수 버전 다운로드 메뉴에 자동으로 추가됩니다. 예를 들어 "MACD Sample_4.set"라는 이름은 버전 번호가 4인 "MACD Sample.mq5" EA의 세트 파일임을 의미합니다.

 

포맷을 연구하려면 테스트/최적화 설정을 전략 테스터에 수동으로 저장한 다음 이 방법으로 만든 세트 파일을 여는 것이 좋습니다.

tester_no_cache

string

최적화를 수행할 때 전략 테스터는 실행된 패스의 모든 결과를 최적화 캐시에 저장하며, 여기서 입력 매개변수의 각 세트에 대한 테스트 결과가 저장됩니다. 따라서 재계산 시간을 낭비하지 않고 동일한 매개변수로 재최적화하는 동안 이미 만들어진 결과를 사용할 수 있습니다.

 

그러나 일부 작업(예: 산술 계산)에서는 최적화 캐시에서 이미 만들어진 결과를 사용할 수 있는지에 관계없이 계산을 수행해야 할 수도 있습니다. 이 경우 파일에 tester_no_cache 속성이 포함되어야 합니다. 테스트 결과는 여전히 캐시에 저장되므로 수행된 통과에 대한 모든 데이터를 전략 테스터에서 볼 수 있습니다.

tester_everytick_calculate

string

Strategy Tester에서 지표는 데이터에 액세스할 때, 즉 지표 버퍼 값이 요청될 때만 계산됩니다. 이렇게 하면 각 눈금에 대한 지시자 값을 얻을 필요가 없는 경우 훨씬 더 빠른 검정 및 최적화 속도를 얻을 수 있습니다.

 

tester_everytick_calculate 특성을 지정하면 모든 틱에서 지시자의 강제 계산을 활성화할 수 있습니다.

 

전략 테스터의 지표는 다음과 같은 경우에도 모든 틱에 대해 강제로 계산됩니다:

 

이 기능은 전략 테스터에만 적용되며 터미널 지표는 수신된 각 틱 지표에 대해 항상 계산됩니다.

optimization_chart_mode

string

최적화 결과를 시각화하는 데 사용할 차트 유형과 두 입력 매개변수의 이름을 지정합니다. 예를 들어 "3d, InpX, InpY"는 테스트된 InpX 및 InpY 매개변수 값을 기반으로 좌표축과 함께 결과가 3D 차트에 표시됨을 의미합니다. 따라서 이 속성을 사용하면 프로그램 코드에 직접 최적화 차트와 차트 유형을 표시하는 데 사용할 모수를 지정할 수 있습니다.

가능한 옵션:

  • "3d, input_parameter_name1, input_parameter_name2"는 회전, 확대 및 축소할 수 있는 3D 시각화 차트를 의미합니다. 차트는 두 개의 파라미터를 사용하여 작성됩니다.
  • "2d, input_parameter_name1, input_parameter_name2"는 결과에 따라 각 셀이 특정 색상으로 도색되는 2D 그리드 차트를 의미합니다. 차트는 두 개의 파라미터를 사용하여 작성됩니다.
  • "1d, input_parameter_name1, input_parameter_name2"는 결과가 지정된 파라미터별로 정렬되는 선형 차트를 의미합니다. 각 패스가 점으로 표시됩니다. 차트는 하나의 매개변수를 기반으로 작성됩니다.
  • "0d, input_parameter_name1, input_parameter_name2"는 통과 결과 도착 시간별로 결과를 정렬한 정규 차트를 의미합니다. 각 패스는 차트에서 포인트로 표시됩니다. 매개 변수 표시는 필요하지 않지만 지정된 매개 변수를 다른 차트 유형으로 수동 전환하는 데 사용할 수 있습니다.

선택적으로 하나 또는 두 개의 입력 매개 변수를 지정하지 않고 차트 유형만 표시할 수 있습니다. 이 경우 터미널은 최적화 차트를 표시하는 데 필요한 파라미터를 선택합니다.

샘플 작업 설명 및 버전 번호

#property version     "3.70"      // Expert Advisor의 최신 버전
#property description "ZigZag universal with Pesavento Patterns"
#property description "현재 지표에는 알고리즘이 다른 여러 ZigZag가 포함되어 있습니다."
#property description "최고점과 최고점을 보여주는 많은 다른 지표들을 포함할 수 있습니다"
#property description "다양한 그래픽 도구를 사용하여 자동으로 구축됩니다"

프로그램 시작 시 설명 및 버전 표시 예제

 

각 지표 버퍼에 대해 별도의 레이블 지정 예제 ( "C 시가; C 고가; C 저가; C 종가")

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_plots   1
#property indicator_type1   DRAW_CANDLES
#property indicator_width1  3
#property indicator_label1  "C open;C high;C low;C close"

각 지표 버퍼의 레이블 표시 예제