Script publishing rules
These rules apply to all public scripts on TradingView. If you meet the criteria to be considered a Vendor, e.g., you publish invite-only scripts, you will also need to meet our Vendor Requirements.
These rules concern script publishing only. Keep in mind that TradingView's General House Rules apply to script authors, in addition to these.
You will find more information useful to script authors here:
- Tips for script authors
- Script moderation on TradingView
- Pine User Manual on Publishing Scripts
- Privacy of scripts
- Terms of Use, Policies and Disclaimers (section 20 covers scripts)
Script visibility
Users of all types of accounts on TradingView can publish scripts publicly or privately. Regardless of the private/public visibility you choose for your script, you can use any source or access control publication mode allowed by your type of account: open-source, protected, or invite-only. All your published scripts appear on your user profile's Scripts tab.
Private scripts
Private Scripts are not moderated and are invisible to everyone but you. If you choose to publish privately, you must also accept that those publications must be incognito elsewhere on TradingView. You are not allowed to refer or link to them from any public TradingView content.
You can share private publications with friends or customers by sending them the link to your script, which you can get by opening your script's page and copying its URL from your browser.
Public scripts
Public scripts appear in TradingView's Public Library, where they become visible to the millions of TradingView users and any Internet user who has access to its link. Because they are public, these scripts must meet the following requirements:
Language
- The Public Library is common to all language versions of TradingView. In order for all members to benefit from all published scripts, English must be predominant:
- Publication titles must be English-only.
- Other languages are welcome in descriptions, but English must appear first.
- Authors may use a language other than English for their published script's user interface text, but if they do so, they must also provide an English translation of this text in the publication's description.
Originality and usefulness
- Your script publication's description is where you explain to the community how your script is original and why it can be useful to traders. If your description does not do this, moderators will hide the publication.
- Ensure your script is original and will add value to the Community Scripts. Avoid rehashing open-source built-ins, auto-generated code, code from our or third-party learning materials, or other public domain code. While such exercises might help you learn Pine, they do not add to the body of knowledge on TradingView.
- If you want to share a setup that doesn't require a new script, publish an idea rather than a script. For example, a moving average setup with different parameter values does not require a new script publication.
- When combining indicators or other code within a script, your publication's description must justify the reasons for the mashup and explain how its components work together. A mashup with no other purpose than to merge indicators or other code does not merit a new script publication.
- Closed-source scripts that reproduce what open-source scripts already do are not allowed. If your closed-source script's description does not substantiate what is unique about it that requires protecting the source, moderators will hide the publication.
- Authors may publish attempts to reproduce the behavior of a closed-source script, but as they do not have access to the script's source code, implicit or explicit claims or demonstrations suggesting that such reverse-engineering attempts reproduce the script's behavior are not allowed.
- Moderators may sometimes tolerate one-offs of scripts going against the spirit of House Rules, but they will hide them if they become a habit. Such is the case with scripts lacking originality, attempts to reverse-engineer closed-source scripts, etc.
- Your script publications as a whole should reflect your own interests and expertise. While one of your script's functionality may be similar to that of another author's script, attempts to mimic multiple scripts from other authors are not allowed.
Title
- Use only the 7-bit ASCII character set. Emoji and special effects using characters are not allowed.
- Never use all caps for any part of your title except abbreviations like BB, SR, etc.
- Use English only.
Description
- Write a detailed and meaningful description that allows traders to understand how your script is original, what it does, how it does it and how to use it. Give traders an idea of the concepts underlying your calculations. Mentioning only that your script follows trends or is intended for scalping does not help traders much; it will be more useful to traders if you also give them an idea of which of the hundreds of trend-detection or scalping methods you use.
- Your script's description must be self-contained and cannot rely on delegation to your open-source code or links/references to other content to make your script's purpose clear.
- Closed-source scripts descriptions must allow traders to understand how your closed-source script is doing what you say it does. We do not expect you to reveal all your script's underlying logic, but if you publish a closed-source script, we assume it does something original, in which case traders and moderators must understand some of what that is.
- Publishers of open-source scripts should keep in mind that few TradingView users can read Pine. They rely on your description to understand how to use your script.
- Open-source and Protected scripts are by definition free. There is no need to advertise this in publications, and script publications advertised as being available for a limited period of time are not allowed.
- Emoji are allowed, as long as they don't impede reading your description.
- Do not limit access to protected scripts. Use invite-only scripts to control user access to your scripts.
Chart
- The chart you are publishing with your script should be easy to understand and your script's output should be readily identifiable. This is the reason why we ask you to publish your script with a clean chart.
- Unless your script must be used with another one and your description explains why, do not include other scripts on the chart.
- You may use drawings or images on charts, but they should contribute to understanding what your script does or how to use it.
- Do not include chart drawings or images if their use is not explained.
- Scripts issuing Buy/Sell signals using non-standard chart types (Heikin Ashi, Renko, Kagi, Point & Figure, and Range) are not allowed, as they produce unrealistic results. See this publication if you need to understand why.
- Show complete symbol/timeframe information and indicator names on your chart so that traders can know what they are looking at.
Strategy results
- Strive to publish backtesting results which do not mislead traders.
- Use an account size that is realistic for the average trader.
- Use realistic commission AND slippage.
- Size trades and stops to only risk sustainable amounts of equity. Risking more than 5-10% on a trade is not typically considered viable.
- Select a dataset that will generate a number of trades producing a sufficient sample size, ideally more than 100 trades.
- If you stray from the above recommendations, justify it in your description.
- Explain your strategy's default Properties in the script's description and use the same settings for your publication.
- Do not publish strategies issuing a caution warning.
Omissions and unrealistic claims
- Do not make unrealistic or unsubstantiated claims about your script's performance, whether on TradingView or elsewhere. All claims of historical and potential trading performance, signal accuracy, statistical reliability, etc., must be clearly substantiated. Keep your language real. Especially mind your language when discussing the future, keeping in mind that it is fundamentally unknowable and that past results in no way guarantee future performance.
- Be straightforward with traders about what your script does and does not do. Warn users about your script's shortcomings. If you plot in the past using offsets, for example, be sure to mention this so you do not mislead traders.
- Do not use `request.security()` calls using lookahead to access future data. See this publication if you need more information.
Open-source reuse
- These open-source reuse rules preempt any license used by the author, including the Mozilla Public License 2.0 which applies by default to all open-source published on TradingView. The author's choice of license applies once the following House Rules on reuse have been met.
- If your script reuses open-source code from another author:
- You must credit the author in your publication’s description. It is also good form to credit in open-source comments.
- You must make significant improvements to the original code base, and it must account for a small proportion of your script. Stylistic changes, input changes, variable renaming, code rearranging, conversion between Pine Script™ versions, etc. do not constitute significant improvements.
- Your script must also be published open-source, unless explicit permission to that effect was granted by the original author, or unless the reused code is considered public domain AND it constitutes an insignificant part of your codebase.
- Public domain exception
We consider some open-source code on TradingView to be "public domain":- All code published by TradingView in built-ins or documentation.
- Library scripts published publicly (but not indicator or strategy scripts).
- Standard code ported from classic indicators widely available on other platforms like RSI, Stoch, etc., excluding original code containing author-specific adaptations, or ports of indicators recently published elsewhere.
Tests
- Scripts intended for private use, tests or incomplete projects do not belong in the Public Library. Use the private publications for private and test scripts.
Versions
- Rather than publish slight variations or minor updates of an existing script as separate publications, fold them in the same script and publish updates using the Update feature in the Publish window.
- If you want to fork a codebase to conserve an older, widely used script's functionality, then this should be explained in the description.
- Use Pine v5 to write your scripts.
Moderated scripts
Moderators will hide a published script if it violates any of our rules. When your script is moderated, you will receive a private message from the PineCoders moderator account. The message will list your violation(s). Read it carefully before replying to PineCoders. After reading it, reply if you have questions. Moderators will be happy to help you.
Hidden scripts cannot be updated or removed. They have a red background and are no longer visible to the community; only moderators and authors can see them. You may re-publish a new, compliant script and description if you wish.
Successive violations are typically accompanied by increasing ban periods. Ultimately, they can lead to a permanent ban. Note that bans affect an account's use of social media features—not charting.
Serious Violations
Some violations are more serious than others and may lead to an immediate permanent ban. They include plagiarism, spamming the Public Library, misleading traders, and solicitation/advertising outside of a Premium account's Signature field.
Limits for Basic accounts
Basic accounts can publish scripts three months after they sign up. They are limited to two public script publications per month. There is no limit on the number of private publications.