Close Navigation
Learn more about IBKR accounts
PineScript and Custom Charting Indicators for your Strategies: Volume & Intraday Script

PineScript and Custom Charting Indicators for your Strategies: Volume & Intraday Script

Posted April 9, 2020
Andrew Nassief
QuantPortal LLC

PineScript is the language used to make custom charts on Tradingview. Few years ago, I made a custom charting script on Tradingview following their documentation. Let us look at it:

First part of the script is just naming it, and forming the plot:

//@version=3
strategy(“My Script”)
plot(close)

Next, what you have to do is set the x axis: x=20%10

Then you set intraday and swma:

strategy.risk.max_intraday_loss(100, strategy.cash)
strategy.entry(“buy”, true, when = open > close)
plot(swma(close))

SWMA is for Stochastic Weighted Moving Averages, SW-MA is different and is for Sine Weighted Moving AverageYou are also setting the strategy entry in the above script, and variables can be changed to your preference.

// Pinescript, basic weighted moving averages
pine_swma(x) =>
x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))
plot(vwma(close, 10))

This next part of the script, which is above is setting Pinescript’s basic weighted moving averages.Then you finally set

pine_vwma(x, y) =>
sma(x * volume, y) / sma(volume, y)
plot(pine_vwma(close, 10))

As the closing of your strategy which includes the simple moving average.The final script should look like:

//@version=3
strategy(“My Script”)
plot(close)
x=20%10
strategy.risk.max_intraday_loss(100, strategy.cash)
strategy.entry(“buy”, true, when = open > close)
plot(swma(close))
// Pinescript, basic weighted moving averages
pine_swma(x) =>
x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))
plot(vwma(close, 10))
// same on pine, but less efficient
pine_vwma(x, y) =>
sma(x * volume, y) / sma(volume, y)
plot(pine_vwma(close, 10))

Now this is a very basic script, and there are still a lot of things you can do with Pinescript including really advanced technical analysis and charting strategies.

Visit QuantPortal website to download the code.

Disclosure: Interactive Brokers

Information posted on IBKR Campus that is provided by third-parties does NOT constitute a recommendation that you should contract for the services of that third party. Third-party participants who contribute to IBKR Campus are independent of Interactive Brokers and Interactive Brokers does not make any representations or warranties concerning the services offered, their past or future performance, or the accuracy of the information provided by the third party. Past performance is no guarantee of future results.

This material is from QuantPortal LLC and is being posted with its permission. The views expressed in this material are solely those of the author and/or QuantPortal LLC and Interactive Brokers is not endorsing or recommending any investment or trading discussed in the material. This material is not and should not be construed as an offer to buy or sell any security. It should not be construed as research or investment advice or a recommendation to buy, sell or hold any security or commodity. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.

IBKR Campus Newsletters

This website uses cookies to collect usage information in order to offer a better browsing experience. By browsing this site or by clicking on the "ACCEPT COOKIES" button you accept our Cookie Policy.