Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 206

 
Alexey Viktorov:
А нормализовать до 2 знаков пробовали?

А что нормализовать? Текущую цену, и потом сравнивать..... с чем?

Не соображу, о чём вы говорите
.

 
Vyacheslav Kornev:

У меня Мак бук. Я даже копировать не могу с метаэдитора

Расшифруйте значения и тип переменных во втором случае.
 
Victor Nikolaev:

Расшифруйте значения и тип переменных во втором случае.





 
mila.com:

Здравствуйте.

Помогите, пожалуйста, зафиксировать факт пересечения текущей ценой любой круглой цены, а не конкретной, как в примере.

Например:

или

static double prevBid=EMPTY_VALUE;

if (prevBid!=EMPTY_VALUE && prevBid<=levelPrice && Bid > levelPrice ) {

   /// цена пересекла уровень снизу вверх

}

prevBid=Bid;

 
mila.com:

Здравствуйте.

Помогите, пожалуйста, зафиксировать факт пересечения текущей ценой любой круглой цены, а не конкретной, как в примере.

Например:

или

//===============================================================================================
//---------------------------- Возвращает ближайший круглый уровень ----------------------------+
//===============================================================================================
double GetUniversalLevel(int ne=100, string symb="0") {
 if(symb=="0") symb=Symbol();
 static double LastBid;
 double _Level=0, PriceStep=0, bid=0, point=0;
 bid=SymbolInfoDouble(symb,SYMBOL_BID);
 point=SymbolInfoDouble(symb,SYMBOL_POINT);
  if(LastBid<point) LastBid=bid;
   PriceStep=ne*point;
   _Level=MathRound(bid/PriceStep)*PriceStep;
  LastBid=bid;
  return(_Level);
 }

Вызов

//double R_Level = GetUniversalLevel(100, Symbol()); // круглые 100
double R_Level = GetUniversalLevel(50, Symbol()); // круглые 50
// дальше надеюсь разберётесь
Comment(R_Level );
 
Vyacheslav Kornev:






Попробуем подставить значения в формулу

if (St==7)
  {
     double Pris_Lin=0;
     Lots0=(L(OP_SELL)+(Bid-0)/10*Lotsc;  
     // Для Евро 
     // Lots0=(L(OP_SELL)+(1.10890-0)/10*0.1;
     // Lots0=(L(OP_SELL)+0.0110890;
     
     .....................
     if (Op_Pr>=Bid)
        Lots0=L(OP_SELL);
     if (Lotsc>Lots0) Loys0=Lotsc;
  }

Если размер лота округлить согласно требований ДЦ, то лот увеличится или на 0.01, или не изменится.

Но округления нету, так что просто будет ошибка - Неверный объем лота.

 
Victor Nikolaev:


Попробуем подставить значения в формулу

Если размер лота округлить согласно требований ДЦ, то лот увеличится или на 0.01, или не изменится.

Но округления нету, так что просто будет ошибка - Неверный объем лота.


Вообще то Pris_lin это цена, и она никогда не равна нулю
 
Vyacheslav Kornev:

Вообще то Pris_lin это цена, и она никогда не равна нулю

Внимательно посмотрите на тот код, что Вы выложили на предыдущей странице.
 
Victor Nikolaev:

Внимательно посмотрите на тот код, что Вы выложили на предыдущей странице.

Да я вижу. поэтому и прошу помочь
 
Victor Nikolaev:

Внимательно посмотрите на тот код, что Вы выложили на предыдущей странице.

Мне нужно взять цену, и еще по модулю посчитать разность и все( Bid - Pris_lin)
Причина обращения: