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

 
Mihail Matkovskij:

А кто выставляет?  https://www.mql5.com/ru/forum/1111/page2795#comment_17290368 . Надеюсь, прочли на этот раз внимательно?... Сколько мне еще раз нужно повториться, чтобы до вас наконец дошло и вы не писали здесь ерунду?!

Я только за справедливость.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Mihail Matkovskij, 2020.07.11 14:47

Сделал исходник, где возникает данный баг:
//+------------------------------------------------------------------+
//|                                           DeleteChartObjects.mq5 |
//|                                      Copyright 2020, © Cyberdev. |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, © Cyberdev."
#property version   "1.00"
#property indicator_chart_window

#property indicator_plots 0

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

#include <ChartObjects\ChartObjectsLines.mqh>
#include <Arrays\ArrayObj.mqh>

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//--- input parameters
input int      nBars = 100000;

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int customN_Bars = 0;

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
CArrayObj listOfTrendLines;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit() {
//--- indicator buffers mapping
  int totalBars = iBars(NULL, PERIOD_CURRENT);
  customN_Bars = (nBars < totalBars) ? nBars : totalBars;
//---
  return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]
) {
  CChartObjectTrend * trend;
  int delta = rates_total - customN_Bars;
  int shift;
  int i;
  for(i = 0; i < customN_Bars; i++) {
    shift = delta + customN_Bars - i - 1;
    trend = new CChartObjectTrend();
    if(trend.Create(0, "trend"+(string)i, 0, time[shift], low[shift], time[shift], high[shift]))
      listOfTrendLines.Add(trend);
  }
  return(rates_total);
}

//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
  
  CChartObjectTrend * trend;
  
  int i = listOfTrendLines.Total() - 1;
  for(; i >= 0; i--) {
    trend = dynamic_cast <CChartObjectTrend *> (listOfTrendLines.At(i));
    
    if(CheckPointer(trend) == POINTER_INVALID)
      continue;
    
    delete trend;
  }
}
//+------------------------------------------------------------------+

Действия для демонстрации бага.

1. Бросить индикатор на график.

2. Удалить индикатор с графика.

3. Нажать Ctrl+B, затем в окне нажать кнопку "List all" и увидеть не удаленные объекты.

Objects

У меня их осталось аж 294 из 100000.

Если уменьшить значение входного параметра nBars, то баг не проявляется.


 
Alexey Viktorov:

Я только за справедливость.



Так в том сообщении не было сказано, какой это баг, моей программы или баг терминала. Я подумал, что это баг терминала. Но Рашид Умаров мне всё объяснил и я его понял. По моему всё предельно ясно. Никакого бага терминала не было, это я ошибся в своих предположениях. Вы же преследуете меня с каким-то маниакальным энтузиазмом. Я спросил, в чём причина, вы ответили:

Давно-бы замолчал и я не продолжал-бы.

Вот она, причина...

Перестаньте же вы заниматься ерундой наконец! Взрослый человек (я надеюсь)...

 
Mihail Matkovskij:

Так в то сообщении не было сказано, какой это баг, моей программы или баг терминала. Я подумал, что это баг терминала. Но Рашид Умаров мне всё объяснил и я его понял. По моему всё предельно ясно. Никакого бага терминала не было, это я ошибся в своих предположениях. Вы же преследуете меня с каким-то маниакальным энтузиазмом. Я спросил, в чём причина, вы ответили:

Вот она, причина...

Перестаньте же вы заниматься ерундой наконец! Взрослый человек (я надеюсь)...

Ладно. В кувырке переобулся. Выдал как баг терминала и ………… всё живите как знаете.

 
Подключение хранилища

  https://storage.mql5.io   не возможно авторизоваться.

 
Alexey Viktorov:

Ладно. В кувырке переобулся. Выдал как баг терминала и ………… всё живите как знаете.

Что за бред?! Ну да ладно... Пишите что хотите, согласно вашей больной фантазии... Я не буду обращать внимание, потому как вы безнадёжны, Алексей...

 
Mihail Matkovskij:

Что за бред?! Ну да ладно... Пишите что хотите, согласно вашей больной фантазии... Я не буду обращать внимание, потому как вы безнадёжны, Алексей...

Закончим этот бесполезный разговор.

Оставлю своё видение вашего сообщения: вы написали про баг терминала, но после того, как Рашид вам указал на справку (которую вы невнимательно читали и не принимали в серьёзный расчёт её примечание), вы согласились что это оказывается не баг терминала, а ваша недоработка. Это так всё выглядит, читается и воспринимается. Не одним Алексеем.

 
Artyom Trishkin:

Закончим этот бесполезный разговор.

Оставлю своё видение вашего сообщения: вы написали про баг терминала, но после того, как Рашид вам указал на справку (которую вы невнимательно читали и не принимали в серьёзный расчёт её примечание), вы согласились что это оказывается не баг терминала, а ваша недоработка. Это так всё выглядит, читается и воспринимается. Не одним Алексеем.

Всё так и было. Я и не утверждал другого. Просто я не мог подумать, что график не успевает обработать все команды от ObjectDelete. В то врем как ObjectDeleteAll дожидается удаления всех объектов и только потом завершает работу. Но я этого не знал (потом прочитал в документации).


На счёт Алексея, это отдельный разговор. Он почему-то решил, что я обвиняю разработчиков... Но как можно увидеть из сообщений, это не так!

 

Всем доброго! Проблема следующая...

После обновления пропал ярлык терминала MT5, как на рабочем столе, так и в корневой папке. Переустановил. После перезагрузки компа история повторилась. В чем проблема? Кто нибудь сталкивался с подобным?

 
BROXIV:

Всем доброго! Проблема следующая...

После обновления пропал ярлык терминала MT5, как на рабочем столе, так и в корневой папке. Переустановил. После перезагрузки компа история повторилась. В чем проблема? Кто нибудь сталкивался с подобным?

К сожалению наш штатный шаман и телепат в отпуске. Поэтому нет возможности прочесть Ваши мысли. Нет возможности проникнуть на Ваш компьютер.

Поэтому: вспомните, что это технический форум и от качества Вашего вопроса зависит качество ответов.

Как минимум необходимо указывать: тип и билд терминала, операционной системы и путь установки (для этого берутся три первые строчки из вкладки "Журнал", если перезагрузить терминал).

Укажите какой антивирус Вы используете. 

 
Vladimir Karputov:

К сожалению наш штатный шаман и телепат в отпуске. Поэтому нет возможности прочесть Ваши мысли. Нет возможности проникнуть на Ваш компьютер.

Поэтому: вспомните, что это технический форум и от качества Вашего вопроса зависит качество ответов.

Как минимум необходимо указывать: тип и билд терминала, операционной системы и путь установки (для этого берутся три первые строчки из вкладки "Журнал", если перезагрузить терминал).

Укажите какой антивирус Вы используете. 

Скачал с официального сайта неделю назад, так что билд соответствующий, ОС 7-ка, антивирус НОД. Неделю работал без проблем, потом вдруг случилось. Сарказм привычен, так что ответ приму в любой форме.