Position Size computation for indices (US30)

 

Hi everyone, I should start by saying that I’m quite a beginner, so please forgive me if the question might seem a bit silly. Let's take an example: I have an account with 10k dollars, contract size = 1, and leverage = 1:25. I want to open a position on US30 with a 490 pip stop loss, with 1% risk. If I calculate the lot size through https://www.cashbackforex.com/tools/position-size-calculator, it tells me that the correct lot size is 2.041 Lots. It is the same result I get using this simple function that I wrote after watching some videos on YouTube:

double calcLotIndicies(double slDistancePips, double riskPerc, double& final_risk){
    double contract_size_factor = 10/SymbolInfoDouble(NULL, SYMBOL_TRADE_CONTRACT_SIZE);
    double lot_size = (AccountInfoDouble(ACCOUNT_EQUITY)*(riskPerc/100)*contract_size_factor)/(slDistancePips);
    double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
    lot_size = MathFloor( lot_size / lotStep ) * lotStep;
    return lot_size;
  }


The problem is that if I apply that lot size, once the stop loss is hit, it wipes out almost (not all my account cause i round the lot size) my entire account. Specifically, it seems that the lot size is 100 times greater than it should be, meaning I’m risking 100% instead of 1% (lol). Can anyone help me understand what I missed? I suspect that leverage might have something to do with it since I'm not considering it in the calculations, but I'm not sure at all.

Entry: 33768.10
SL: 33719.10

--> -9900 $

Lot Size Calculator - Best Tool w/ Live Data 145K+ Symbols
  • www.cashbackforex.com
Lot size and position size risk calculator to calculate the recommended units or lot size to risk, using live market quotes, account equity, risk percentage and stop loss.