표시기를 재설정하여 처음부터 모두 다시 그리도록 강제하는 것 같습니다!? 내 문제는 새 데이터의 기능에서 과거 데이터를 변경하는 기능 을 사용하고 있으며 결과는 시간이 지남에 따라 내 차트가 대량이된다는 것입니다. 전체 지표를 주기적으로 다시 그려야 합니다. 최근에 저는 시간 프레임을 변경하여 원래의 시간 프레임으로 돌아가면 차트 창을 깨끗하게(다시 그려짐) 얻을 수 있습니다. 내 코드의 스키마는 다음과 같습니다.
intstart(){intlimit;
intcounted_bars=IndicatorCounted();
//---- check for possible errorsif(counted_bars<0)return(-1);
//---- last counted bar will be recountedif(counted_bars>0)counted_bars--;
limit=Bars-counted_bars;
if(limit>GV)limit = GV;
//---- main loopfor(inti=limit; i>=1; i--){{calculatesthevariableandfeedthebuffers}return(0);}
intstart(){intlimit;
intcounted_bars=IndicatorCounted();
//---- check for possible errorsif(counted_bars<0)return(-1);
//---- last counted bar will be recountedif(counted_bars>0)counted_bars--;
limit=Bars-counted_bars;
doublestartTime=GetTickCount();
if(limit>GV)limit = GV;
//---- main loopfor(inti=limit; i>=1; i--){{calculatesthevariableandfeedthebuffers}doublefinishTime=GetTickCount();
Print("Calculation time is ",(finishTime-startTime)/1000.0," seconds");
return(0);}
"문제"는 표시기가 제한을 사용하는 것일 수 있습니다. 즉 IndicatorCounted () 함수
바를 다시 칠하지 않기 위해.
시간 프레임을 변경하면 재설정되지만 WindowRedraw()는 그렇지 않을 수 있습니다. 그 기능은 지표 인덱스가 아니라 객체를 다시 그리는 것입니다.
나는 보통 내가 쓰는 것의 대부분에 대해 1000바 정도를 다시 계산한다는 것을 알고 있습니다.
새로 고침을 마우스 오른쪽 버튼으로 클릭하면 시작됩니다.
표시기의 루프를 심각하게 제한하지 않으면 매 틱마다 표시기가 새로 고쳐집니다.
정말 감사합니다,
당신은 "읽기 어렵다"?
거의 두 달만에 마지막 답변을 받았습니다. 어떻게 건너뛰었는지 모르겠네요. "내 지표 다시 그리기"에 여전히 문제가 있습니다. 이제 나는 당신이 나에게 준 정보로 문제를 해결하려고 노력할 것입니다. 정말 고마워,,,
코드를 보여주세요...
안녕 파이,
거의 두 달만에 마지막 답변을 받았습니다. 어떻게 건너뛰었는지 모르겠네요. "내 지표 다시 그리기"에 여전히 문제가 있습니다. 이제 나는 당신이 나에게 준 정보로 문제를 해결하려고 노력할 것입니다. 정말 고마워,,,
표시기를 재설정하여 처음부터 모두 다시 그리도록 강제하는 것 같습니다!? 내 문제는 새 데이터의 기능에서 과거 데이터를 변경하는 기능 을 사용하고 있으며 결과는 시간이 지남에 따라 내 차트가 대량이된다는 것입니다. 전체 지표를 주기적으로 다시 그려야 합니다. 최근에 저는 시간 프레임을 변경하여 원래의 시간 프레임으로 돌아가면 차트 창을 깨끗하게(다시 그려짐) 얻을 수 있습니다. 내 코드의 스키마는 다음과 같습니다.
정말 감사합니다,,,
GV는 무엇입니까?
최근에 하고 있는 작업은 다음과 같습니다.
for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){
모든 눈금 에 표시기의 보이는 부분을 다시 그립니다. 하지만 보이지 않는 막대는 다시 그리지 않습니다.
GV는 무엇입니까?
최근에 하고 있는 작업은 다음과 같습니다.
for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){
모든 눈금에 표시기의 보이는 부분을 다시 그리지만 보이지 않는 막대는 다시 그리지 않습니다.
당신들은 멋진데!! 오늘 오후에 이 코드를 구현하겠습니다.
당신의 관대함에 감사드립니다,,,