Auto Adjusting lot size error

 

Hi guys, 

I have been trying to implement a code which will be able to adjust my lotsize based on the percentage of equity. I am not getting any errors but i am getting warnings which is preventing my EA from running in the strategy tester.


double Lots=0;
double Equity=AccountEquity();
double RiskedAmount=Equity*RiskPercent*0.01; 
 Lots=(RiskedAmount/ Xpips1 )/10;

Where Xpips would be an extern int. 

I can't see where i am going wrong. can someone please show me how to compute this. 


Thanks in advance

 
Trading: o adjust my lotsize based on the percentage of equity.
Equity is only one of three. Risk depends on your initial stop loss, lot size, and the value of the pair.
  1. In code (MT4):
    1. You place the stop where it needs to be - where the reason for the trade is no longer valid. E.g. trading a support bounce the stop goes below the support.
    2. Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually around $10/pip but it takes account of the exchange rates of the pair vs. your account currency.)
    3. Do NOT use TickValue by itself - DeltaPerLot and verify that MODE_TICKVALUE is returning a value in your deposit currency, as promised by the documentation, or whether it is returning a value in the instrument's base currency.
                MODE_TICKVALUE is not reliable on non-fx instruments with many brokers.
    4. You must normalize lots properly and check against min and max.
    5. You must also check FreeMargin to avoid stop out
    Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5=0.1 Lots maximum.
  2. Use a GUI EA like mine (for MT4): Indicators: 'Money Manager Graphic Tool' indicator by 'takycard' Forum - Page 6

 
Trading:

Hi guys, 

I have been trying to implement a code which will be able to adjust my lotsize based on the percentage of equity. I am not getting any errors but i am getting warnings which is preventing my EA from running in the strategy tester.


Where Xpips would be an extern int. 

I can't see where i am going wrong. can someone please show me how to compute this. 


Thanks in advance

Hi Trading,

I assume your trading an instrument that has 5 digits?

Here is my code for auto adjust lotsize which works fine. My "StopLoss" is also an integer.

Hope this helps!


double LotSize=0;
double Equity=AccountEquity();
double RiskedAmount=Equity*RiskPercent*0.01;
LotSize=(RiskedAmount/(StopLoss))/10;
 
timothysmith78:

Hi Trading,

I assume your trading an instrument that has 5 digits?

Here is my code for auto adjust lotsize which works fine. My "StopLoss" is also an integer.

Hope this helps!


*you're, not "your"! Good luck with solving your problem.

 
timothysmith78:
LotSize=(RiskedAmount/(StopLoss))/10;

Don't hard code constants, StopLoss (must be pips here) and 10 (average currency [Dollars]per pip.)

Risk depends on your initial stop loss, lot size, and the value of the pair. In code (MT4):
  1. You place the stop where it needs to be - where the reason for the trade is no longer valid. E.g. trading a support bounce the stop goes below the support.
  2. Account Balance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Note OOP-OSL includes the SPREAD, and DeltaPerLot is usually around $10/pip but it takes account of the exchange rates of the pair vs. your account currency.)
  3. Do NOT use TickValue by itself - DeltaPerLot and verify that MODE_TICKVALUE is returning a value in your deposit currency, as promised by the documentation, or whether it is returning a value in the instrument's base currency.
              MODE_TICKVALUE is not reliable on non-fx instruments with many brokers.
  4. You must normalize lots properly and check against min and max.
  5. You must also check FreeMargin to avoid stop out
Most pairs are worth about $10 per PIP. A $5 risk with a (very small) 5 PIP SL is $5/$10/5=0.1 Lots maximum.