OPEN-SOURCE SCRIPT
Stock Position Sizer with Daily ATR

The script is a stock position-sizing indicator based on ATR multiples. It calculates how many whole shares you can trade while risking a chosen percentage of your nominal equity.
With the defaults:
- Nominal equity: 90,000
- Risk: 0.5%
- Risk budget: 450
- ATR length: 20 days
- Stop distance: 2 × ATR
### Calculation
It retrieves the close and ATR from the last completed daily bar, regardless of the chart timeframe.
Risk budget = Nominal equity × Risk percentage
Stop distance = Daily ATR × ATR multiple
Shares = floor(Risk budget ÷ Stop distance)
For example, if ATR is 8.86:
Risk budget = 90,000 × 0.5% = 450
Stop distance = 8.86 × 2 = 17.72
Position size = floor(450 ÷ 17.72) = 25 shares
Long and short levels
Both directions use the same share quantity because their stop distances are symmetrical:
Long entry = Previous daily close
Long stop = Previous daily close − 2 ATR
Short entry = Previous daily close
Short stop = Previous daily close + 2 ATR
What it displays
The chart shows three horizontal levels:
- Blue: previous daily close and assumed entry
- Red: long stop
- Orange: short stop
The table shows:
- Stock currency
- Previous daily close
- Daily ATR
- Stop distance
- Risk budget
- Number of whole shares
- Long entry and stop
- Short entry and stop
- Position notional and actual risk after rounding
There is no currency conversion. A value of `90,000` means $90,000 on a USD stock, €90,000 on a EUR stock, and so forth.
With the defaults:
- Nominal equity: 90,000
- Risk: 0.5%
- Risk budget: 450
- ATR length: 20 days
- Stop distance: 2 × ATR
### Calculation
It retrieves the close and ATR from the last completed daily bar, regardless of the chart timeframe.
Risk budget = Nominal equity × Risk percentage
Stop distance = Daily ATR × ATR multiple
Shares = floor(Risk budget ÷ Stop distance)
For example, if ATR is 8.86:
Risk budget = 90,000 × 0.5% = 450
Stop distance = 8.86 × 2 = 17.72
Position size = floor(450 ÷ 17.72) = 25 shares
Long and short levels
Both directions use the same share quantity because their stop distances are symmetrical:
Long entry = Previous daily close
Long stop = Previous daily close − 2 ATR
Short entry = Previous daily close
Short stop = Previous daily close + 2 ATR
What it displays
The chart shows three horizontal levels:
- Blue: previous daily close and assumed entry
- Red: long stop
- Orange: short stop
The table shows:
- Stock currency
- Previous daily close
- Daily ATR
- Stop distance
- Risk budget
- Number of whole shares
- Long entry and stop
- Short entry and stop
- Position notional and actual risk after rounding
There is no currency conversion. A value of `90,000` means $90,000 on a USD stock, €90,000 on a EUR stock, and so forth.
Script open-source
Nello spirito di TradingView, l'autore di questo script lo ha reso open source, in modo che i trader possano esaminarne e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricordiamo che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.
Script open-source
Nello spirito di TradingView, l'autore di questo script lo ha reso open source, in modo che i trader possano esaminarne e verificarne la funzionalità. Complimenti all'autore! Sebbene sia possibile utilizzarlo gratuitamente, ricordiamo che la ripubblicazione del codice è soggetta al nostro Regolamento.
Declinazione di responsabilità
Le informazioni e le pubblicazioni non sono intese come, e non costituiscono, consulenza o raccomandazioni finanziarie, di investimento, di trading o di altro tipo fornite o approvate da TradingView. Per ulteriori informazioni, consultare i Termini di utilizzo.