본문 바로가기
취미/주식

tradingview Pine Script 파인스크립트 사용해보기 , Pine Script v5와 v6 주요 차이점

by icebear3000 2025. 6. 1.
반응형

Pine Script v5와 v6의 주요 차이점

Pine Script v6는 2024년 12월 10일에 출시된 최신 버전으로, v5 대비 상당한 개선사항과 새로운 기능들을 포함하고 있습니다


동적 데이터 요청 (Dynamic Requests)

v5의 제한사항: request.*() 함수들은 "simple string" 값만 사용 가능했으며, 심볼과 타임프레임이 첫 번째 실행 시 결정되어 변경될 수 없었습니다. 또한 전역 스코프에서만 실행 가능했습니다

 

v6의 개선사항: 모든 request.*() 함수가 기본적으로 동적으로 작동하며, "series string" 인수를 사용할 수 있게 되었습니다. 이제 루프, 조건문, 라이브러리 함수 내부에서도 호출 가능하며, 단일 호출로 역사적 바에서 요청되는 데이터 피드를 변경할 수 있습니다

// v6에서 가능한 동적 요청 예시
var symbols = array.from("AAPL", "MSFT", "GOOGL")
for i = 0 to array.size(symbols) - 1
    close_price = request.security(array.get(symbols, i), "D", close)

불린 로직 최적화

v5: 불린 값이 na가 될 수 있었고, andor 연산자가 모든 조건을 평가했습니다

 

v6: 불린 값은 엄격히 true 또는 false만 가지며, na가 될 수 없습니다. andor 연산자에 단락 평가(short-circuit evaluation) 기능이 추가되어 불필요한 표현식 평가를 건너뛰어 성능이 향상되었습니다

// v6에서 가능한 단락 평가
if myArray.size() != 0 and myArray.first()
    // v5에서는 오류 발생, v6에서는 정상 작동

텍스트 서식 개선

v5: 기본적인 텍스트 표시만 가능했습니다

 

v6: 새로운 text_formatting 매개변수가 추가되어 굵게, 기울임체 등의 텍스트 서식을 적용할 수 있습니다. 또한 타이포그래픽 포인트 크기를 사용한 정밀한 텍스트 크기 조정이 가능합니다

label.new(bar_index, high, "중요", text_formatting=text.format_bold)

전략 주문 관리 개선

v5: 9,000개 거래 제한에 도달하면 계산이 중단되었습니다

 

v6: 9,000개 거래 제한을 초과하면 가장 오래된 거래를 자동으로 제거하여 시뮬레이션이 중단되지 않습니다. 새로운 strategy.closedtrades.first_index 변수로 제거된 주문을 추적할 수 있습니다


배열 기능 향상

v5: 양의 인덱스만 사용 가능했습니다

 

v6: 음수 인덱스를 사용하여 배열의 끝에서부터 요소를 참조할 수 있습니다. 예를 들어, array.get(myArray, -1)은 마지막 요소를 가져옵니다


정수 나눗셈의 소수점 처리

v5: 두 정수를 나누면 소수 부분이 버려졌습니다

 

v6: 두 "const int" 값의 나눗셈이 소수 값을 반환할 수 있습니다

plot(5 / 2) // v5: 2, v6: 2.5

기타 주요 변경사항

매개변수 중복 제거: 함수 호출 시 동일한 매개변수에 대해 여러 인수를 포함할 수 없습니다

 

오프셋 매개변수 제한: plot() 함수의 offset 매개변수가 더 이상 "series" 값을 허용하지 않습니다

 

transp 매개변수 제거: 모든 관련 함수에서 transp 매개변수가 제거되었습니다

 

타임프레임 형식 변경: timeframe.period 값이 이제 항상 승수를 포함합니다(예: "D" 대신 "1D")


마이그레이션 도구

 

Pine Editor는 자동 변환 도구를 제공하여 v5 스크립트를 v6로 쉽게 변환할 수 있습니다

 

"Manage script" 메뉴에서 "Convert code to v6" 옵션을 선택하면 됩니다. 다만 일부 스크립트는 수동 조정이 필요할 수 있습니다

반응형

댓글