(HELP) Changing lots after losses

 

I would like to create a lots list if there are consecutive losses. Example:

1 trial - lot 0.01 - Lost.

21 trial - lot 0.02 - Lost.

26 trial - lot 0.03 - Lost

31 trial - Lot 0.07 - Won

Then, since the ea won back to the 1 attempt.

Remembering that lots do not follow a multiplication order or something like that.

Thank you

 
matheustn12:

I would like to create a lots list if there are consecutive losses. Example:

1 trial - lot 0.01 - Lost.

21 trial - lot 0.02 - Lost.

26 trial - lot 0.03 - Lost

31 trial - Lot 0.07 - Won

Then, since the ea won back to the 1 attempt.

Remembering that lots do not follow a multiplication order or something like that.

Thank you

Count history closed loses orders in a raw. Than lot=start lot*MathPow(lot_multip,loses);
 
If I understand correctly, you want to have a fixed order for the order lotsize in case you run into consecutive losses...

You could simply store those values in an array, then have a counter of the number of consecutive losses and, for each order, access the value corresponding to the number of current consecutive losses.
 
Guillermo:
If I understand correctly, you want to have a fixed order for the order lotsize in case you run into consecutive losses...

You could simply store those values in an array, then have a counter of the number of consecutive losses and, for each order, access the value corresponding to the number of current consecutive losses.
Yes, Exactly this, You can teach me how to do it please, I'm new to mlq4
 
//+------------------------------------------------------------------+
//                        DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//
//                   Copyright ©2011, ForexEAdvisor.com
//                 ForexEAdvisor Strategy Builder version 0.2
//                        http://www.ForexEAdvisor.com 
//
// THIS EA CODE HAS BEEN GENERATED USING FOREXEADVISOR STRATEGY BUILDER 0.2 
// on: 11/7/2016 8:23:42 PM
// Disclaimer: This EA is provided to you "AS-IS", and ForexEAdvisor disclaims any warranty
// or liability obligations to you of any kind. 
// UNDER NO CIRCUMSTANCES WILL FOREXEADVISOR BE LIABLE TO YOU, OR ANY OTHER PERSON OR ENTITY,
// FOR ANY LOSS OF USE, REVENUE OR PROFIT, LOST OR DAMAGED DATA, OR OTHER COMMERCIAL OR
// ECONOMIC LOSS OR FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, STATUTORY, PUNITIVE,
// EXEMPLARY OR CONSEQUENTIAL DAMAGES WHATSOEVER RELATED TO YOUR USE OF THIS EA OR 
// FOREXEADVISOR STRATEGY BUILDER     
// Because software is inherently complex and may not be completely free of errors, you are 
// advised to verify this EA. Before using this EA, please read the ForexEAdvisor Strategy Builder
// license for a complete understanding of ForexEAdvisor' disclaimers.  
// USE THIS EA AT YOUR OWN RISK. 
//  
// Before adding this expert advisor to a chart, make sure there are NO
// open positions.
//                      DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//+------------------------------------------------------------------+


extern int MagicNumber=10001;
extern double Lots =0.1;
extern double StopLoss=50;
extern double TakeProfit=50;
extern int TrailingStop=50;
extern int Slippage=3;
//+------------------------------------------------------------------+
//    expert start function
//+------------------------------------------------------------------+
int start()

{
   












  double MyPoint=Point;
  if(Digits==3 || Digits==5) MyPoint=Point*10;
  
  double TheStopLoss=0;
  double TheTakeProfit=0;
  if( TotalOrdersCount()==0 ) 
  {
     int result=0;
     if((Bid>Open[0])) // Here is your open buy rule
     {
        result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Blue);
        if(result>0)
        {
         TheStopLoss=0;
         TheTakeProfit=0;
         if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
         if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
         OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
        }
        return(0);
     }
     if((Bid<Open[0])) // Here is your open Sell rule
     {
        result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Red);
        if(result>0)
        {
         TheStopLoss=0;
         TheTakeProfit=0;
         if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
         if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
         OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
        }
        return(0);
     }
  }
  
 int Qnt[6] = {1,2,3,4,5,6}; 
   int Qnt2[];                        // Orders counter
     
//------------------------------------------------------------------------------ 3 --
   ArrayCopy(Qnt, Qnt2);// Saves the preceding history
   Qnt[0];                              // Zeroize orders counter
   ArrayInitialize(Qnt2,0);     // Zeroize the array
   ArrayInitialize(Qnt,    0);     // Zeroize the array
//------------------------------------------------------------------------------ 4 --
   for(int i=0; i<OrdersTotal(); i++) // For market and pending orders
     {
      if((OrderSelect(i,SELECT_BY_POS)==true)     //If there is the next one
      && (OrderSymbol()==Symbol()))               //.. and our currency pair
        {
         //--------------------------------------------------------------------- 5 --
         Qnt[0]++;                                   // Amount of ordersMas_Tip[OrderType()]++;                  // Amount of orders of the type
         Qnt2[0]=Qnt[6]=OrderType();         // Order type
                }
     }
   Qnt2[0]=Qnt[0];                         // Amount of orders
//------------------------------------------------------------------------------ 7 --
   return;
  }
int TotalOrdersCount()
{
  int result=0;
  for(int i=0;i<OrdersTotal();i++)
  {
     OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);
     if (OrderMagicNumber()==MagicNumber) result++;

   }
  return (result);
}



 
My fixed lots are not working because?

I'm new mql4