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%
Travail
Commandes similaires
Simple MT5 indicator showing Friday close to Monday open gap on chart. Features: · Draw horizontal line at Friday close · Label showing gap size in pips · Toggle on/off
Hi. I have the statement of the Ea live results that I want to have. Please check this video from YouTube and the statement to see how the robot is working every day. I want a robot like this or better. The robot has 1-4% drawdown and 300-500% profit per month The robot works with ICMarkets Global 1:500 leverage and FPMarkets. The robot works between 10-30 minutes London session. Also the Robot can start trading from
MT5 Expert Advisor Development Project Overview I am looking for an experienced MQL5 developer to build a custom MetaTrader 5 Expert Advisor based on a grid-cycle trading framework. This is not a standard grid EA . The system combines: Session-based trade initiation Multi-filter signal generation Dynamic grid management Advanced basket management State-machine-driven trade lifecycle management Dynamic take-profit
I'm building a trading signal platform called Tradexa , focused on US30 and Nasdaq indices. For Phase 1, I need a developer to implement the signal-generation engine based on a detailed strategy document that I will provide. Requirements Multi-timeframe analysis (H4 → H1 → M15) Generate signals on M15 only when all strategy conditions are satisfied Detect liquidity sweeps Market structure shift (BOS/CHOCH) Retest
Hi, ink it would be that much. I have an existing EA that has just stopped working, I installed a new MT4 platform onto a new laptop and now it will not execute any trades, although I have put a price of 30usd I don't think it would be that much. Thanks Roman
Need an MT5 EA coded in MQL5. Strategy uses internally calculated MT5 Heikin Ashi candles, EMA 9 and EMA 21 on M1 USDJPY. Fixed lot size 12.20. One trade at a time. 40-point stop loss. Exit after 3 consecutive opposite Heikin Ashi candles. I have a detailed strategy document and video examples of valid and invalid entries. Videos linked show MT5 IOS but custom EA code will be used for windows MT5
We need an experienced MQL5 developer to build the Equity Guardian Strategy — a risk management overlay EA designed to run alongside two existing Expert Advisors. The Guardian monitors account equity and automatically switches to Recovery Mode when drawdown reaches a set threshold. While in Recovery Mode, the EA must block or ignore trading signals from the other two Expert Advisors. The system uses dynamic hedging
Just a straight forward ea that reacts from candle close and open area using martingale option knowing what the broker charges per pair because will use it in a Z spread account so the ea will know what they charge or I can manually set charges so before ea close in profit it makes sure it covers the charges and added little profit before closing
I require a custom EA and an accompanying custom indicator built in MQL5 for Meta Trader 4/5. The EA must be fully automated (Algo Trading); Telegram-Signal-Linked and named 'AMK Fx'
Hello, I am searching an honest trader who will teach me profitable strategy that have 0/1 rules without guessing. Only serious offers please with example of trade and explanation in first message

Informations sur le projet

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