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

 
Работает только такой вариант , с явным присвоением значения функции переменной . Плз поправьте .
class proba
  {
   private:
      int   Nambe;
   public:
       void     Init(){Nambe=10 ;};
       void     Vedenie() {Nambe--  ;};
       bool     Start(){if (Nambe >0) return(true); return(false) ;};        
  };
//=========================================================================
proba cikl;
void OnStart()
  {
      cikl.Init();
      bool aaa;
        do
          {
            cikl.Vedenie() ;
            Print(" Функция старт вернула ",cikl.Start());
            aaa=cikl.Start() ;
          }
        while(aaa);
  }
Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
  • www.mql5.com
Основы языка / Операции и выражения / Операции присваивания - Документация по MQL5
 

Писал об этом еще прошлой зимой, но до сих пор не поправили.

При размерах депозита больше 100 млн. и соответствующих размерах лота перестают правильно учитываться результаты закрытия позиций.

Убытки при закрытии позиции не списываются с баланса. Из-за этого невозможно тестировать стратегии на значительных интервалах истории. 

 

Ошибка в документации.

 

 
vdv2001:

Обидно когда несколько суток работы вылетает в трубу, и приходится все начинать с начала.

 

А файловый кэш создался? Он как раз для этого и создавался и должен использоваться при повторных расчетах.
 
ivandurak:

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

 

Спасибо, будем разбираться.
 
Urain:

С какого это перепугу перечисление ENUM_APPLIED_PRICE начинается с 1 ???

результат:

А почему бы и нет? Этот енумератор всегда таким был
 
stringo:
А почему бы и нет? Этот енумератор всегда таким был

В червёрке он начинается с нуля. И остальные перечисления тоже стартуют с нуля. Легко было предположить что и этот идёт с нуля, ан нет.

Вообще проблема возникает, и при условии что ты не знаешь этой особенности, и только когда вместо имени используешь цифры (что иногда необходимо в циклах),  в других же случаях стоит писать имя нужного значения.

 
Karlson:

Ошибка в документации.

 

Спасибо, исправили.
 
papaklass:

Я чего то не понимаю, или это баг?

Дает ошибку 4805.
Если же так:то все нормально работает.

 

Я так понимаю билд 540. А какая битность?

Не получилось с ходу воспроизвести. 

 
papaklass:

Я чего то не понимаю, или это баг?

Дает ошибку 4805. 

Вот так будет работать:

//--------------------------ОБЪЯВЛЕНИЕ ВНЕШНИХ ПАРАМЕТРОВ------------------------------------------------+
input ENUM_TIMEFRAMES      TF = PERIOD_H4;
//--------------------------ОБЪЯВЛЕНИЕ ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ---------------------------------------------+
int
   frHandle;
bool
   start;   
//--------------------------ИНИЦИАЛИЗАЦИЯ ЭКСПЕРТА-------------------------------------------------------+
int OnInit(){
//---
   frHandle = iFractals(Symbol(),(ENUM_TIMEFRAME)TF);
   if(frHandle == INVALID_HANDLE){
      Print(__FUNCTION__," : ","error handle indicator",GetLastError());
      start = true;
   }
   
//---
   return(0);
}//+-----------------------------------------------------------------------------------------------------+
Причина обращения: