Ошибки, баги, вопросы - страница 2379

 
Vladimir Karputov:
Я уже недавно как раз о индивидуальных папках спрашивал, дали ответ: «всё в кучу» и пока менять не будут.

Видимо, политика поменялась совсем недавно. Раньше работало, как надо.

 

Поломали поиск на сайте...

По форуму ничего не ищет ...

 
Доброго времени суток. Не работает поиск на сайте, по разделу CodeBase.
 

Всем, привет.

Обнаружил критический баг в тестере MT5 (последняя бета build 1981). При запуске отладки на исторических данных из редактора, тестер стабильно наглухо виснет. Windows 7 x64. Брокер - Открытие. Счёт - Реал. Проверил на разных индикаторах в т.ч. из состава поставки (на видео стандартный индикатор TEMA). MT5 и ПК не раз перегружал. Глюк проявляется стабильно. Тестить и отлаживать невозможно :(  Записал видео для наглядности. Прошу разработчиков обратить пристальное внимание.


 
Kuzmich:

Всем, привет.

Обнаружил критический баг в тестере MT5 (последняя бета build 1981). При запуске отладки на исторических данных из редактора, тестер стабильно наглухо виснет. Windows 7 x64. Брокер - Открытие. Счёт - Реал. Проверил на разных индикаторах в т.ч. из состава поставки (на видео стандартный индикатор TEMA). MT5 и ПК не раз перегружал. Глюк проявляется стабильно. Тестить и отлаживать невозможно :(  Записал видео для наглядности. Прошу разработчиков обратить пристальное внимание.


Проверим
 
На сайте не работает поиск по автору и по дате.
 
Slava:
Проверим

Проверили. Исправили.

 
Slava:

Обратите, пожалуйста внимание на следующую проблему.

Стандартная библиотека. Функция частичного закрытия позиции.

//+------------------------------------------------------------------+
//| Partial close specified opened position (for hedging mode only)  |
//+------------------------------------------------------------------+
bool CTrade::PositionClosePartial(const ulong ticket,const double volume,const ulong deviation)
  {
//--- check stopped
   if(IsStopped(__FUNCTION__))
      return(false);
//--- for hedging mode only
   if(!IsHedging())
      return(false);
//--- check position existence
   if(!PositionSelectByTicket(ticket))
      return(false);
   string symbol=PositionGetString(POSITION_SYMBOL);
//--- clean
   ClearStructures();
//--- check filling
   if(!FillingCheck(symbol))
      return(false);
//--- check
   if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      //--- prepare request for close BUY position
      m_request.type =ORDER_TYPE_SELL;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_BID);
     }
   else
     {
      //--- prepare request for close SELL position
      m_request.type =ORDER_TYPE_BUY;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_ASK);
     }
//--- check volume
   double position_volume=PositionGetDouble(POSITION_VOLUME);
   if(position_volume>volume)
      position_volume=volume;
//--- setting request
   m_request.action   =TRADE_ACTION_DEAL;
   m_request.position =ticket;
   m_request.symbol   =symbol;
   m_request.volume   =position_volume;
   m_request.magic    =m_magic;
   m_request.deviation=(deviation==ULONG_MAX) ? m_deviation : deviation;
//--- close position
   return(OrderSend(m_request,m_result));
  }

В момент частичного закрытия позиции происходит очистка существующего комментария позиции. А функция частичного закрытия выше не предусматривает возможность записи комментария. Исправьте, пожалуйста, на что-то вроде:

//+------------------------------------------------------------------+
//| Partial close specified opened position (for hedging mode only)  |
//+------------------------------------------------------------------+
bool CTrade::PositionClosePartial(const ulong ticket,const double volume,const ulong deviation,const string comment)
  {
//--- check stopped
   if(IsStopped(__FUNCTION__))
      return(false);
//--- for hedging mode only
   if(!IsHedging())
      return(false);
//--- check position existence
   if(!PositionSelectByTicket(ticket))
      return(false);
   string symbol=PositionGetString(POSITION_SYMBOL);
//--- clean
   ClearStructures();
//--- check filling
   if(!FillingCheck(symbol))
      return(false);
//--- check
   if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      //--- prepare request for close BUY position
      m_request.type =ORDER_TYPE_SELL;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_BID);
     }
   else
     {
      //--- prepare request for close SELL position
      m_request.type =ORDER_TYPE_BUY;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_ASK);
     }
//--- check volume
   double position_volume=PositionGetDouble(POSITION_VOLUME);
   if(position_volume>volume)
      position_volume=volume;
//--- setting request
   m_request.action   =TRADE_ACTION_DEAL;
   m_request.position =ticket;
   m_request.symbol   =symbol;
   m_request.volume   =position_volume;
   m_request.magic    =m_magic;
   m_request.comment  =comment;
   m_request.deviation=(deviation==ULONG_MAX) ? m_deviation : deviation;
//--- close position
   return(OrderSend(m_request,m_result));
  }

И, аналогично для данной функции:

bool CTrade::PositionClosePartial(const string symbol,const double volume,const ulong deviation)
 
Alexey Kozitsyn:

Обратите, пожалуйста внимание на следующую проблему.

Стандартная библиотека. Функция частичного закрытия позиции.

В момент частичного закрытия позиции происходит очистка существующего комментария позиции. А функция частичного закрытия выше не предусматривает возможность записи комментария. Исправьте, пожалуйста, на что-то вроде:

И, аналогично для данной функции:

Сделаем. Только сначала подумаем.
 
Slava:
Сделаем. Только сначала подумаем.

А есть какие-то противопоказания? Я сам сделал изменения, о которых написал - все работает. Если кому не надо коммент - вставляет пустой.

Причина обращения: