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

 

Снова началась проблема: Оптимизация показывает одни сеты, а когда их прогоняешь - другие. 

Одна прибыль



В отчетё - другая


И так со всеми сетами.

Терминал Альфа, но такое было раньше и у других терминалов других брокеров. 

Это не только баланс, вообще - все критерии не совпадают. Как будто перепутаны или смешались. 



Раньше такое было, когда вызывал индикатор Фрактал. 
Сейчас же вызываю ЗигЗаг. 

Пробовал перезагружать терминал - тоже самое, иногда помогает, но на пару раз
 

@Ivan Butko

это с?

так и не понял как это работает, в каких случаях ее точно нужно включать, каша какая-то, разработчикам нужно что-то с этим делать. Скорее нужно в обратную сторону функцию включать

#property tester_everytick_calculate

 
lynxntech #:

@Ivan Butko

это с?

Амм... даже не знаю, что это))

Такой строчки у меня нет в директивах

 
Ivan Butko #:

Амм... даже не знаю, что это))

Такой строчки у меня нет в директивах

в роботе нужно указать, результат сообщить тут)

 
lynxntech #:

в роботе нужно указать, результат сообщить тут)

Тоже самое, сет пишет прибыль 210
Прогоняешь - в отчетё - 229

 
Ivan Butko #:

Тоже самое, сет пишет прибыль 210
Прогоняешь - в отчетё - 229

или в индикаторах..., когда задавал вопрос, кто-то написал что в роботе..., бардак вообщем.


Свойства программ (#property)

У каждой mql5-программы можно указать дополнительные специфические параметры #property, которые помогают клиентскому терминалу правильно обслуживать программы без необходимости их явного запуска. В первую очередь это касается внешних настроек индикаторов. Свойства, описанные во включаемых файлах, полностью игнорируются. Свойства необходимо задавать в главном mq5-файле.

в свое время проставил везде где можно)

разработчики почему-то подумали, что тут все специалисты, и по дефолту нужно кривую(оптимизацию) версию включить.
 
Ivan Butko #:

Снова началась проблема: Оптимизация показывает одни сеты, а когда их прогоняешь - другие. 

Относительно недавно похожая проблема всплывала на форуме. Там было дело во включённом в тестере режиме моделирования задержек вместо нулевой задержки:


 
lynxntech #:

или в индикаторах..., когда задавал вопрос, кто-то написал что в роботе..., бардак вообщем.


Свойства программ (#property)

У каждой mql5-программы можно указать дополнительные специфические параметры #property, которые помогают клиентскому терминалу правильно обслуживать программы без необходимости их явного запуска. В первую очередь это касается внешних настроек индикаторов. Свойства, описанные во включаемых файлах, полностью игнорируются. Свойства необходимо задавать в главном mq5-файле.

в свое время проставил везде где можно)

Имею ввиду!

Ещё один момент - я не использую индикаторы. 

IClose, iHigh, вот их использую - и всё равно - чихарда с сетами. Запускаешь тооовый сет - а он косяченный, показывает плохой график


Yuriy Bykov #:

Относительно недавно похожая проблема всплывала на форуме. Там было дело во включённом в тестере режиме моделирования задержек вместо нулевой задержки:

Имею ввиду,

А у меня - стандартно - без задержек, "идеальное исполнение"

 

Всем привет. Написал несложную функцию подсчета прибыли исторических ордеров за определенный период.

Подскажите, почему в тестере тикет не тот выдает? Что я не правильно понимаю?

double History_Profit(datetime startTime)
  {
   long nmbMagic = (long)Magic;
   double h_profit = 0.0;
   ulong ticket;
   HistorySelect(startTime, TimeCurrent()); // Выбор истории сделок в указанном диапазоне
   int total_h = HistoryDealsTotal(); // Общее количество сделок в истории

// Цикл проходит по всем сделкам в истории
   for(int i = total_h - 1; i >= 0; i--)
     {
      ticket = HistoryDealGetTicket(i); // Получение тикета сделки
      if(ticket > 0)
        {
         // Получение символа, магического числа и прибыли сделки
         string dealSymbol = HistoryDealGetString(ticket, DEAL_SYMBOL);
         long dealMagic = (long)HistoryDealGetInteger(ticket, DEAL_MAGIC);
         double dealProfit = HistoryDealGetDouble(ticket, DEAL_PROFIT);
         double dealCommission = HistoryDealGetDouble(ticket, DEAL_COMMISSION);
         double dealSwap = HistoryDealGetDouble(ticket, DEAL_SWAP);

         // Фильтрация сделок по символу и магическому числу
         if(dealSymbol == _Symbol && dealMagic == nmbMagic)
           {
            // Суммирование прибыли, комиссии и свопа
            h_profit += dealProfit + dealCommission + dealSwap;
           }
        }
     }

   return (h_profit); // Возврат общей прибыли
  }

Чат GPT уже скоро сломается из-за меня)))) 

 
Robert Sadamon #:

Всем привет. Написал несложную функцию подсчета прибыли исторических ордеров за определенный период.

Подскажите, почему в тестере тикет не тот выдает? Что я не правильно понимаю?

Чат GPT уже скоро сломается из-за меня)))) 

Может вместо 

int total_h = HistoryDealsTotal(); // Общее количество сделок в истории

нужно перебирать 

int total_h = HistoryOrdersTotal(); // Общее количество ордеров в истории

С уважением, Владимир.