차트 창 새로 고침 - 페이지 3

 
잘 작동하고 있습니다. 다시한번 감사합니다,,,
 
phy :

GV는 무엇입니까?

최근에 하고 있는 작업은 다음과 같습니다.

for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){

모든 눈금에 표시기의 보이는 부분을 다시 그리지만 보이지 않는 막대는 다시 그리지 않습니다.

안녕, 피.....

위와 같은 문제가 있더라도 수동으로 시간 프레임을 변경해야 하고 새로 고침 표시기 상태가 표시됩니다.....

코딩을 처음 하기 때문에 매직 라인을 추가할 위치를 모릅니다.............

for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){

제안해주세요....

정말 감사합니다.

괴롭히다.

 
brspMA :
잘 작동하고 있습니다. 다시한번 감사합니다,,,

안녕하세요, brspMA

저도 같은 고민을 하고 있습니다...........

그 라임을 어디다 넣어야 하는지 알려주실 수 있나요...

감사해요......

 
  1. 5년된 스레드에 게시하는 이유는 무엇입니까? 몇 년 동안 게시물을 올리지 않은 사람이 답장을 해주기를 정말로 기대하십니까?
  2.  for ( int i = MathMax (WindowFirstVisibleBar(), Bars -IndicatorCounted()); i>= 0 ; i--){
    이미 모든 막대를 그렸으므로 막대 0만 변경됩니다. 보이는 막대를 다시 그리는 요점이 무엇입니까
  3. 기간 변경, 차트 새로 고침 등은 이미 IndicatorCounted에 의해 처리되며 누락된 -1을 제외하고 추가 코드가 필요하지 않습니다. 가장 왼쪽 막대는 Bars-1입니다.
  4. hp69 : 같은 현상이...........
    지표가 새로 고침 없이 업데이트되지 않으면 지표가 고장난 것이 문제입니다. 해당 루프를 변경하면 도움이 되지 않습니다. 표시기를 수정해야 합니다. 처음으로(그리고 새로 고침) 모든 막대를 그립니다. 다른 대부분의 틱 Bars-1-IndicatorCounted()는 0이 됩니다. 루프는 한 번 실행됩니다. 이전 막대에서 버퍼에 저장된 값 대신 초기화되지 않은 변수를 사용하고 있습니다. 알아낼 수 없으면 코드로 새 게시물을 엽니다.
  5. Hp69 이중 게시 금지
 


스레드 시작일 - 2007.11.29
 

WHRoeder - 5년 된 스레드에 게시하는 이유는 무엇입니까?

RaptorUK - 스레드 시작일 - 2007.11.29

==============================

오래된 쓰레드에 답글을 달면 어떤 문제가 있나요?

Google은 필터를 사용하지 않는 한 연대순으로 콘텐츠를 차별하지 않으므로 검색 엔진을 통해 스레드를 접하게 되는 다른 사람들을 돕는 데 아무런 문제가 없습니다.

모드들은 멍청한 놈을 비방하고 정죄하는 법을 가르치는 학교에 가나요?

 
FlatFap :

WHRoeder - 5년 된 스레드에 게시하는 이유는 무엇입니까?

RaptorUK - 스레드 시작일 - 2007.11.29

=============================

오래된 쓰레드에 답글을 달면 어떤 문제가 있나요?

Google은 필터를 사용하지 않는 한 연대순으로 콘텐츠를 차별하지 않으므로 검색 엔진을 통해 스레드를 접하게 되는 다른 사람들을 돕는 데 아무런 문제가 없습니다.

모드들은 멍청한 놈을 비방하고 정죄하는 법을 가르치는 학교에 가나요?

원칙적으로 오래된 쓰레드에 답글을 다는 것은 문제가 없습니다.

다른 사람을 귀찮게 하는 것은 주제와 상관없는 답변입니다.

또한 mql4가 시간이 지남에 따라 진화하기 때문에 5년 된 질문에 대한 응답은 종종 유용하지 않습니다. 오래된 스레드를 목록의 맨 위로 가져오는 것은 멍청한 놈이 더 이상 관련이 없는 정보를 읽고 있다는 것을 의미합니다.

 
FlatFap, 낙담할 필요가 없습니다. 오래된 스레드에 답장하는 것은 완벽합니다. Google이 이 스레드를 검색 목록의 맨 위에 올렸다는 바로 그 사실은 이것이 당신이 찾고 있는 것과 가장 근접하게 일치한다는 것을 의미합니다. MQL4는 다른 애플리케이션과 마찬가지로 진화하고 있지만 대부분의 명령 기능 은 매일 바뀌지 않으며 약간의 시행착오와 추가 연구를 통해 원하는 솔루션을 얻을 수 있습니다. 행운을 빕니다!
 

지표를 다시 그려야 할 수도 있지만 얼마나 많은 막대를 다시 그려야 하는지 모릅니다. 프랙탈 표시기를 만드는 경우 왼쪽에 있는 다음 2개의 막대가 규칙을 충족하면 세 번째 막대가 프랙탈이 될 수 있기 때문에 마지막 3개의 막대를 다시 계산해야 합니다. 지지선이나 저항선이 깨졌을 때 표시하는 지표를 만들었습니다. 그러나 이것은 10개 막대 또는 1000개 막대 후에 추가될 수 있습니다. 따라서 얼마나 많은 막대를 다시 계산해야 하는지 모릅니다. 그리고 각 틱의 모든 막대를 다시 계산하면 일반적으로 지표를 마지막 500개 또는 1000개 막대로 제한해야 합니다.

차트를 새로 고쳐 지표의 모든 막대를 다시 계산할 수도 있습니다. 하지만 프로그래밍 방식으로 어떻게 할까요? WindowsRedraw() 및 ChartRedraw()는 표시기에 대해 새로 고침을 트리거하지 않습니다. 다른 시간 프레임을 변경하고 돌아오면 첫 번째 게시물에 설명된 대로 지표가 다시 계산됩니다. 차트에 CHARTEVENT_CLICK 핸들러가 있는 Expert를 넣은 다음 ChartSetSymbolPeriod(0, NULL, 0) 메서드를 호출할 수 있습니다. 이것은 차트를 실제 기호 기간으로 설정하고 실제로 차트를 클릭할 때마다 표시기가 자동으로 다시 계산되도록 합니다. 클릭 이벤트를 사용하는 것은 예시일 뿐이며 원하는 방식으로 사용할 수 있습니다.

 

표시기 코드 끝에 "ChartNavigate(0,CHART_CURRENT_POS,0);"

{

...

ChartNavigate(0,CHART_CURRENT_POS,0);

반환(요금 합계);

}