Risk percentage lot size calculation

MQL5 Esperti

Lavoro terminato

Tempo di esecuzione 1 giorno
Feedback del dipendente
Excellent customer. Wishing you success in learning MQL.
Feedback del cliente
Great Developer! Code works like a charm and was delivered very quickly with useful complementary information!

Specifiche

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;
           }
        
     }

 

 

Con risposta

1
Sviluppatore 1
Valutazioni
(182)
Progetti
342
42%
Arbitraggio
118
12% / 73%
In ritardo
104
30%
Gratuito
Pubblicati: 4 codici
2
Sviluppatore 2
Valutazioni
(564)
Progetti
845
73%
Arbitraggio
15
53% / 13%
In ritardo
193
23%
Gratuito
Ordini simili
O Trading Ventures 30 - 2000 USD
a trading bot that can open and close trade by its self a stop loss of 1.2 lot size and good tp it should be able to learn trends and learn from its mistakes
JOB SPECIFICATION: Fully Automated ES/MES 5-Minute NY Opening Range Breakout EA 1. Project objective I am looking for an experienced trading algo developer to build a fully automated trading bot (EA) based on my specific 5-minute New York Opening Range Breakout strategy. The EA must identify setups, confirm breakouts, identify retests, confirm continuation, execute trades, calculate position size, place stop-loss and
Hello fellow traders! I am a professional Forex trader with over 16 years of continuous experience in the financial markets. I have developed my own proprietary trading system, which has demonstrated a win rate of over 90%. I am now looking to collaborate with traders who have struggled to achieve consistent profitability in the markets. I can offer you two options: 1. Strategy Training I can teach you my proprietary
Ftmo copier error 34 - 36 USD
I'm having an issue copying trades from my MT5 account to FTMO using Social Trader Tools (an MT5 trade copier). Social Trader Tools reports that automated trading is disabled and says FTMO needs to resolve it. However, FTMO confirms everything is fine on their end and advises enabling Algo Trading, which I've already done. I'm looking for someone who has specifically experienced and successfully resolved this exact
Smc 50 - 200 USD
Title: Professional MT5 XAUUSD Multi-Strategy Expert Advisor Developer Needed I am looking for an experienced MQL5 developer to build or improve a fully automated MT5 Expert Advisor for XAUUSD on an Exness hedging account. Requirements: - Five independent trading engines: Rapid, Scalping, Sniper, Trend and Reversal. - Advanced SMC/ICT market structure, liquidity, BOS, CHoCH, order blocks and FVG analysis. - Multiple
i need this kind of ai expertadvivore i send you link of youtube chanal link please see its stretegy and make a bot this stretegy contact me at +923025084018 whatsapp https://www.youtube.com/watch?v=tG9D43ageBU chanel link https://www.youtube.com/@ForexRobot_MT4_MT5
I need liquidity sweep indicator ready made I need, please response only if you have ready made liquidity sweep and please send me .demo for testing and please describe me logic of this liquidity sweep indicator, I am searching professional indicator
Was wondering if it’s possible for you to recreate a trading indicator that I currently use, as it’s a private script. I just need to make sure I have the complete source code and can use my own version independently. I can provide screenshots of its settings and chart signals, along with examples of how it behaves. Would this be something you’d be able to develop
Hi there I need someone who can create an ea that calculate the next price movement points if it greater then the spread cost using atr,ema, it must place an dead order meaning if the market touches it , it dead only actives in profits message of me if you understand, or if you can create it
أبحث عن مطور MQL5 ذي خبرة لإنشاء مستشار خبير (EA) مخصص يعتمد على استراتيجية محددة لتتبع الاتجاهات مع إدارة صارمة للمخاطر. 1. متطلبات استراتيجية التداول: - مرشح الاتجاه: استخدم المتوسط ​​المتحرك الأسي (EMA) لمدة 200 فترة على الإطار الزمني H1. * افتح صفقات الشراء فقط إذا كان السعر أعلى من المتوسط ​​المتحرك الأسي 200. * افتح صفقات البيع فقط إذا كان السعر أقل من المتوسط ​​المتحرك الأسي 200. - إشارة الدخول: استخدم مؤشر

Informazioni sul progetto

Budget
10 - 20 USD
Scadenze
da 1 a 2 giorno(i)