스크립트 퍼블리싱 룰
이 규칙은 TradingView의 모든 공개 스크립트에 적용됩니다. 초대 전용 스크립트를 게시하는 등 벤더로 간주될 기준을 충족하는 경우, 당사의 벤더 요건도 충족해야 합니다.
이 규칙은 스크립트 게시에만 해당됩니다. 이 규칙 외에도 TradingView의 일반 하우스 룰이 스크립트 작성자에게 적용됨을 유의하십시오.
스크립트 작성자에게 유용한 추가 정보는 다음에서 확인하실 수 있습니다:
- 스크립트 작성자를 위한 팁
- TradingView의 스크립트 검토
- 스크립트 게시 관련 Pine 사용자 매뉴얼
- 스크립트의 개인정보 보호
- 이용약관, 정책 및 면책조항 (제20조는 스크립트를 다룹니다)
스크립트 가시성
TradingView의 모든 계정 유형 사용자는 스크립트를 공개 또는 비공개로 게시할 수 있습니다. 스크립트에 선택한 공개/비공개 가시성과 관계없이, 계정 유형에서 허용하는 모든 소스 또는 접근 제어 게시 모드(오픈소스, 보호됨, 초대 전용)를 사용할 수 있습니다. 게시한 모든 스크립트는 사용자 프로필의 ‘스크립트’ 탭에 표시됩니다.
비공개 스크립트
비공개 스크립트는 검토되지 않으며 본인 외에는 누구에게도 보이지 않습니다. 비공개로 게시하기로 선택한 경우, 해당 게시물이 TradingView의 다른 곳에서는 익명으로 처리되어야 함을 반드시 수락해야 합니다. 공개된 TradingView 콘텐츠에서 해당 스크립트를 참조하거나 링크할 수 없습니다.
스크립트 페이지에서 브라우저의 URL을 복사하여 링크를 얻은 후, 친구나 고객에게 스크립트 링크를 보내 비공개 게시물을 공유할 수 있습니다.
공개 스크립트
공개 스크립트는 TradingView의 공개 라이브러리에 표시되며, 수백만 TradingView 사용자와 링크에 접근 가능한 모든 인터넷 사용자에게 공개됩니다. 공개 스크립트는 다음 요건을 충족해야 합니다:
언어
- 공개 라이브러리는 모든 언어 버전의 TradingView에서 공통으로 사용됩니다. 모든 회원이 게시된 스크립트를 활용할 수 있도록 영어를 주된 언어로 사용해야 합니다:
- 게시물 제목은 영어로만 작성해야 합니다.
- 설명에는 다른 언어를 사용할 수 있으나, 반드시 영어를 먼저 기재해야 합니다.
- 작성자는 게시된 스크립트의 사용자 인터페이스 텍스트에 영어 외 언어를 사용할 수 있으나, 이 경우 게시물 설명에 해당 텍스트의 영어 번역본을 반드시 함께 제공해야 합니다.
독창성과 유용성
- 스크립트 게시물 설명란은 커뮤니티에 스크립트의 독창성과 트레이더에게 유용한 이유를 설명하는 공간입니다. 설명에 이러한 내용이 포함되지 않으면 관리자가 게시물을 숨깁니다.
- 스크립트가 독창적이며 커뮤니티 스크립트에 가치를 더할 수 있도록 하십시오. 오픈소스 빌트인, 자동 생성 코드, 당사 또는 제3자 학습 자료의 코드, 기타 공개 도메인 코드를 재탕하는 것은 피하십시오. 이러한 연습은 Pine을 배우는 데 도움이 될 수 있지만, TradingView의 지식 체계에 기여하지는 않습니다.
- 새 스크립트 없이 설정법을 공유하려면 스크립트 대신 아이디어를 게시하세요. 예를 들어, 서로 다른 매개변수 값을 가진 이동평균 설정은 새 스크립트 게시가 필요하지 않습니다.
- 스크립트 내에서 인디케이터나 다른 코드를 결합할 경우, 게시물 설명에 결합 이유와 구성 요소 간 상호작용 방식을 반드시 명시해야 합니다. 인디케이터나 코드 병합 외에 다른 목적이 없는 결합은 새 스크립트 게시가 허용되지 않습니다.
- 오픈소스 스크립트가 이미 수행하는 기능을 재현하는 비공개 소스 스크립트는 허용되지 않습니다. 비공개 소스 스크립트의 설명에 소스 보호가 필요한 고유한 점이 입증되지 않으면, 관리자가 게시물을 숨깁니다.
- 작성자는 비공개 소스 스크립트의 동작을 재현하려는 시도를 게시할 수 있으나, 해당 스크립트의 소스 코드에 접근할 수 없으므로 그러한 리버스 엔지니어링 시도가 스크립트 동작을 재현한다는 암시적 또는 명시적 주장이나 시연은 허용되지 않습니다.
- 운영진은 가끔 하우스 룰의 취지에 어긋나는 스크립트의 일회성 게시를 용인할 수 있으나, 습관화될 경우 숨길 것입니다. 독창성이 부족한 스크립트, 폐쇄형 소스 스크립트의 리버스 엔지니어링 시도 등이 이에 해당합니다.
- 게시하는 스크립트는 전체적으로 본인의 관심사와 전문성을 반영해야 합니다. 특정 기능이 타인의 스크립트와 비슷할 수는 있으나, 여러 작성자의 스크립트를 모방하려는 시도는 허용되지 않습니다.
제목
- 7비트 ASCII 문자 집합만 사용하십시오. 이모티콘 및 특수 효과 문자는 허용되지 않습니다.
- BB, SR 등과 같은 약어를 제외하고 제목의 어떤 부분도 대문자로만 작성하지 마십시오.
- 영어만 사용하십시오.
설명
- 트레이더가 스크립트의 독창성, 기능, 작동 방식 및 사용법을 이해할 수 있도록 상세하고 의미 있는 설명을 작성하십시오. 계산의 기반이 되는 개념을 트레이더에게 제시하십시오. 단순히 “추세 추종형”이나 “스캘핑용”이라고만 언급하는 것은 트레이더에게 큰 도움이 되지 않습니다. 수백 가지 추세 탐지 또는 스캘핑 방법 중 어떤 방식을 사용하는지 구체적으로 제시하는 것이 훨씬 유용합니다.
- 스크립트 설명은 독립적으로 이해 가능해야 하며, 오픈소스 코드나 외부 링크/참조 자료에 의존하여 스크립트 목적을 명확히 할 수 없습니다.
- 비공개 소스 스크립트 설명은 트레이더가 해당 스크립트가 주장하는 기능을 어떻게 수행하는지 이해할 수 있도록 해야 합니다. 스크립트의 모든 기본 논리를 공개할 것을 요구하지는 않지만, 비공개 소스 스크립트를 게시할 경우 독창적인 기능을 수행한다고 가정하며, 이 경우 트레이더와 관리자가 그 기능의 일부를 이해할 수 있어야 합니다.
- 오픈소스 스크립트 게시자는 TradingView 사용자 중 파인(Pine)을 읽을 수 있는 사람이 거의 없다는 점을 명심해야 합니다. 그들은 스크립트 사용법을 이해하기 위해 귀하의 설명에 의존합니다.
- 오픈소스 및 보호 스크립트는 정의상 무료입니다. 게시물에 이를 광고할 필요가 없으며, 한정된 기간 동안만 이용 가능하다고 광고하는 스크립트 게시물은 허용되지 않습니다.
- 이모지는 설명 읽기에 방해가 되지 않는 한 허용됩니다.
- 보호 스크립트에 대한 접근을 제한하지 마십시오. 사용자 접근 제어는 초대 전용 스크립트를 활용하십시오.
차트
- 스크립트와 함께 게시하는 차트는 이해하기 쉬워야 하며, 스크립트 출력이 명확히 식별 가능해야 합니다. 이것이 깨끗한 차트와 함께 스크립트를 게시해 달라는 요청의 이유입니다.
- 다른 스크립트와 함께 사용해야 하는 경우를 제외하고, 설명에 그 이유를 명시하지 않는 한 차트에 다른 스크립트를 포함하지 마십시오.
- 차트에 드로잉이나 이미지를 사용할 수 있지만, 이는 스크립트의 기능이나 사용법을 이해하는 데 기여해야 합니다.
- 사용 목적이 설명되지 않은 차트 드로잉이나 이미지는 포함하지 마십시오.
- 비표준 차트 유형(하이킨 아시, 렌코, 카기, 포인트 앤 피겨, 레인지)을 사용하여 매수/매도 신호를 발행하는 스크립트는 비현실적인 결과를 생성하므로 허용되지 않습니다. 이유를 이해하려면 이 게시물을 참조하십시오.
- 트레이더가 차트 내용을 정확히 파악할 수 있도록 차트에 완전한 심볼/타임프레임 정보와 인디케이터명을 표시하십시오.
전략 결과
- 트레이더를 오도하지 않는 백테스팅 결과를 게시하도록 노력하십시오.
- 평균적인 트레이더에게 현실적인 계좌 규모를 사용하십시오.
- 현실적인 수수료 및 슬리피지를 적용하십시오.
- 지속 가능한 자본금만 위험에 노출되도록 거래 규모와 스탑을 설정하십시오. 거래당 5-10% 이상을 위험에 노출하는 것은 일반적으로 실행 가능하지 않습니다.
- 충분한 표본 크기(이상적으로는 100건 이상)를 생성할 수 있는 거래 건수를 생성하는 데이터 세트를 선택하십시오.
- 위 권장 사항에서 벗어날 경우 설명에서 그 이유를 명시하십시오.
- 스크립트 설명에서 전략의 기본 속성을 설명하고, 게시 시 동일한 설정을 사용하십시오.
- 경고 메시지를 표시하는 전략은 게시하지 마십시오.
누락 및 비현실적 주장
- 트레이딩뷰 또는 기타 장소에서 스크립트 성능에 대해 비현실적이거나 근거 없는 주장을 하지 마십시오. 과거 및 잠재적 거래 성과, 신호 정확도, 통계적 신뢰도 등에 대한 모든 주장은 명확히 입증되어야 합니다. 언어 사용을 현실적으로 유지하십시오. 특히 미래에 대해 논의할 때는 언어를 주의하십시오. 미래는 근본적으로 알 수 없으며 과거 결과가 미래 성과를 보장하지 않는다는 점을 명심하십시오.
- 트레이더에게 스크립트의 기능과 한계에 대해 솔직하게 설명하십시오. 스크립트의 단점에 대해 사용자에게 경고하십시오. 예를 들어 오프셋을 사용하여 과거 데이터를 플롯하는 경우, 트레이더를 오도하지 않도록 반드시 이를 언급하십시오.
- 미래 데이터를 접근하기 위해 룩어헤드(lookahead)를 사용한 `request.security()` 호출을 사용하지 마십시오. 자세한 내용은 이 게시물을 참조하십시오.
오픈소스 재사용
- 이 오픈소스 재사용 규칙은 작성자가 사용하는 모든 라이선스(기본적으로 TradingView에 게시된 모든 오픈소스에 적용되는 Mozilla Public License 2.0 포함)보다 우선합니다. 작성자의 라이선스 선택은 다음 재사용에 관한 하우스 룰이 충족된 후 적용됩니다.
- 다른 작성자의 오픈소스 코드를 재사용하는 경우:
- 게시물 설명에 원작자를 반드시 표기해야 합니다. 오픈소스 코멘트에 표기하는 것도 바람직합니다.
- 원본 코드베이스에 상당한 개선을 가해야 하며, 해당 코드가 스크립트에서 차지하는 비중은 작아야 합니다. 스타일 변경, 입력 변경, 변수 이름 변경, 코드 재배열, Pine Script® 버전 간 변환 등은 상당한 개선으로 간주되지 않습니다.
- 또한 원작성자로부터 명시적 허가를 받지 않았거나, 재사용된 코드가 퍼블릭 도메인으로 간주되며 코드베이스에서 미미한 부분을 차지하는 경우가 아닌 한, 해당 스크립트 역시 오픈소스로 공개되어야 합니다.
- 퍼블릭 도메인 예외
트레이딩뷰의 일부 오픈소스 코드는 “퍼블릭 도메인”으로 간주됩니다:- 트레이딩뷰가 빌트인 또는 문서에 공개한 모든 코드.
- 공개된 라이브러리 스크립트(단, 인디케이터 또는 전략 스크립트는 제외).
- RSI, Stoch 등과 같이 다른 플랫폼에서 널리 사용되는 클래식 인디케이터에서 포팅된 표준 코드(작성자별 맞춤 설정이 포함된 원본 코드 또는 최근 타 플랫폼에 게시된 인디케이터의 포팅 버전 제외).
테스트
- 개인용, 테스트용 또는 미완성 프로젝트용 스크립트는 공개 라이브러리에 게시해서는 안 됩니다. 개인용 및 테스트용 스크립트는 비공개 게시 기능을 이용하십시오.
버전 관리
- 기존 스크립트의 사소한 변형이나 소규모 업데이트를 별도 게시물로 공개하기보다는, 동일한 스크립트에 통합하여 게시 창(Publish window)의 업데이트 기능(Update feature)을 통해 업데이트를 공개하십시오.
- 널리 사용되는 구형 스크립트의 기능을 보존하기 위해 코드베이스를 포크(fork)하려는 경우, 설명란에 이를 명시해야 합니다.
- 스크립트 작성 시 Pine v6을 사용하십시오.
검토 대상 스크립트
규칙을 위반한 게시 스크립트는 검토자가 숨김 처리합니다. 스크립트가 검토 대상이 되면 PineCoders 검토자 계정으로부터 비공개 메시지를 받게 됩니다. 해당 메시지에는 위반 사항이 명시됩니다. PineCoders에 답변하기 전에 메시지를 주의 깊게 읽으십시오. 읽은 후 궁금한 점이 있으면 답변하십시오. 검토자가 기꺼이 도와드릴 것입니다.
숨겨진 스크립트는 업데이트나 삭제가 불가능합니다. 빨간색 배경으로 표시되며 커뮤니티에 더 이상 노출되지 않습니다. 오직 관리자 및 작성자만 확인할 수 있습니다. 원한다면 규칙을 준수하는 새 스크립트와 설명을 재게시할 수 있습니다.
반복 위반 시 일반적으로 차단 기간이 점차 증가합니다. 최종적으로 영구 차단으로 이어질 수 있습니다. 차단은 계정의 소셜 미디어 기능 사용에 영향을 미치며 차트 작성 기능에는 영향을 주지 않습니다.
중대한 위반 사항
일부 위반은 다른 위반보다 심각하여 즉시 영구 정지로 이어질 수 있습니다. 여기에는 표절, 공개 라이브러리 스팸, 트레이더 오도, 프리미엄 계정 서명란 외부의 권유/광고 등이 포함됩니다.
기본 계정 제한 사항
기본 계정은 비공개 스크립트는 게시할 수 있으나 공개 스크립트는 게시할 수 없습니다. 비공개 게시물 수에는 제한이 없습니다.