forex software

Create and Test Forex Strategies

forex software

Skip to forum content

Forex Software

Create and Test Forex Strategies

You are not logged in. Please login or register.


Forex Software → Expert Advisor Studio → Autolot calculation

Pages 1

You must login or register to post a reply

RSS topic feed

Posts: 2

Topic: Autolot calculation

Can someone please assist me in how to change the EA to do autolot calculation.

Eg, start with 0.1 and for every $3000 profit, automatically increase the lot by 0.1.

I will really appreciate any feedback.
Thanks

2 (edited by yonkuro 2019-10-17 11:13:30)

Re: Autolot calculation

Hello,

you can try this

find and replace

      double stopLoss   = signal.StopLossPips>0 ? GetStopLoss(command, signal.StopLossPips) : 0;
      double takeProfit = signal.TakeProfitPips>0 ? GetTakeProfit(command, signal.TakeProfitPips) : 0;
      string comment    = IntegerToString(signal.MagicNumber);
      color  arrowColor = command==OP_BUY ? clrGreen : clrRed;

with

      if(!Auto_Lot){amount=Entry_Amount;}else
      if(Auto_Lot){
      amount=((AccountBalance()*Lot_per_10000)/100)/1000;
      
      int Decimals=1;
      double ModeLotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
      if (ModeLotStep == 0.01) Decimals = 2;
      if (ModeLotStep == 0.001) Decimals = 3;
      amount=NormalizeDouble(amount,Decimals);
      } 
      
      double stopLoss   = signal.StopLossPips>0 ? GetStopLoss(command, signal.StopLossPips) : 0;
      double takeProfit = signal.TakeProfitPips>0 ? GetTakeProfit(command, signal.TakeProfitPips) : 0;
      string comment    = IntegerToString(signal.MagicNumber);
      color  arrowColor = command==OP_BUY ? clrGreen : clrRed;

      if(amount<=MarketInfo(_Symbol,MODE_MINLOT)){amount=MarketInfo(_Symbol,MODE_MINLOT);Comment("______ Use MIN LOT ______");}else
      if(amount>=MarketInfo(_Symbol,MODE_MAXLOT)){amount=MarketInfo(_Symbol,MODE_MAXLOT);Comment("______ Use MAX LOT ______");}else
      Comment("");
      
      if(Ask-Bid>_Point*Maximum_Spread)
      return;

then find and replace

static input double Entry_Amount      = 0.01; // Entry lots

with

extern bool Auto_Lot               = true;
extern double Lot_per_10000      = 1;
static input double Entry_Amount   = 0.01;  // Entry lots

It'll give you 1 lot per 10000 or 0.01 lot per 1000

Best regards.

Posts: 2

Pages 1

You must login or register to post a reply

Forex Software → Expert Advisor Studio → Autolot calculation

Similar topics in this forum