BTC USD 97,477.4 Gold USD 2,860.33
Time now: Jun 1, 12:00 AM

Macam mana nak ejas code ni buatkan dia tolak -1 layer setiap group ??

Vondereich

CG Top Poster Club
gem
Messages
23,911
Joined
Jan 11, 2008
Messages
23,911
Reaction score
944
Points
176
Code:
[CODE]//+------------------------------------------------------------------+

//| Total Order

//+------------------------------------------------------------------+

int TotalOrder(int ordertype = -1)//ok

  {

   int Order = 0;



   for(int i = 0; i < OrdersTotal(); i++)

     {

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

        {

         if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)

           {

            if(ordertype == -1)

               Order++;

            else

               if(ordertype == OrderType())

                  Order++;

           }

        }

     }



   return(Order);

  }

//+------------------------------------------------------------------+

//| Setup Lot

//+------------------------------------------------------------------+

double SetupLot(int orderType)

  {

   double lot    = 0, firstLot = 0,multiplier = Multiplier_,

          MinLot = MarketInfo(Symbol(),MODE_MINLOT),

          MaxLot = MarketInfo(Symbol(),MODE_MAXLOT),

          lotStep  = MarketInfo(Symbol(),MODE_LOTSTEP);

   int    lotDigit = 1;

   if(lotStep == 0.01)

      lotDigit = 2;

   if(lotStep == 0.001)

      lotDigit = 3;

//===============================================================================================

//if(TotalOrder(orderType)+1 >= AtLevelMulti) multiplier = LotExponent;

 

   if(MathMod(TotalOrder(orderType)+1,Layer_Per_Group)==1)

      multiplier = LotExponent;

    

//===============================================================================================

   for(int i = 0; i < OrdersTotal(); i++)

     {

      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

        {

         if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)

           {

            if(OrderType() == orderType)

               lot = MathMax(lot,OrderLots());

           }

        }

     }



   if(lot == 0)

     {

      if(Lots_By_Risk==0)

         lot = Lots_Manual;

      else

         lot = AccountBalance()*Lots_By_Risk/10000;

     }

   else

     {

      if(multiplier > 0)

        {

         lot *= multiplier;

         lot += (0.004);

        }

      else

        {

         if(Lots_By_Risk==0)

            lot = Lots_Manual;

         else

            lot = AccountBalance()*Lots_By_Risk/10000;

        }

     }





   lot = NormalizeDouble(lot,lotDigit);

   if(lot < MinLot)

      lot = MinLot;

   if(lot > MaxLot)

      lot = MaxLot;



   return(lot);

  }

Hi nak tanya, mcm mana nk buat code ni dia tolak -1 layer untuk each group tapi starting dari group ke dua dan seterusnya lah.. dan bila -1 layer hilang dari setiaap group, dia akan tinggal hanya satu layer je..

dan lepas tu nak buat 1 layer tu dan layer seterusnya follow pipstep dan lot martingale exponent.. takde lagi group..

contoh simple mcm ni

kita set layer per group 5

guunaa pipstep 30
exponent 1.5

so setiap 30 pip dia akan bukak same lot size in group

0.01x5
lepas tu layer group kedua akan ada martingale skit

0.02x4 sebab dah tolak -1 layer

0.03x3 (ni kira2 je kalau ikut martingale lot)

0.07x2

0.14x1

dan 0.28, 0.56 dan seterusnya dia follow layer pipstep lot exponent
 

Live Forex Chart

Currency
Rates
EUR / USD
1.03220
USD / JPY
151.668
GBP / USD
1.23928
USD / CHF
0.91034
USD / CAD
1.42928
EUR / JPY
156.551
AUD / USD
0.62616

CG Sponsors




Back
Top
Log in Register