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:
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 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 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:
- 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. Titles must be English-only. Other languages are welcome in descriptions, but English must appear first.
Originality and usefulness
- Your script's description is your opportunity to explain to the community how it is original and can be useful. If your description does not allow TradingView moderators to understand how your script is original and potentially useful, it will be moderated.
- Rehashing of old ideas, slight color changes, different combinations of MAs, or a slightly modified version of a popular indicator like WaveTrend are not considered useful. While slight modifications of existing indicators are a fine way to learn Pine on your own, they will not add to the body of knowledge on Tradingview. Consider each indicator a study of sorts: the more effort you spend on it, the more useful it generally will be.
- Before deciding to publish a script, search the Public Library to ensure no existing script already does what yours does.
- If you want to share a trading setup that doesn't require a new indicator, publish an Idea explaining it instead of a script. A new MA script with two exotic MA periods does not constitute an original script.
- Script mashups without a description explaining why the different indicators are assembled together and how to use them are not useful.
- Closed-source scripts reproducing what open-source scripts already do are not allowed. If your closed-source script's description does not allow traders to understand what is unique about it that requires protecting its source, it will be moderated.
- Give your script's users options. Allow the configuration of key values like periods and sources through your script's "Settings/Inputs".
- 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.
- 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.
- 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 on charts, but they should contribute to understanding what your script does or how to use it.
- Do not include chart drawings 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.
- Your published strategies must show realistic results.
- Strive to publish backtesting results which do not mislead traders.
- Choose realistic starting capital.
- Use realistic commission AND slippage.
- Do not use 100% of equity to size positions, as compounding does not reflect most real-world trading conditions. 5-10% is usually more realistic.
- Unless the symbol on your chart requires it, do not use fixed number of contracts.
- Ensure your backtest is using realistic position sizes.
- Select a dataset that will generate a number of trades producing a sufficient sample size, ideally more than 100 trades.
- Explain your strategy's default Properties in the script's description and use those settings for your publication.
Omissions and unrealistic claims
- Do not make unrealistic claims about your script or its performance. Substantiate your claims.
- 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 infer past performance will repeat in the future.
- Do not use `security()` calls using lookahead to access future data. See this publication if you need more information.
- 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 obtain permission from the original author.
- Your script must also be published in open-source format, unless explicit permission is granted by the original author, or unless the reused code is public domain AND it constitutes an insignificant part of your codebase.
- You must credit the author in your script's description. It is also good form to add a note in your script's comments where you reuse code.
- You must make meaningful and significant improvements to the original code.
- It should account for a small proportion of your script.
- Public domain exception
We consider some open-source code on TradingView to be "public domain". Such code does not require permission before reusing it, but our other reuse rules above apply. The following code is public domain:
- All code published by TradingView in built-ins or documentation.
- 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.
- 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.
- 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 v4 to write your 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.
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 are limited to two public script publications per month. There is no limit on the number of private publications.