이동 평균 분리 창 mt4


MetaTrader 4 - Indicators. Multi Moving Average - MetaTrader의 표시기 4. 다중 이동 평균 - 4 개의 이동 평균에 대한 정보를 별도의 창에 표시하는 표시기입니다. 표시기 속성 창에서 이동 매개 변수를 변경할 수 있습니다 평균 기간. 평균 방법 방법. 계산에 사용 된 가격 유형은 텍스트 레이블에 대해 여러 가지 옵션이 적용되었습니다. 특히 이동 평균의 가격 차트를 언로드하기 위해 생성되었지만 유용한 정보는 저장하지 않았습니다 .1 이동 평균의 현재 상태 - 상자에 대해 서로 다른 색상을 사용하여 상승 또는 하강 arrow.2 기간별로 움직이는 평균 또는 이동 평균에 대한 현재 상태를 보여줍니다 - 텍스트에 다른 색상을 사용하면 위 또는 아래입니까? 이동 평균 기간을 구성하면 가격 차트에서 이동 평균을 사용하지 않고 시장 동향을 이해하는 것이 가능합니다. 저자에게 개인 메시지를 보내주십시오. 저자, 제안 또는 의견에 대해 질문이 있으면 그곳에 게시하는 것이 좋습니다. 이 코드가 거래 나 교육 목적으로 유용하다고 생각하면 작성자에게 감사의 말을 전하지 마십시오. Pls는이 표시기를 읽는 방법을 탐구합니다. ex 파란색 점은 빨간색 의미를 나타냅니다. 지시자의 새 버전을 사용할 수 있습니다. Alex5757000 - 다중 이동 평균 v2.Forum 거래, 자동화 된 거래 시스템 및 테스트 거래 전략 press review newdigital, 2014 06 05 09 41 USDCHF Breakout 200 일 이동 평균에 의해 방해 dailyfx 기사에서 적응 USDCHF 중단은 200 일 이동했습니다 이동 구매자는 200 일 이상 확인 된 휴식을 입력 할 수 있습니다 200 일 간단한 이동 평균 200 일 간단한 이동 평균은 세계에서 가장 인기있는 지표 중 하나 일상적인 차트에서 200 MA를 돌파하는 가격은 금융 뉴스 스테이션, 웹 사이트 및 신문에서 종종 대화 주제로 볼 수 있습니다. 거래자와 투자자에게 통화 쌍이 얼마나 강한 지 또는 약한 지에 대한 전반적인 감각을 제공합니다. 일반적으로 통화 쌍 가격이 200 일 마침표 아래로 떨어지면 가격 하락의 가능성이있는 약점을 나타냅니다. 통화 쌍 가격은 200 일 MA를 넘기 때문에 추가 가격 인상 가능성이있는 힘의 신호입니다 위의 차트는 200 일 MA를 둘러싼 최근의 가격 행동을 보여줍니다 우리는 가격이 여러 저항 수준을 뛰어 넘는 큰 가격대를 보았습니다 그것은이 강력한 MA 라인을 만났습니다 우리는 가격이 일시적으로 200 일 MA를 돌파 한 6 일간의 연속 일을 보냈습니다. 가격이 낮아지기 전에 10 피스 이내로 오게되었습니다. 따라서이 수준은 강한 저항으로 작용합니다. MA, 그것은 페어의 가격 채널로 낮추는 것을 추진할 수있다. 그러나 위쪽으로의 탈주는 USDCHF를 사기위한 또 다른 이유를 추가 할 수있다. 우리가 더 큰 가격 움직임을 목격 할 때까지, 우리는 limbo의 상태에있다. 그는이 러시아어 언어 지표에 대한 번역을 미러링합니다. 도움이된다면 도움이됩니다. 미안하지만 가능한 것은 실험하는 사람에게 얼마나 의미가 있는지입니다. 이동 평균은 평균을 나타내는 표시기에 적응합니다. 매우 간단합니다. RSI에 이동 평균을 드래그 한 후에 조합이 작동하는 유일한 방법은 닫기 대신 적용 대상을 변경하여 이전 표시기 데이터 또는 첫 번째 표시기 데이터로 변경해야한다는 것입니다. 질문은 RSI와 동일한 표시기 창으로 이동할 수 있는지 여부에 관한 것입니다. 이동 평균 표시기를 드래그하려고했는데 표시기 창 위로 끌면 기본 차트 창으로 이동합니다. 다른 키를 눌러야 했습니까? 버튼을 드래그하기 전에. 내가 실제로 읽은 두 번째 단락을 다시 읽었습니까? 또한, mt4에서 이것은 맞춤 표시기가 아닌 내장 된 표시기에서만 작동합니다. circlesquares 실제로 w를 읽었습니까? 내가 다시 두 번째 단락을 읽으라고 했어. 실제로 내 질문을 읽었 니? 너는 말하기 전에, 나는 드래그하기 전에 물었다. 커스텀 지시자 생성. 거래 전략을 만들 때 개발자는 종종 보안 창에 그래픽으로 그릴 필요성에 직면한다. 의존성은 사용자 프로그래머에 의해 계산됩니다. 이 목적을 위해 MQL4는 사용자 지정 지표를 생성 할 수있는 가능성을 제공합니다. Custom Indicator는 MQL4로 코딩 된 응용 프로그램입니다. 기본적으로 사전 계산 된 종속성을 그래픽으로 표시합니다. 사용자 지정 표시기 구조. 버퍼의 필요성. 주요 원칙 기본 맞춤형 표시기는 표시기 배열의 값을 교환 버퍼를 통해 표시기 선을 그리기 위해 클라이언트 터미널로 전달하는 것입니다. 버퍼는 표시기 배열의 숫자 값을 포함하는 메모리 영역입니다. MQL4 표준은 하나의 사용자 지정 표시기를 사용하여 최대 8 개의 표시기 선을 그리는 가능성을 의미합니다 하나의 표시기 배열과 하나의 버퍼가 각 표시기 line 각 버퍼에는 자체 인덱스가 있습니다. 첫 번째 버퍼의 인덱스는 0이고, 두 번째 버퍼의 인덱스는 -1이며, 마지막 인덱스는 인덱스 7입니다. 그림 115는 사용자 정의 인디케이터의 정보가 버퍼를 통해 그림 115 버퍼를 통해 클라이언트 터미널에 표시기 배열의 값 전달. 지시선을 빌드하는 일반적인 순서는 다음과 같습니다 .1 계산은 사용자 지정 표시기에서 수행되고 숫자 값은 표시기에 지정됩니다 배열 원소의 값 2 표시 자 배열 요소의 값은 버퍼를 통해 클라이언트 터미널로 전송됩니다. 버퍼에서받은 값 배열을 기반으로 클라이언트 터미널은 사용자 지정 표시기의 표시 줄을 표시합니다. 두 줄을 표시하는 간단한 사용자 지정 표시기를 분석합니다. - 한 줄은 최대 막대 가격을 기반으로 작성되며, 두 줄은 최소 가격을 사용합니다. 간단한 사용자 지정 표시기의 예입니다. 표시 부분을 자세히 분석하십시오. MQL4로 작성된 모든 응용 프로그램 클라이언트 터미널에 의해 올바른 프로그램 서비스를 제공하는 설정 매개 변수를 나타낼 수 있습니다. 이 예에서 프로그램 구성에는 프로그램 속성에 지시문 속성이있는 여러 줄이 있습니다. 첫 번째 지시문은 클라이언트 터미널이 표시 줄을 그려야하는 창을 나타냅니다. MQL4에서 메인 보안 윈도우와 별도의 윈도우에 드로잉 인디케이터 라인의 두 가지 변형입니다. 메인 윈도우는 보안 차트가 포함 된 윈도우입니다. 이 예제의 매개 변수 인 indicatorchartwindow는 클라이언트 터미널이 메인 윈도우에 인디케이터 라인을 그려야 함을 나타냅니다. 다음 라인은 인디케이터에 사용 된 버퍼 수를 보여줍니다. 분석 된 예제에서 두 개의 인디케이터 라인이 그려집니다. 하나의 버퍼가 각 버퍼에 할당되므로 총 버퍼 수는 2입니다. 다음 라인은 인디케이터 라인의 색상을 나타냅니다. 파라미터 표시기 색상 1 및 indicatorcolor2는 해당 버퍼에 대한 색상 설정을 정의합니다. 이 경우 인덱스가 0 B 인 버퍼 lue 및 1 Red 매개 변수 이름 인 indicatorcolor1 및 indicatorcolor2의 수치는 버퍼 색인이 아닙니다. 이 수치는 버퍼에 따라 설정되는 상수 이름의 일부입니다. 각 상수 색상은 사용자의 재량에 따라 설정할 수 있습니다. 다음 줄 표시기 배열은 선언됩니다. 지시자는 두 개의 지시선을 그리기위한 것이므로 각 행에 하나씩 두 개의 전역 일차원 배열을 선언해야합니다. 지시자 배열의 이름은 최대 사용자 이름입니다. 이 경우 배열 이름 Buf0과 Buf1이 사용됩니다. 예를 들어, Line1, Alfa, Integral 등의 다른 이름을 사용할 수도 있습니다. 전역 레벨에서 배열을 선언해야합니다. 배열 요소 값은 특수 함수 시작 사이에 유지되어야하기 때문입니다. 설명 된 사용자 지정 지표는 두 가지 특수 기능의 기초 - 시작과 시작 함수 init은 한 번만 특수 함수를 볼 수있는 프로그램에서 사용되는 코드의 일부를 포함합니다. 매우 중요한 조치가 행에서 수행됩니다. 이 경우 SetIndexBuffer 인덱스가 0 인이 경우 필요한 버퍼는 배열과 일치합니다. Buf0 클라이언트 터미널이 배열 Buf0에 포함 된 데이터를 받아들이는 첫 번째 인디케이터 라인을 구성한다는 의미입니다. 선 스타일이 정의됩니다. 제로 버퍼 0 클라이언트 터미널은 다음 그림 스타일을 사용해야합니다 간단한 선 그리기, 실선 STYLESOLID, 선 너비 2. 다음 두 줄은 두 번째 줄에 대한 설정을 포함합니다. 특수 함수 init 두 개의 표시기 라인이 주 보안 창에 그려집니다. 첫 번째 것은 너비가 2 인 실선으로 표시되며 두 번째는 빨간색 점선이됩니다. 일반적인 너비의 STYLEDOT 다른 스타일로 지시선을 그릴 수 있습니다 또한 표시기 스타일의 스타일을 참조하십시오. 표시기 배열의 값 계산 요소주의해야합니다. 표시기 배열 요소의 값은 특수 기능 시작에서 계산됩니다. 올바르게 이해하려면 cont 시작 코드는 인덱스 바의 순서에주의를 기울이십시오 배열 섹션은 어레이를 인덱싱하는 방법에 대해 자세히 설명합니다 - 시간 표시 막대이 방법에 따라 바 인덱스는 0부터 시작합니다 제로 바는 현재 아직 형식이없는 바입니다 가장 가까운 바 인덱스는 1입니다 다음에 나오는 것은 2입니다. 보안 창에 새 막대가 나타나면 이미 형성된 기록 막대의 색인이 바뀝니다. 최근에 작성된 바로 오른쪽 막대는 0 색인을 얻습니다. 완전히 형성되면 인덱스 1이되고 모든 히스토리 바의 인덱스 값도 1 씩 증가합니다. 인덱싱 바에 대한 설명 된 방법은 전체 온라인 거래 시스템 인 MetaTrader에서 유일하게 가능하며 드로잉 할 때 고려됩니다 라인 기술 및 사용자 지정 표시기를 사용하여. 그것은 이전에 표시기 라인은 지표 배열에 포함 된 숫자 정보를 기반으로 작성되었다. 표시기 배열에는 도트 좌표에 대한 정보가 포함되어 있습니다. 각 도트의 Y 좌표는 표시기 배열 요소의 값이고 X 좌표는 표시기 배열 요소 인덱스의 값입니다. 분석 된 예제에서 첫 번째 표시기 선은 막대의 최대 값을 사용하여 그려집니다. 그림 116은 보안 창에서 파란색의이 표시기 라인은 표시기 배열 Buf0.Fig 116을 기반으로 작성됩니다. 표시기 배열의 값에 대한 표시기 선의 좌표의 대응. 표시기 배열의 인덱스 값은 클라이언트가 출력했습니다 터미널은 바 인덱스와 일치합니다. 이 인덱스 값은 동일합니다. 보안 창에있을 때 표시 줄을 구성하는 프로세스가 실시간 모드에서 계속 진행된다는 점도 고려해야합니다. 새 바가 수시로 표시됩니다. 막대가 왼쪽으로 이동 표시 줄이 막대 위에있는 각 선 점을 올바르게 그려 지려면 막대와 함께 이동해야합니다. 따라서 표시기를 다시 색인화해야 할 필요가 있습니다 새로운 배열이 생성 될 때, 표시기 배열 요소의 인덱스 값은 클라이언트 터미널에 의해 자동으로 변경됩니다. 즉, 각 표시기 배열 인덱스의 값은 다음과 같습니다. 1만큼 증가하고 표시기 배열 크기는 인덱스가 0 인 요소 하나만큼 증가합니다. 예를 들어, 그림 116의 0 막대 시간 H1에 여는 시간이 있습니다. 00 00 7시 00 분 새 보안 표시 줄이 보안 창에 나타납니다. 6 00에서 자동으로 색인을 얻습니다. 1이 표시 줄에 지시선이 올바르게 그려지기 위해 클라이언트 터미널은 6 00에 열린 막대에 해당하는 표시기 배열 요소의 색인을 변경합니다. 그림 116의 표에서이 요소는 첫 줄에 모든 배열 요소의 인덱스가 함께 클라이언트 터미널에 의해 1 씩 증가합니다. 6 00에 열린 막대에 해당하는 배열 요소의 인덱스는 equ 이전에 값 1을 갖습니다. al to 0 표시기 배열은 하나의 요소만큼 커집니다. 새로 추가 된 요소의 색인은 0과 같고, 이 요소의 값은 제로 바의 표시기 선의 좌표를 반영하는 새 값이됩니다. 이 값은에서 계산됩니다. 특별한 기능은 각 틱에서 시작됩니다. 특별 기능 시작의 계산은 추가 작업이 수행되지 않도록 수행되어야합니다. 표시기가 차트에 부착되기 전에 표시기 배열의 값이 아직 정의되지 않았기 때문에 표시기 라인을 반영하지 않습니다. 특수 기능 시작 표시기 배열 값의 첫 번째 시작에서 표시선을 그려야하는 모든 막대에 대해 계산해야합니다. 분석 된 예제에서 이들은 차트에있는 모든 막대입니다. 모든 계산이 초기 계산을 수행 할 수는 없습니다 사용 가능한 막대지만, 역사의 마지막 부분에 대해서는 추가 예제에서 설명합니다. 특수 기능 시작의 모든 추가 시작 표시기 배열의 값을 계산할 필요가 없습니다. 모든 막대에 대해 다시 이러한 값은 이미 계산되어 표시기 배열에 포함되어 있습니다. 표시 줄의 현재 값은 제로 바의 각 새 눈금에서만 계산해야합니다. 설명 된 기술의 구현에는 매우 유용합니다 MQL4의 표준 함수 - IndicatorCounted. Function IndicatorCounted. 이 함수는 마지막 표시기 호출 이후 변경되지 않은 막대 수를 반환합니다. 표시기가 차트에 연결되지 않은 경우 첫 번째 시작 실행시 Countedbars 값이 동일하게됩니다 이것은 표시기 배열이 이전에 미리 정의 된 값을 가진 요소를 포함하지 않는다는 것을 의미합니다. 즉, 전체 표시기 배열이 처음부터 끝까지 계산되어야합니다. 표시기 배열은 가장 오래된 표시 줄에서 0으로 계산됩니다. 가장 오래된 표시 줄의 색인 계산을 시작해야하는 시작은 다음과 같이 계산됩니다. 표시기를 부착하는 순간에 차트 창에 300 개의 막대가 있습니다 이것은 미리 정의 된 변수 막대의 값입니다. 앞에서 정의한 바와 같이 Countedbars는 0과 같습니다. 결과적으로 첫 번째 계산되지 않은 막대의 i 인덱스를 얻습니다. 계산을 시작해야하는 최신 값은 299입니다. 모두 표시 자 배열 요소의 값은 while 루프에서 계산됩니다. 첫 번째로 계산되지 않은 막대 299에서 현재 0까지의 범위 내에 있으면 표시기 배열 요소의 값이 두 표시기 행 모두에 대해 계산됩니다. 참고 : 표시기 배열 요소의 누락 값 은 특수 함수 시작의 첫 번째 시작 중에 계산됩니다 계산 중 클라이언트 터미널은 값이 계산 된 요소를 기억합니다 i가 0과 같을 때 마지막 반복이 수행됩니다. 즉, 표시기 배열의 값이 0 막대에 대해 계산됩니다 루프가 끝나면 특수 기능 시작이 실행을 끝내고 제어가 클라이언트 터미널로 전달됩니다. 차례대로 클라이언트 터미널이 모든 내용을 그릴 것입니다 배열 요소의 계산 된 값에 따라 두 개의 표시 줄이 있습니다. 다음 틱 시작은 클라이언트 터미널에 의해 다시 시작됩니다. 추가 작업은 상황에 따라 달라지며 300 막대에 대한 예제를 계속 분석합니다. 가변 1 새로운 틱 현재의 제로 바가 형성되는 동안 가장 일반적인 상황이 발생합니다. 그림 117 처리 된 진드기는 현재 바에 속합니다. 그림 117은 시간 t 1과 t 2의 순간에 터미널이 수신 한 두 개의 진드기를 보여줍니다. 분석 된 상황은 동일합니다 두 눈금에 대해 순간 시작된 시작 실행 추적 t 2 함수 시작시 다음 줄이 실행됩니다. IndicatorCounted는 값 299를 반환합니다. 즉, 마지막 시작 호출 이후 299 이전 막대는 없었습니다. changed 결과적으로 인덱스 값은 0 300-299-1과 같습니다. 이는 다음 while 루프에서 인덱스가 0 인 배열 요소의 값이 계산된다는 것을 의미합니다. 즉, 표시기의 새 위치 zero bar의 라인이 계산됩니다. 사이클이 끝나면 start는 실행을 멈추고 클라이언트 터미널에 제어를 넘깁니다. Variant 2 새로운 틱은 때때로 발생하는 제로 바의 첫 번째 틱입니다. Fig 118 처리됨 틱은 새로운 제로 바의 첫 눈금입니다. 이 경우 새로운 바가 등장한다는 사실이 중요합니다. 컨트롤이 특수 기능 시작으로 넘어 가기 전에 클라이언트 터미널은 보안 창에있는 모든 막대를 다시 그려서 다시 색인화합니다 모든 선언 된 표시기 배열은 버퍼에 대응하여 설정됩니다. 게다가 클라이언트 터미널은 차트 창에 이미 300 개가 아니라 301 개의 막대가 있음을 기억할 것입니다. 그림 118에는 순간 t2에서 이전 막대의 마지막 눈금에 상황이 포함되어 있습니다. 성공적으로 시작되고 실행되었습니다. 즉, 지표 1에 대한 첫 번째 막대가 지표 2에 의해 계산 된 순간에 완료되었지만 함수 IndicatorCounted는 이전 막대 즉 299에 있던 값을 반환합니다. 다음 줄에 인덱스 i가 계산됩니다. 이 경우 새 막대의 첫 번째 틱에 대해 1 301-299-1과 같습니다. 이는 표시기 배열 값의 계산을 의미하며 while 루프에서는 새 막대 모양이 모두 수행됩니다 마지막 바 및 새로운 제로 바 표시기 배열의 재 인덱싱 중에 조금 더 일찍 클라이언트 터미널이이 배열의 크기를 증가 시켰습니다. 인덱스가 0 인 배열 요소의 값이 루프에서 계산되기 전에 정의되지 않았습니다. 루프 계산에서 요소는 몇 가지 값을 얻습니다. 시작시 계산이 끝나면 클라이언트 터미널에 제어가 반환 된 후 클라이언트 터미널은 인덱스가 0 인 배열 요소의 방금 계산 된 값을 기준으로 표시 줄을 0 막대에 그립니다. 가변 3 새로운 눈금은 새로운 제로 바의 첫 번째 틱, 하지만 마지막 하나의 틱은 드문 경우 처리되지 않습니다. 119 이전 막대의 모든 틱이 처리 된 것은 아닙니다. 그림 119는 시작이 새로운 바 시간 t 5 이전 시간이 기능은 순간에 시작되었습니다. t 2 순간에 터미널에 온 tick 3 빨간색 화살표가 지시기에 의해 처리되지 않았습니다. 이것은 실행 시작 시간 t 2 - t 4가 틱 간의 간격 t 2 - t 3이 사실은 t 5에 시작된 시작 실행 중에 클라이언트 터미널에 의해 감지됩니다. line에서의 계산 중입니다. IndicatorCounted는 값 299를 반환합니다. 이 값은 true입니다. 마지막 표시기 호출 299 개 막대가 지금부터 변경되지 않았습니다. 301 배열 요소 값의 계산이 시작되어야하는 첫 번째 가장 왼쪽 막대의 계산 된 인덱스는 1 301-299-1과 같습니다. 실행 중 2 회 반복 수행 인덱스 i 1을 갖는 배열 요소의 첫 번째 값은 계산 될 것입니다. 즉, Buf0 1과 Buf1 1 계산이 시작될 때까지 막대와 표시기 배열은 이미 클라이언트에 의해 다시 색인화됩니다 특수 기능 시작의 시작 사이에 새 막대가 시작되었으므로 색인이 1 인 배열의 요소에 대한 계산은 색인 -1을 사용하여 막대 값의 최대 및 최소 값을 기준으로 계산됩니다. zero 인덱스를 가진 요소에 대한 while 값의 두 번째 반복은 배열의 마지막으로 알려진 값을 기반으로 계산됩니다. 사용자 정의 지표의 계산에 대해 설명한 기술을 사용하면 먼저 계산을 보장 할 수 있습니다 둘째, 계산되지 않은 막대에 대해서만 계산을 수행합니다. 즉, 경제적으로 계산 된 자원을 사용합니다. 지표의 요소 값을 계산할 때 막대가 계산되지 않는 것으로 간주됩니다. 막대의 마지막 틱 하나 이상은 수행되지 않습니다. 차트 윈도우에서 사용자 정의 표시기를 시작하면 두 개의 라인이 표시됩니다 - 막대 최대치에 따라 두꺼운 파란색 선이 표시됩니다 그림 120. 그림 120 징후에 의해 구축 된 보안 창에 두 개의 표시선이 있습니다. 사용자 정의 표시기를 만들 수 있음을 유의해야합니다. 표시기 선은 다음과 같은 선과 일치합니다. 유사한 기술 지표 사용자 지정 지표의 계산 공식으로 기술 지표와 동일한 수식이 사용 된 경우 쉽게 수행 할 수 있습니다. 이전 예제에서 분석 된 프로그램 코드를 향상시키기 위해 설명하십시오. 지표가 평균값 마지막 막대의 최대 값과 최소값 필요한 수식을 쉽게 계산할 수 있습니다. 배열의 평균 값을 찾기 만하면됩니다. timeseries 요소 예를 들어 인덱스가 3 인 지표 배열의 값 즉, 기준의 세 번째 막대의 표시선 좌표 마지막 5 최대 값의 최소값은 다음과 같이 계산됩니다. Buf0 3 높음 3 높음 4 높음 5 높음 6 높음 7 최소값에 기반한 표시기 선에 대해 자동 계산이 수행 될 수 있습니다. 간단한 맞춤형 표시기의 예 표시 줄은 N bars의 평균 최소값 및 최대 값에 따라 작성됩니다. 이 예제에는 외부 변수 AverBars가 있습니다. 이 변수를 사용하면 평균값이 계산되는 막대 수를 나타낼 수 있습니다 시작시이 값은 평균값 계산에 사용됩니다. 최대 값과 최소값의 합에 대한 루프에서 변수 AverBars 값에 해당하는 막대 수에 대해 계산됩니다. 다음 두 프로그램 행에서 표시기 배열 요소의 값 최소 및 최대 값에 해당하는 표시선에 대해 계산됩니다. 여기에 사용 된 평균화 방법은 기술 지표의 계산에도 적용됩니다. 이동 평균 분석 된 맞춤 표시기와 기술 지표 이동 평균을 첨부하면 세 개의 표시선이 표시됩니다. 동일한 평균 기간이 두 표시기에 대해 설정되고, 이동 평균선은 이에 대한 사용자 정의 표시기 선 중 하나와 일치합니다 그림 121에 설명 된 목적 매개 변수는 기술 지표 설정에서 지정해야합니다. 121 기술 지표 및 사용자 지정 지표의 일치 선은 빨간색 선입니다. 따라서 기술 지표를 사용하여 사용자는 실제 작업에 필요한 규칙 성을 반영 할 수 있습니다. 표시기 옵션. 별도의 Windows. MQL4에서 표시기 선 그리기는 맞춤형 표시기를 구성하는 데 필요한 대형 표시기를 제공하여 매우 편리하게 사용할 수 있습니다. 특히 표시기 선을 별도의 창에 그릴 수 있습니다. 표시기 선의 절대 값이 실질적으로 예를 들어 특정 역사적 간격의 막대 최대 값과 최소값의 차이에 관심이있는 경우 시간 간격에 따라이 값은 대략 0 ~ 50 포인트 (예 : M15)와 같습니다. 표시 줄을 만드는 것은 어렵지 않지만 보안 창에서이 선은 e 범위 보안 가격의 0 - 50 포인트, 즉 화면에 반영된 차트 영역보다 상당히 낮습니다. 매우 불편합니다. 표시 줄을 보안 창 아래쪽에있는 별도의 창에서 지시문 속성 프로그램 시작 매개 변수 표시기 분리 창을 지정해야합니다. 보안 표시기에 이러한 표시기가 연결되어있는 순간 클라이언트 단말기는 표시기에서 계산 된 표시 줄이 그려지는 별도의 창을 차트 아래에 만듭니다. 색상 설정 및 대부분의 경우 표시 줄은 가장 최근의 기록에만 유용한 정보를 포함합니다. 예를 들어, 1 개월 분의 시간 틀과 같이 예전의 막대 위에 만들어진 표시 줄의 부분은 다음과 같습니다. 무역 결정을 내릴 때 유용하지는 않습니다. 게다가, 차트 창에 막대 수가 많으면 시간이 계산 및 도면에 투자됩니다. 표시 줄이 부당하게 커 프로그램이 자주 컴파일 된 다음 시작될 때 프로그램 디버깅에서 중요 할 수 있습니다. 따라서 전체 기록이 아닌 최신 바 기록의 계산을 수행해야합니다. For 이 목적은 외부 변수 이력은 다음 프로그램에서 사용됩니다. 이 변수의 값은 표시기 배열의 요소를 계산해야하는 첫 번째 가장 왼쪽 막대의 색인을 계산할 때 고려됩니다. while 루프의 추가 계산은 히스토리 값보다 크지 않은 최근 히스토리 바의 수 계산 된 히스토리를 제한하는 분석 된 방법은 특수 기능 시작의 첫 번째 시작에서 수행 된 계산의 일부에만 해당됩니다. 또한, 새로운 바가 나타나면 표시기 라인의 새 부분 오른쪽 부분에 이미지가 추가되는 동안 왼쪽 부분의 이미지가 보존됩니다. 따라서 표시 줄의 길이는 wh 표시기 작동 시간 일반 히스토리 매개 변수의 값은 약 5000 bars로 간주됩니다. 간단한 사용자 정의 표시기의 예 표시기 선은 별도의 창에 그려집니다. 기술 지표에서 유사한 표시선이 계산됩니다 AverageTrue Range 그림 122는 표시기 선 별도의 창에 사용자 정의 인디케이터로 구성되고 다른 창에 ATR로 구성된 인디케이터 선이 경우에는 평균화 기간이 두 인디케이터에서 동일하기 때문에 라인은 완전히 동일합니다. - 5이 매개 변수가 표시기에서 변경되면 해당 표시기 라인도 변경됩니다. 그림 122 별도의 창에서 사용자 지정 표시기 라인 그리기 기술적 인 표시기 ATR 및 사용자 지정 표시기의 동일 라인. 그것은 또한 사용자 정의 표시기 라인은 전체 화면 너비에 대한 건설 아니라 분명하지만 50 외부 변수에 지정된 최신 막대 기록 상인이 더 큰 기록 간격을 사용해야하는 경우 extern의 값 al 변수는 사용자 지정 표시기 설정 창을 통해 쉽게 변경할 수 있습니다. 그림 123은 표시기가 다른 스타일로 그려진 보안 창을 보여줍니다 - 히스토그램으로 한 줄이 프로그램 코드에서 변경되었습니다 - 다른 줄 스타일은 표시됩니다. 다른 모든 코드 부분은 변경되지 않습니다. 그림 123 별도의 창 히스토그램에 사용자 정의 표시기 선 그리기 기술 지표 ATR 및 사용자 지정 지표의 도면 유사성. 가로 및 세로로 선이 이동합니다. 경우에 따라 표시 줄 MQL4 수단으로 쉽게 수행 할 수 있습니다. 사용자가 지정한 값에 따라 보안 창에서 표시 줄의 위치가 계산되는 예제를 분석합니다. 사용자 지정 표시기의 예 표시 줄을 가로 및 세로로 이동합니다. 차트의 라인 이동을 조정하기 위해 두 개의 외부 변수가 있습니다. - 모든 라인의 수평 이동을위한 LeftRight와 Verticall의 두 점선을 이동시키는 UpDown y. 해당 배열 요소의 값을 계산하는 데 사용되는 알고리즘은 매우 간단한 규칙을 기반으로합니다. 행을 가로로 이동하려면 배열 요소에 계산 된 값을 할당하고 오른쪽 방향으로 이동하려면 LeftRight로 인덱스가 더 커야합니다. 계산을 수행하는 막대의 색인보다 오른쪽으로 이동합니다. 수직으로 선을 이동하기 위해 UpDown Point는 초기 선 위치를 나타내는 표시기 배열의 각 값으로 아래로 이동하기 위해 위쪽으로 이동하거나 아래로 이동하기 위해 추가해야합니다. 분석 된 예제 색인은 라인에서 계산됩니다. 여기 i는 계산이 수행되는 막대의 색인이고, k는 표시기 배열 요소의 색인입니다. 지시자 배열을 기반으로 클라이언트 터미널에 의해 표시되는 빨간색 표시 줄 Line0은 사용자 정의 설정에 따라 왼쪽으로 5 막대, 초기 선에서 그림 124 참조하십시오. 이 경우 초기 선은 이동 평균이며 평균은 5와 같습니다. MA 계산의 High i Low i 2.이 예에서 빨간색 선의 위치는 두 개의 다른 선, 즉 차트의 위치에 대한 표시기 배열 값의 계산을위한 기초입니다. 점선은이 방법으로 계산됩니다. 색인 k를 사용하면 해당 기본 배열 Line0의 값을 계산하는 데 사용 된 것과 동일한 막대의 Line1, Line2 배열 요소에 대한 계산을 수행 할 수 있습니다. 결과적으로 점선은 빨간색 선을 기준으로 지정된 값만큼 시프트됩니다. 이 경우 30 점으로 지시자 설정 창 그림 124. 그림 124 빨간색 지시선이 5 개 막대만큼 왼쪽으로 이동합니다. 점선 지시선이 빨간색 지시선과 30 포인트만큼 이동합니다. 사용자 정의 지시자의 제한. 몇 가지 제한 사항이 있습니다 커스텀 인디케이터 프로그래밍에서 고려해야하는 MQL4에 있습니다. 커스텀 인디케이터에서만 사용할 수있는 기능 그룹이 있으며 전문가 어드바이저와 스크립트에서 사용할 수 없습니다. IndicatorBuff 반면에, Trade 함수는 표시기 OrderSend, OrderClose, OrderCloseBy, OrderDelete 및 OrderModify에서 사용할 수 없습니다. 반면에, IndicatorCounted, IndicatorDigits, IndicatorShortName, SetIndexBuffer, SetIndexBuffer, SetIndexDrawBegin, SetIndexEmptyValue, SetIndexLabel, SetIndexLabel, SetIndexStyle, SetLevelStyle, SetLevelValue. On 지표는 자체 흐름에서 작동하는 Expert Advisors 및 스크립트와는 다른 인터페이스 흐름에서 작동합니다. 이는 루핑을 기반으로 한 알고리즘을 사용자 정의 지표에서 사용할 수없는 이유이기도합니다. 실제 실행 시간과 관련하여 무한 루프가 포함 된 사용자 정의 지표가 시작될 수 있습니다 결과적으로 컴퓨터를 다시 시작해야하는 클라이언트 터미널이 끊어집니다. Expert Advisor, 스크립트 및 표시기의 일반적인 비교 특성은 표 2에 나와 있습니다.

Comments

Popular Posts