Risk percentage lot size calculation

MQL5 Experts

Tâche terminée

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

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
845
73%
Arbitrage
15
53% / 13%
En retard
193
23%
Gratuit
Commandes similaires
Aziz Toure 50 - 400 USD
I am an independent trader and entrepreneur based in Côte d’Ivoire. I work in financial markets, analyze trading opportunities, and provide digital financial services. I am also interested in international trade, online business, and developing long-term business activities
SMC Bot Creation 350 - 550 USD
Hello, I am interested in developing a professional MT5 Expert Advisor similar in functionality and technical sophistication to your reference product, Institutional SMC Robot: https://www.mql5.com/en/market/product/187011 I want to develop my own independent EA based on advanced Smart Money Concepts (SMC), with a strong focus on institutional price action, liquidity and market structure. The key functionalities I
(I can't pay 30 for this of course if you can just help.me solve this problem I would appreciate you )It was doing everything perfectly until yesterday this happened this is a python file that copies from telegram Iand send to ea signal if you have any idea what to do or why this happened please tell me
Specify your Requirements Specification here point by point. Try to describe your requirements briefly and clearly, so that your potential developer is able to correctly assess its complexity and cost, as well as the required execution time. A bad or too generic description will result in your order being ignored, or you will spend a lot of time negotiating the details with each applicant. Remember: It is better to
Phixfx 30 - 150 USD
Project Brief: Multi-Asset EA/Indicator Optimization, Debugging, and Futures Strategy Refinement ​1. Project Overview & Objective ​I am looking for an experienced algorithmic developer to inspect, debug, optimize, and enhance an existing automated trading system. The system combines custom indicators and execution logic across Forex and Futures markets. ​The primary goals of this project are: ​Debug existing logic
​I am looking for an experienced MQL5 developer to build a fully automated MetaTrader 5 Expert Advisor (EA) optimized primarily for XAUUSD (Gold), featuring a clean Tkinter-style telemetry dashboard control concept or customizable input parameters. ​1. Core Strategy Rules (Full-Body Engulfing) ​Signal Identification: The EA must scan completed candles across multiple selectable timeframes (e.g., 1M, 5M, 15M, 30M, 1H)
I want NinjaTrader to behave like Tradovate. When I hover over a candlestick, the cursor should automatically snap to the center of that candle across all open charts. For example, when I hover over a 30-minute candle, the cursor should align with the center of the corresponding candles on the 15-minute and other chart timeframes. I also want vertical lines drawn on one chart to automatically align with the center of
HFT EA 70+ USD
I need an experienced MQL5 developer to build a High-Frequency Trading (HFT) EA for MT5 , designed to generate high returns from small capital through fast scalping. Important: Attached videos must be watched and analyzed before applying. The EA should follow the trading concepts demonstrated in the videos, with proper risk management and optimized execution. https://vt.tiktok.com/ZSgp9jsFM/
I’m looking for an experienced MQL4/MQL5 developer with proven expertise in genuine high-frequency trading (HFT) or ultra-fast scalping Expert Advisors. Project requirements: Develop MT5 versions with complete source code and no restrictive licensing. Implement fast execution, selective entries, and rapid trade exits. Support XAUUSD Include robust risk controls: stop-loss, drawdown limits, spread/slippage filters
Hello, I already have an MT5 Expert Advisor for XAUUSD based on Fibonacci, market structure, BOS/CHoCH and swing trading. I need an experienced MQL5 developer to modify my existing EA, not develop a completely new one. Required modifications: Partial take-profit system with multiple TP levels. Keep profit targets conservative, using Fibonacci extension levels. Stop-loss placement beyond liquidity areas, not exactly

Informations sur le projet

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