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
I'm looking to buy a profitable NinjaTrader automated trading system that can trade NQ/MNQ or ES/MES. My goal is to find a system with a strong profit potential, even if it has a high drawdown. Scope of work - Provide NinjaTrader automated trading system for NQ/MNQ or ES/MES. - Include backtest results for at least 1 year. - System must show high profitability. Additional information I am primarily focused on finding
Exe source code 70+ USD
Need a developer to help with a exe file and provide the source code, if you can do this please kidnly apply and tell me what you need to get this started
XAUUSD - TREND TRADER 30 - 500 USD
Find a good entry point and enter the trade .after the first profit of 25% is done then exit the trade .find the good market analysis of the trend and know when the market is on a good trend. After that now know the entry point and the take profit of the slot you have opened .have also a risk management strategy
Looking for someone to reverse/decompile my exe file, pls apply if this is something you can do and let me know how long this will take you to do will send the file to you once it’s something you seems to do
Hello, I am a serious buyer looking to acquire an existing, stable, and profitable Expert Advisor (EA) designed specifically for: 👉 Gold (XAUUSD) This is a full buyout request, including complete source code and full ownership. ⚠️ I am NOT looking to build a new EA from scratch. Only ready-made, proven systems with real performance history. ✅ EA Requirements (Strict) 📌 Symbol & Strategy ✔️ Trades Gold only (XAUUSD)
مرحبا احتاج ريبورت يعمل على mt5. يعمل على ذهب على تايم فريم ٥ دقائق. يعمل ٢٤ ساعة طريقة العمل كل ٣٠ دقيقة يتم فتح دورة مثال لو كانت ساعة ١.٢٥ ننتضر شمعة التالي المقصود بمعنى الشمعة ٥ دقايق سوف تغلق ساعة ١.٣٠ هذا الشمعة المقصودة يتم تطبيق كل نصف ساعة الشرح الدقيق عند اغلاق شمعة ٥ دقايق فورآ يتم تحديد هاي شمعة و لو الشمعة ننتضر في حال اخترق هاي شمعة المحددة بفارق نصف دولار أعلى شمعة المحددة
USD I’m looking to acquire an existing, profitable Expert Advisor (EA) with full source code to add to our client investment portfolio. for an experienced MQL5 developer to build a fully automated trading bot (Expert Advisor) for MetaTrader 5 . The bot will focus on trend-following scalping and must be designed to trade XAUUSD, EURUSDm, ETHUSDm,BTCUSDm and others on the M1 timeframe . The objective is to create a
I have a few different expert advisors. I would like a copier that will copy the trades from the robots on mt4/mt5 to trade locker. Make it so the copier only works with my expert advisors, so it can only be used by my members. Some of my systems are grid trading, for your reference. I want it to be easy to use, with clean functionality. Nothing difficult
Required Filters are working as per specification and requirement . Stop Loss Trailing needs correct execution for live chart . Need a little advice on trailing stop loss correction . Live chart only
I’m looking to purchase a profitable automated trading system for NinjaTrader that can trade NQ/MNQ or ES/MES futures . My goal is to find a strategy with strong profit potential , even if it comes with a higher drawdown. Please send any algos you have that trade NQ/MNQ or ES/MES with at least a 1-year backtest , preferably a system that is not based on ultra-fast scalping . Scope of work Provide a NinjaTrader

Informations sur le projet

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