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
​Entry Rules: > * Open BUY when a Bullish Fair Value Gap (FVG) forms. ​Open SELL when a Bearish Fair Value Gap (FVG) forms. ​Risk Management: ​Every trade must have a Stop Loss and Take Profit. ​I want to be able to change these numbers in the settings. ​Mobile Features: ​The bot must send a "Push Notification" to my phone app for every trade. ​Assets: ​Must work on WTI Oil and Bitcoin
Stack aid bot 30+ USD
I want to create an EA that will help me stack trades. I'll set the price line and anytime the market goes at that price line it should execute the trade be it but or sell also the bot will have a timed finish and a timed start. That means I can set a time(during sessions, I'll specify more) when I want a trade to be executed instantly and also a time I want a trade to automatically close itself
I am looking for a reliable and well-developed Expert Advisor (EA) that demonstrates low drawdown and consistent profitability on a real trading account . If you have already built such an EA, I would be interested in evaluating it. I would require: Verified backtest results Forward testing performance (demo or real account preferred) Ideally, a live track record (Myfxbook / FXBlue or similar) I am serious about
🏆 HIRING: Quantitative Gold (XAU/USD) Trading Strategy Developer ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 PROJECT OVERVIEW ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ I am building a professional trading signal platform (xtraderlab.com) and need an experienced quant trader or algo developer to design, code, and backtest a high-performance intraday Gold (XAU/USD) trading strategy. The strategy will be integrated into an existing
Technical Specifications: "Dawn Range Breakout" Expert Advisor (Final Version) 1. Overview The purpose of this EA is to capture the breakout of a specific hourly range on Gold (XAUUSD) or any other pair, with a focus on high-precision entry, strict risk management (1 trade per day), and partial profit taking. 2. Core Trading Logic Timeframe: M15. Reference Hour: The EA must identify the High and Low of the H1 candle
I need an Expert Advisor based on SK indicator for gold trading. Entry: - Open trade immediately when SK signal appears Stop Loss: - Fixed stop loss = $200 per trade Take Profit: - TP1: close 50% of the position - TP2: final target Lot Size: - Fixed lot = 0.02 Pair: - XAUUSD only Timeframe: - M15 Rules: - Only one trade per signal - No duplicate trades - Move stop loss to breakeven after TP1 Requirements: - The EA
i am looking for an experienced MQL5 developer to build a high-frequency trading Expert Advisor (EA) for XAUUSD (Gold) on M1 and M5 timeframes. The EA must include advanced execution logic, dynamic pending orders, risk management, and news/session filters. Clean, efficient, and well-documented code is required. Strategy type: Scalping (fast trades, quick profit). Very fast execution logic (optimized for speed). Goal
Ea with MM Masaniello 50 - 200 USD
I would like to develop a bot that allows me to manually input trades based on the Masaniello money management system, which I will configure at the outset. Within this setup, I will be able to define all the key parameters of the Masaniello strategy, including the total number of events, expected winning events, stake ratio (i.e. the TP/SL ratio), and the initial capital. Once the Masaniello parameters are set, the
Manly 30 - 200 USD
ZigZag based on oscillators is needed The idea of ​​the indicator Create a ZigZag indicator, which is constructed based on extreme values determined using oscillators. It can use any classical normalized oscillator, which has overbought and oversold zones. The algorithm should first be executed with the WPR indicator, then similarly add the possibility to draw a zigzag using the following indicators: CCI Chaikin RSI
AI Trading Bot 30 - 80 USD
Essential Components for Indicator Specification Objective & Overview: Briefly describe what the indicator calculates (e.g., trend, momentum, volatility) and its main purpose. Input Parameters (Variables): List all user-definable inputs (e.g., Moving Average periods, ATR multiplier) to avoid hardcoding values. Detailed Logic/Calculation Rules: Explain the formula or logic to calculate indicator values. Define

Informations sur le projet

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