TRADING TOOLS
Forex Position Sizing Calculator
Calculate your ideal lot size, pip value, and dollar risk for any forex pair.
← Back to ChartDistrict
var PAIRS={EURUSD:{pipSize:0.0001,pipVal:10,jpy:false},GBPUSD:{pipSize:0.0001,pipVal:10,jpy:false},USDJPY:{pipSize:0.01,pipVal:9.09,jpy:true},AUDUSD:{pipSize:0.0001,pipVal:10,jpy:false},USDCAD:{pipSize:0.0001,pipVal:7.46,jpy:false},USDCHF:{pipSize:0.0001,pipVal:11.2,jpy:false},NZDUSD:{pipSize:0.0001,pipVal:10,jpy:false},EURGBP:{pipSize:0.0001,pipVal:12.7,jpy:false},EURJPY:{pipSize:0.01,pipVal:9.09,jpy:true},GBPJPY:{pipSize:0.01,pipVal:9.09,jpy:true},AUDJPY:{pipSize:0.01,pipVal:9.09,jpy:true}};
function fxMode(m){document.getElementById(‘tab-lot’).className=’fx-tab’+(m===’lot’?’ active’:”);document.getElementById(‘tab-risk’).className=’fx-tab’+(m===’risk’?’ active’:”);}
function fxUpdatePair(){var p=PAIRS[document.getElementById(‘fx-pair’).value];if(!p)return;document.getElementById(‘fx-pinfo’).innerHTML=’Pip Size: ‘+p.pipSize+’ | Pip Value/lot: ~$’+p.pipVal.toFixed(2)+’‘;}
function fxSet(id,val,cls){var el=document.getElementById(id);if(!el)return;el.textContent=val;el.className=’fx-val’+(cls?’ ‘+cls:”);}
function fxCalc(){
var pair=document.getElementById(‘fx-pair’).value,p=PAIRS[pair];
var acct=parseFloat(document.getElementById(‘fx-account’).value)||0;
var rp=parseFloat(document.getElementById(‘fx-riskpct’).value)||1;
var entry=parseFloat(document.getElementById(‘fx-entry’).value)||0;
var stop=parseFloat(document.getElementById(‘fx-stop’).value)||0;
var tgt=parseFloat(document.getElementById(‘fx-target’).value)||0;
if(!entry||!stop){alert(‘Enter Entry and Stop Loss prices.’);return;}
var dolRisk=acct*(rp/100);
var pips=Math.abs(entry-stop)/p.pipSize;
var lots=dolRisk/(pips*p.pipVal);
lots=Math.round(lots*100)/100;
var units=Math.round(lots*100000);
var posVal=units*entry;
var tPips=tgt?Math.abs(tgt-entry)/p.pipSize:0;
var tDol=tPips*p.pipVal*lots;
var rr=pips>0&&tPips>0?(tPips/pips).toFixed(2)+’:1′:’—’;
var lotStr=lots.toFixed(2)+’ std (‘+(lots*10).toFixed(1)+’ mini)’;
fxSet(‘r-drisk’,’$’+dolRisk.toFixed(2),’gold’);
fxSet(‘r-pips’,pips.toFixed(1)+’ pips’);
fxSet(‘r-pipval’,’$’+p.pipVal.toFixed(2));
fxSet(‘r-lots’,lotStr,’gold’);
fxSet(‘r-units’,units.toLocaleString()+’ units’);
fxSet(‘r-posval’,’$’+posVal.toLocaleString(‘en-US’,{maximumFractionDigits:0}));
fxSet(‘r-profit’,tgt&&lots>0?’$’+tDol.toFixed(2):’—’,’green’);
fxSet(‘r-fxrr’,rr);
}
fxUpdatePair();
Position Sizing
Lot Size
Risk %
Currency Pair
EUR/USD
GBP/USD
USD/JPY
AUD/USD
USD/CAD
USD/CHF
NZD/USD
EUR/GBP
EUR/JPY
GBP/JPY
AUD/JPY
Select a pair to see specs
Account Balance ($)
Risk Per Trade (%)
Entry Price
Stop Loss Price
Profit Target (optional)
Results
Dollar Risk—
Stop Distance (pips)—
Pip Value (per lot)—
Recommended Lot Size—
Units—
Position Value—
Profit Target ($)—
Risk/Reward Ratio—
Disclaimer: For educational purposes only. Pip values vary with exchange rates. Trading forex involves substantial risk.