fNewBar_b, GetPoint, LotPoint, GetLot

Просмотров: 3463

0

 

 

//+----------------------------------------------------------------------------+
bool fNewBar_b(int TF = 0)
  {
   static datetime NewTime=0;
   if(NewTime!=iTime(Symbol(),TF,0))
    {
     if(NewTime==0)
      {
       NewTime=iTime(Symbol(),TF,0);return(false);
      }     
     NewTime=iTime(Symbol(),TF,0);
     return(true);
    }
   return(false);    
  }

 

 

//+----------------------------------------------------------------------------+
double GetPoint()
{
 int vres = StringFind(Symbol(),"JPY");
 if (vres == -1) return(0.0001);
 return(0.01);
}

 

 

//-----
double LotPoint()
{
 double steplot = MarketInfo(Symbol(),MODE_LOTSTEP);
 int LotsDigits = MathCeil(MathAbs(MathLog(steplot)/MathLog(10)));
 return(LotsDigits);
}
//----

 

extern double Lot              = 0;
extern bool   Choice_method    = false;
extern double Risk             = 0.3;

 

 double GetLot()
  {
   double metod  = 0;
   if(Choice_method)metod = AccountBalance();
   else metod = AccountFreeMargin();
   double MinLot = MarketInfo(Symbol(),MODE_MINLOT);
   double MaxLot = MarketInfo(Symbol(),MODE_MAXLOT);
   double Prots = Risk/100;
   double Lotsi=MathFloor(metod*Prots/MarketInfo(Symbol(),MODE_MARGINREQUIRED)
               /MarketInfo(Symbol(),MODE_LOTSTEP))*MarketInfo(Symbol(),MODE_LOTSTEP);
   if(Lot>0)Lotsi=Lot;
   if(Lotsi<MinLot)Lotsi=MinLot;
   if(Lotsi>MaxLot)Lotsi=MaxLot;              
   return(Lotsi);
  }

Оставьте свои комментарии к новости "fNewBar_b, GetPoint, LotPoint, GetLot" ниже на моём вэб-сайте.

Категория: Для программиста mql

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.