Risk percentage lot size calculation

MQL5 Experts

Tâche terminée

Temps d'exécution 1 jour
Commentaires du client
Great Developer! Code works like a charm and was delivered very quickly with useful complementary information!
Commentaires de l'employé
Excellent customer. Wishing you success in learning MQL.

Spécifications

Hi All,

I would like to add to an existing and working MQL5 EA the ability to calculate the lot size based on a risk percentage. Or in other words how many percent of the account I'm willing to lose for each deal.

Here are some key elements of my EA setup:

The base currency is EUR

Trading pair is EURJPY

Leverage is 1/100

SL is fixed at 50 pips

Target risk percentage per deal should be a variable set by default on 5%  

 

The below formula seem to be the one needed to achieve my lot size calculation but I'm not sure. 

Lot Size = Amount Risked / Number of Pips x Pip Value 

 

I tried the created the code myself and here is where I stopped: 

Basically I need help to compete the "//Calculating Lot Size based on SL and Risk Percentage" part of the code. 

 

Let me know if you have any questions.  

 

Different Variables for the lot size calculation: 

input int      StopLoss=50;               // Stop Loss
input double   RiskPercentage=5;          // Lots to Trade

int STP, TKP; 
double LotSize;
double Pips;



//--- Let us handle currency pairs with 5 or 3 digit prices instead of 4
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }

 My Buying Script

if(Buy_Condition_1 && Buy_Condition_2)
     {
         // any opened position?
         if((Buy_opened)||(Sell_opened))
           {
            //Alert("We already have an open Position. Oportuinity passed.");
            return;    // Don't open a new Buy Position
           }
           
         // Calculating Lot size based on SL and Risk Percentage
         
         MqlTick latest_price;
         SymbolInfoTick(_Symbol,latest_price);
         
         Pips = (latest_price.bid - STP)/_Point;          
         
         double AccountBalance = AccountInfoDouble(ACCOUNT_BALANCE);
         double TickValue = SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE);
         LotSize = (AccountBalance * (RiskPercentage/100))/(Pips * TickValue);  
         
         Print("Pips ", Pips, " Acc Bal: ", AccountBalance," Tick Val ", TickValue," Lot Size ", LotSize);      
         
         //Executing the Trade 
         ZeroMemory(mrequest);
         mrequest.action = TRADE_ACTION_DEAL;                                    // immediate order execution
         mrequest.price = NormalizeDouble(latest_price.ask,_Digits);             // latest ask price
         mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits);   // Stop Loss
         mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits);   // Take Profit
         mrequest.symbol = _Symbol;                                              // currency pair
         mrequest.volume = LotSize;                                                  // number of lots to trade
         mrequest.magic = EA_Magic;                                              // Order Magic Number
         mrequest.type = ORDER_TYPE_BUY;                                         // Buy Order
         mrequest.type_filling = ORDER_FILLING_FOK;                              // Order execution type
         mrequest.deviation=100;                                                 // Deviation from current price
         //--- send order
         OrderSend(mrequest,mresult);
         // get the result code
         if(mresult.retcode==10009 || mresult.retcode==10008) //Request is completed or order placed
           {
            Alert("A Buy order has been successfully placed with Ticket#:",mresult.order,"!!");
            SendNotification("BBWP added a new Buy order!");
           }
         else
           {
            Alert("The Buy order request could not be completed -error:",GetLastError());
            ResetLastError();           
            return;
           }
        
     }

 

 

Répondu

1
Développeur 1
Évaluation
(182)
Projets
342
42%
Arbitrage
118
12% / 73%
En retard
104
30%
Gratuit
Publié : 4 codes
2
Développeur 2
Évaluation
(564)
Projets
844
73%
Arbitrage
15
53% / 13%
En retard
193
23%
Gratuit
Commandes similaires
Hi if you have an already made EA that have Buy shop and sell stop order , with TP and stop loss please send let me know ………………………. Hi if you have an already made EA that have Buy shop and sell stop order , with TP and stop loss please send let me know ………………………
Busco un desarrollador experto en MQL5 (MetaTrader 5) para construir un Expert Advisor (EA) completamente autónomo, robusto, escalable y con panel on-chart, incluyendo 3 módulos de estrategia parametrizables, compatibilidad con Strategy Tester, y logs detallados. El EA será de propiedad exclusiva del cliente y debe entregarse con código fuente (.mq5). Alcance obligatorio (sin recortes) Estrategia 1 — Cruce de Medias
I want to convert trading view pine script to mt5 expert advisor. Pine script is given below. Pine script is working very well in xauusd pair. I want same result in mt5 ea
Hey guys, I’ve been trading for 6 years now and I need to automate a strategy that is really simple and ove developed by myself. Can you help me on that? Here is my e-mail angelocherubini24@gmail.com
Hello Great Developer I am looking for a highly experienced MQL5 developer to build a production-grade Telegram to MT5 signal copier. Requirements: • <1 second execution latency (Telegram → MT5) • Intelligent signal parsing (layered entries, partial closes, BE, TP4 open trailing, modifications) • Multi-provider support (scalable to 100+) • Built-in advanced backtesting system • Configurable risk management settings •
What information would you need for Ninjatrader automated trading and approximately how long would it take ? Bill if anyone can give response here I will be glad to discuss
Khumza bot 30 - 40 USD
■Specification: Hello freelancers i need a bot.Bot requirements (MT5 EA -Extra Conservative).■Platform: MetaTrader 4/5 (PC and mobile compatible).■Markets:Forex Pairs(Gbpusd,Gbpjpy,Usdjpy),Us30,Gold,Bitcoin. ■Risk Profile(Very Conservative) ◇Risk 0.25% -0.5% per trade maximum.◇No martingale,no grid,no averaging down.◇One trade per symbol at a time. ◇Maximum 1-6 good trades per day.■STRATEGY LOGIC(All
Hello, Good programmer help in track of programmer in mql5 market sells product and give fake expert advisor see attached for name of programmer. NEEDS TO GIVE HIS CLIENT MONEY BACK OR PROVIDE THE REAL EXPERT ADVISOR Gold on the Go Experts Nguyen Hang Hai Ha Version: 1.1 Updated: 23 June 2025 Activations: 10 Expert Gold on the Go is the latest generation of automated trading robots programmed
Hello! I am looking for an experienced developer to build a robust, customizable Expert Advisor (MT4/MT5) or a standalone Python bot. The strategy is based on pure Price Action (Support & Resistance breakouts) on the XAUUSD (Gold) 30-Minute chart. It relies heavily on "human-like" chart analysis, such as looking left for targets, waiting for a price pullback (a "flip") before entering, and managing the trade based on
Acrylic-bot 30 - 800 USD
Creating this robot to help trade for you.It all about making profit. A robot that can change lives help people make profits. It’s not just a bot but the way to the future

Informations sur le projet

Budget
10 - 20 USD
Délais
de 1 à 2 jour(s)