이렇게 문제를 해결해주셔서 감사합니다. 실제로 렌더링 속도가 빨라졌습니다. 도서관을 배워야 할 것 같습니다.
다음 뉘앙스를 명확히 하고 싶습니다. 이 공식은 경고와 함께 컴파일됩니다.
그리고 이것은 경고없이 속도가 약간 떨어집니다.
어떤게 더 좋아?)
그리고, 예, 나는 int를 넣는 것을 잊었습니다. 라이브러리는 이중 좌표에 대해 선명합니다. 속도는 떨어질 수 없습니다. (int) 거의 무료입니다. 나노초 미만입니다. 다음과 같이 넣을 수 있습니다.
y = Round(Canvas.Y(price));
속도도 영향을 받지 않지만(+ ~ 1ns) 위치 지정에서 조금 더 정확합니다.
iCanvas의 내장 Round 함수는 int를 반환하고 일반 round()보다 훨씬 빠르지만 이중 인수 x는 int 내에 있어야 합니다(-2 147 483 648 <= x <= 2 147 483 647).
int Ceil ( double x) { return (x-( int )x> 0 )?( int )x+ 1 :( int )x; }
int Round( double x) { return (x> 0 )?( int )(x+ 0.5 ):( int )(x- 0.5 );}
int Floor( double x) { return (x> 0 )?( int )x:(( int )x-x> 0 )?( int )x- 1 :( int )x; }
int Fabs( int x) { if (x< 0 ) return -x; elsereturn x;}
double X( double bar){ return (( double )W.Left_bar-bar)*W.dx_pix;}; //The X coordinate by the bar number. The bar number must be of type double, otherwise, the bar will be interpreted as time.double X( datetime Time) //The X coordinate by the time.
{ if (tester) return X(( double ) iBarShift ( _Symbol , _Period ,Time));
elsereturn X(wBarShift(Time,W.time, _Period ));}
double Y( double Price) { if (W.dy_pix== 0 ) W.dy_pix= 1 ; return ((W.Y_max-Price)/W.dy_pix); }; //The Y coordinate by the price.double Price( int y) { return (W.Y_max-y*(W.Y_max-W.Y_min)/W.Height);}; // Price by the Y coordinatedouble Bar( double x) { return (( double )W.Left_bar+ 1 -x/( double )W.dx_pix);}; // bar number by coordinate X datetime TimePos( double x) // time by coordinate X
{
double B=Bar(x);
if (tester || W.BarsInWind == 0 ) iT[ 0 ]= iTime ( _Symbol , _Period ,( int )B);
else { if (B< 0 ) iT[ 0 ]= datetime (W.time[W.BarsInWind- 1 ]-( long )B* PeriodSeconds ());
elseif (B<W.Right_bar || B>W.Left_bar) iT[ 0 ]= iTime ( _Symbol , _Period ,( int )B);
else iT[ 0 ]=W.time[W.BarsInWind-Floor(B)- 1 +( int )W.Right_bar];}
return iT[ 0 ]+ int (( double ) PeriodSeconds ()*( 1 -B+( int )B));
};
글쎄, 나는 그것에 대해 이야기 했다. 나는 단지 궁금합니다 - 당신이 그것을 스스로 할 수 있습니까? 그리고 나에게 조언을 반복하지 않습니까? 2개는 쉽게 나온다... 스튜디오의 코드는 더 짧습니다. 떨어뜨리지 않으면 내일 일어나면 제가 직접 쓰겠습니다. 그러나 나는 Fedoseev를 빈 사람이라고 부를 것입니다. ))
글쎄, 나는 그것에 대해 이야기 했다. 나는 단지 궁금합니다 - 당신이 그것을 스스로 할 수 있습니까? 그리고 나에게 조언을 반복하지 않습니까? 2개는 쉽게 나온다... 스튜디오의 코드는 더 짧습니다. 떨어뜨리지 않으면 내일 일어나면 제가 직접 쓰겠습니다. 그러나 나는 Fedoseev를 빈 사람이라고 부를 것입니다. ))
이렇게 문제를 해결해주셔서 감사합니다. 실제로 렌더링 속도가 빨라졌습니다. 도서관을 배워야 할 것 같습니다.
다음 뉘앙스를 명확히 하고 싶습니다. 이 공식은 경고와 함께 컴파일됩니다.
그리고 이것은 경고없이 속도가 약간 떨어집니다.
어떤게 더 좋아?)
그리고, 예, 나는 int를 넣는 것을 잊었습니다. 라이브러리는 이중 좌표에 대해 선명합니다.
속도는 떨어질 수 없습니다. (int) 거의 무료입니다. 나노초 미만입니다.
다음과 같이 넣을 수 있습니다.
속도도 영향을 받지 않지만(+ ~ 1ns) 위치 지정에서 조금 더 정확합니다.
iCanvas의 내장 Round 함수는 int를 반환하고 일반 round()보다 훨씬 빠르지만 이중 인수 x는 int 내에 있어야 합니다(-2 147 483 648 <= x <= 2 147 483 647).
iCanvas를 살펴보면 질문이 사라집니다.
그래도 Canvas로 작업하는 것이 훨씬 더 즐겁습니다. 투명도를 적용할 수 있고 더 빠르고 코드가 적은 공간을 차지합니다.)):
이렇게 문제를 해결해주셔서 감사합니다. 실제로 렌더링 속도가 빨라졌습니다. 도서관을 배워야 할 것 같습니다.
다음 뉘앙스를 명확히 하고 싶습니다. 이 공식은 경고와 함께 컴파일됩니다.
그리고 이것은 경고없이 속도가 약간 떨어집니다.
어떤게 더 좋아?)
루프 전에 각 다시 그리기 이벤트에서 한 번만 호출되도록 루프에서 이 코드를 가져옵니다.
라이브러리를 배우는 것보다 정말 어렵습니까?
물 속의 물고기처럼 :)
PNB2))
루프 전에 각 다시 그리기 이벤트에서 한 번만 호출되도록 루프에서 이 코드를 가져옵니다.
라이브러리를 배우는 것보다 정말 어렵습니까?
글쎄, 나는 그것에 대해 이야기 했다.
나는 단지 궁금합니다 - 당신이 그것을 스스로 할 수 있습니까? 그리고 나에게 조언을 반복하지 않습니까?
2개는 쉽게 나온다...
스튜디오의 코드는 더 짧습니다.
떨어뜨리지 않으면 내일 일어나면 제가 직접 쓰겠습니다. 그러나 나는 Fedoseev를 빈 사람이라고 부를 것입니다. ))
글쎄, 나는 그것에 대해 이야기 했다.
나는 단지 궁금합니다 - 당신이 그것을 스스로 할 수 있습니까? 그리고 나에게 조언을 반복하지 않습니까?
2개는 쉽게 나온다...
스튜디오의 코드는 더 짧습니다.
떨어뜨리지 않으면 내일 일어나면 제가 직접 쓰겠습니다. 그러나 나는 Fedoseev를 빈 사람이라고 부를 것입니다. ))
나에 대한 당신의 생각에 놀라울 정도로 감명을 받았습니다))
나에 대한 당신의 생각에 놀라울 정도로 감명을 받았습니다))
적게 말하고 더 많이 일하라
예를 들어 주셔서 감사합니다! 매우 시각적이고 유익하며 중요하지 않습니다. 빠릅니다.
개체 목록에 있는 캔버스 예제의 모든 그래픽은 하나의 개체처럼 보입니다.
개별 그래픽 요소 위로 마우스를 가져갈 때 다른 도구 설명(도구 설명)을 얻을 수 있습니까?
또는 각 개별 사각형이 자체 캔버스 개체를 담을 수 있도록 하시겠습니까? 그러면 속도에 영향을 주나요?
시간이 있다면 답변과 코드 예제를 기다리고 있습니다.