스크립트나 스트래티지가 페이지 리프레쉬 뒤에 결과가 달라집니다 (리페인팅)

히스토리 데이터에는 프라이스가 바안에서 어떻게 움직였는지에 대한 정보가 없습니다; 오로지 시고저종 (OHLC). 이런 까닭으로 스크립트가 리얼타임과 히스토리 데이터에 대해 때때로 다르게 돌아가곤 합니다. 리얼타임 데이터에서는 오로지 오픈 프라이스만 알 수 있고 마지막 하이, 로우, 클로즈 밸류는 리얼타임 바가 클로즈되고 나서야 정해지기 때문입니다.

차트에 스트립트를 넣고 다수의 리얼타임 바에 대해 셈을 할 때까지 기다린 뒤 페이지를 리로드하게 되면 스크립트 플롯이 살짝 달라져 있는 것을 볼 수 있습니다. 이러한 인디케이터 리페인팅  이라 불리는 현상의 하나입니다. 이러한 리페인팅은 스크립트에서 어떤 특성을 쓰게 될 경우 히스토리와 리얼타임 바에 대해 그 셈이 달라지기 때문에 나타나는 현상입니다.

다른 타입의 리페인팅에는 지난 바에 대한 네가티브 오프셋과 security 펑크션을 잘 못 콜함으로써 알 수 없는 미래 정보를 써서 플롯팅함으로 생기는 리페인팅이 있습니다. 이런 경우 스크립트를 셈하면서 그에 필요한 리얼타임 데이터를 쓸 수 없게 됩니다.

모든 인디케이터가 여기 나오는 리페인팅 문제가 있는 것은 아니고, 특정 펑크션이나 랭귀지 요소가 코드에 쓰였을 경우에 나타납니다. 리페인팅은 버그가 아닙니다.  트레이딩뷰의 리얼타임 및 히스토리 데이터의 근본적인 차이로 인한 결과일 뿐입니다.

다음 경우 리페인팅이 나타납니다:

1. calc_on_every_tick=true 를 쓰는 스트래티지. calc_on_every_tick = false 파라미터를 쓰는 스트래티지는 심하지는 않지만 리페인팅이 나타나곤 합니다.

2. 차트 메인 심볼 레졸루션보다 더 큰 레졸루션 데이터를 security 를 써서 리퀘스트할 때:

// Add this study on 1 minute chart
//@version=4
study("My Script")
c = security(syminfo.tickerid, "5", lose)
plot(close)
plot(c, color=color.red)

이 스터디는 리얼타임과 히스토리 데이터에 따라 다르게 셈이 됩니다. 룩어헤드 파라미터 밸류와는 상관없습니다 (룩어헤드란? 를 보십시오).

3. 차트 메인 심볼 레졸루션보다 더 작은 레졸루션 데이터를 security 를 써서 리퀘스트할 때 (자세한 내용은 여기에) :

// Add this study on 5 minute chart
//@version=3
study("My Script")
c = security(tickerid, "1", close, lookahead=false)
plot(close)
plot(c, color=red)

lookahead=false이면 리페인팅이 일어납니다. lookahead=true이면 리페인팅은 잘 일어나지 않습니다. 그래도 1분 과 5분 업데이트가 서로를 앞질러 달릴 때는 (outrun) 리페인팅이 일어날 수 있습니다.

4. 계산이 스타팅 포인트 에 의존하는 모든 스크립트들. 인트라데이 데이터는 레졸루션에 따라 주, 달, 해초로 얼라인됩니다. 이 때문에 스크립트 결과가 시간에 따라 다를 수 있습니다. 스타팅 포인트에 의존하는 스크립트 케이스가 아래에 나옵니다:

  • when they use valuewhen, barssince or ema functions (due to peculiarities in their algorithm)
  • any backtesting strategy (regardless of how the calc_on_every_tick parameter is defined)

레졸루션과 스타팅 포인트 얼라인먼트사이에는 의존성이 있습니다:

  • 1–14 minutes — aligns to the beginning of a week
  • 15–29 minutes — aligns to the beginning of a month
  • from 30 minutes and higher — aligns to the beginning of a year

히스토리 렝쓰에 대한 다음 제한은 데이터 프로세싱때 고려가 됩니다:

  • 10000 historical bars for all Pro plans
  • 5000 historical bars for other plans

5. 보기로, 스플릿으로 인한 히스토리 데이터 바뀜

6. 스크립트에 아래 베어리어블이 들어 있으면 보톨 리페인팅이 일어납니다:

홈으로 스탁 스크리너 포렉스 스크리너 크립토 스크리너 이코노믹 캘린더 사용안내 차트 특징 프라이싱 프렌드 리퍼하기 하우스룰(내부규정) 헬프 센터 웹사이트 & 브로커 솔루션 위젯 차팅 솔루션 라이트웨이트 차팅 라이브러리 블로그 & 뉴스 트위터
프로화일 프로화일설정 계정 및 빌링 프렌드 리퍼하기 나의 서포트 티켓 헬프 센터 공개아이디어 팔로어 팔로잉 비밀메시지 채팅 로그아웃