드로잉 속성 DRAW_FILLING을 사용하여 게시된 코드를 사용하여 나만의 인디케이터를 작성하려고 했습니다.
그러나 빈 값으로 구분 된 인접한 그려진 섹션이 고착되는 문제가 있습니다.
두 개의 그려진 섹션이 하나의 창에 나타나면 EMPTY_VALUE 값을 가진 표시기 섹션으로 구분되어 있음에도 불구하고이 빈 섹션은 여전히 인접한 섹션의 값으로 그려집니다.
세션 표시기에 대한 게시된 코드가 저에게 맞지 않아서 모든 것을 다시 작성하기로 결정했습니다.
다음은 초안입니다.
이 옵션만 제공할 수 있습니다.
고맙지만 조금은 가지 않고 그래프 개체에서 멈출 것입니다.
고맙지만 조금은 가지 않을 것입니다, 나는 그래프 개체에서 멈출 것입니다.

- www.mql5.com
동일한 문제가 발생했습니다 (빈 값 영역에 고착). 위에서 직사각형을 얻는 것이 불가능하다고 말했지만 이러한 직사각형을 그리는 예제(거래 세션 표시기)가 있기 때문에 주제를 파헤치기로 결정했습니다.
솔직히 말해서 위의 지표에서 직사각형을 얻는 방법을 이해할 수 없었습니다. 따라서 플랫폼 개발자, 저자, 타사 개발자로부터 어떤 설명이라도 감사하겠습니다.
반면에 실험 과정에서 직사각형을 얻는 것이 그렇게 어렵지 않다는 것이 밝혀졌습니다. 빈 값 섹션 다음에 파일링 버퍼를 교체하기 만하면됩니다. 즉, 이 코드
... //--- for ( int bar = startBar; bar < rates_total && !IsStopped(); bar++ ) { if ( prev_calculated != rates_total && bar == rates_total - 1 ) { _up = up; } if ( bar % 4 == 0 ) { if ( up ) { draw(bar, high[bar], low[bar]); up = false; } else { draw(bar, low[bar], high[bar]); up = true; } } } //--- 다음 호출을 위한 prev_calculated의 반환 값 return(rates_total); } //+------------------------------------------------------------------+ void draw(int bar, double price1, double price2) { //--- int start = bar-2; for ( int i = start; i <= bar; i++ ) { FillingBuffer1[i] = price1; FillingBuffer2[i] = price2; } //--- }
는 이 결과를 제공합니다:
문제가 해결된 것처럼 보입니다. 사용자가 지정한 시간 간격을 매일 할당하는 인디케이터를 작성했는데 새로운 사실을 알게 되었습니다:
아무리 비틀어도 "부작용"을 제거할 수 없다는 것입니다. 첫 번째 경우(위의 코드와 그림)에서는 이와 같은 현상이 관찰되지 않았습니다.
따라서 질문이 생겼습니다:
- 거래 세션 표시기(게시물 시작 부분의 링크)가 빈 값 영역에 달라붙는 문제가 없는 이유는 무엇인가요?
- 왜 어떤 경우에는 직사각형이 정상적으로 그려지고 다른 경우에는 부작용이 발생합니까? 코드는 게시물 끝에 첨부되어 있습니다. (예, 그러한 현상이 항상 발생한다면 다각형에 대한 진술에 동의합니다).
나는 반복한다 : 나는 모든 설명에 감사 할 것이다.
추신 : 나에게 보이는 것처럼 직사각형 문제에 대한 해결책은 물체에 대한 좋은 대안입니다 (어떻게 든 실제로 사용하고 싶지 않은). 결국, 그것은 시간 간격, 선형 반전, 다바스 영역, 다양한 패턴의 선택 등의 동일한 선택입니다.
추신 : 시간대 표시기를 코드베이스에 넣을 생각을했지만 (이 "왼쪽"막대가있는) 그만한 가치가 있습니까?
범위를 채우지 않는 경우 PlotIndexSetDouble (1,PLOT_EMPTY_VALUE,EMPTY_VALUE); 를 사용합니다.
어떤 때는 효과가 있지만 어떤 때는 효과가 없는 이유는 무엇인가요?

DRAW_FILLING:
DRAW_FILLING 그리기 스타일을 사용하면 두 지표의 버퍼 값을 사용하여 영역을 나타낼 수 있습니다. 실제로는 두 개의 선을 그리고 그 사이의 영역을 지정된 색상으로 채웁니다.
작성자: MetaQuotes