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

 
Renat:

Это происходит не на Weekly или Monthly чартах?

Мы нашли ошибку в функции Bars() для этих периодов, что приводило к зависанию.

У меня на дефолтном H1, как только добавляю новый чарт он виснет, жму крестик, открываю терминал новый чарт уже открыт.

ЗЫ Как мне отсюда видно, при закачке котировок просто не наступает событие отображения чарта и зависает картинка "Ожидание обновления".

ЗЗЫ Ещё один непонятный факт, если задержка идёт от закачки большого объёма данных, история закачивается в формате М1, то почему происходит зависание при смене ТФ с H1 на M15 ?

Н1 уже был нормально открыт.

 

SessionDeals() не возвращает количество сделок

пример эксперта, который должен открыть только 1 сделку, по факту открывает несколько, добавляет новый ордер, когда по предыдущему открывается сделка

#include <Trade\Trade.mqh>


void OnTick()

  {

   CSymbolInfo Symbol; Symbol.Name(_Symbol);

   CTrade Trade;


   if(OrdersTotal()==NULL && 

      Symbol.SessionDeals()==NULL)

     {

      double Ask; Symbol.InfoDouble(SYMBOL_ASK,Ask);


      Trade.BuyStop(0.1,Ask+Symbol.Spread()*_Point*10,_Symbol,NULL,NULL);

      return;

     }

  }

Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

Может быть кто-нибудь подскажет, как заставить работать kernel32.dll в МТ5 на Win7 64

      if (new_bar()==false)return;
      h1 = _lopen(path1,2);
      if(h1 < 0)
          {
            Print("Ошибка открытия файла "+path1);
            h1=_lcreat(path1,0);
               if(h1<0)
                  {
                     Print("Невозможно создать Файл mydata.csv");
                     return;
                  }
При открытии h1>1, хотя файла не существует.  

 
jmt:

SessionDeals() не возвращает количество сделок

пример эксперта, который должен открыть только 1 сделку, по факту открывает несколько, добавляет новый ордер, когда по предыдущему открывается сделка

#include <Trade\Trade.mqh>


void OnTick()

  {

   CSymbolInfo Symbol; Symbol.Name(_Symbol);

   CTrade Trade;


   if(OrdersTotal()==NULL && 

      Symbol.SessionDeals()==NULL)

     {

      double Ask; Symbol.InfoDouble(SYMBOL_ASK,Ask);


      Trade.BuyStop(0.1,Ask+Symbol.Spread()*_Point*10,_Symbol,NULL,NULL);

      return;

     }

  }

Symbol.SessionDeals() возвращает не количество сделок совершенное Вашим экспертом, а общее количество сделок по инструменту за текущую торговую сессию.

PS. Работает только для биржевых инструментов.

 
Urain:

У меня на дефолтном H1, как только добавляю новый чарт он виснет, жму крестик, открываю терминал новый чарт уже открыт.

ЗЫ Как мне отсюда видно, при закачке котировок просто не наступает событие отображения чарта и зависает картинка "Ожидание обновления".

ЗЗЫ Ещё один непонятный факт, если задержка идёт от закачки большого объёма данных, история закачивается в формате М1, то почему происходит зависание при смене ТФ с H1 на M15 ?

Н1 уже был нормально открыт.

Renat, вот вам ещё один симптом той же проблемы. Сегодня запустил МТ5 на котором вчера были открыты 6 чартов по мажорам на М15, все чарты стартанули нормально, а тот с которым вчера были проблемы (но всё же решились проблемы вчера), имел историю лишь до 18 часов вчерашней даты, чарт активно потреблял трафик хотя имел почти всю нужную историю, не хватало лишь чуть меньше суток. Когда трафик достиг 13.8 Мб ,я закрыл терминал и перезапустил, всё стартануло нормально.

ЗЫ система 32 бита, макс бар стоит 1 000 000, хотя на М15 ляма бар в истории нет, так тыщь 300 набирается. Может это поможет.

ЗЗЫ Ещё одно фи, запускаю индикатор который запрашивает данные с меньшего ТФ, если меньший ТФ открыт всё нормально, если же чарт с меньшим ТФ не запущен всё индюк не работает. Но как же так, ведь чарт только что был открыт, а значит история по нему есть.

 

встретил такие ключевые слова

_CriticalError
_IsX64
_ReturnedDouble
_ReturnedFloat
_ReturnedString
_StopFlag

по которым отсутствует справка

как можно ими пользоваться и что они означают?

 
sergeev:

встретил такие ключевые слова

_CriticalError
_IsX64
_ReturnedDouble
_ReturnedFloat
_ReturnedString
_StopFlag

по которым отсутствует справка

как можно ими пользоваться и что они означают?


Это - внутренние переменные для инлайнинга некоторых системных функций.

Воспользоваться ими компилятор не даст. Разве только читать их сможете, да и то интерпретация их значений может неожиданно поменяться

 
pusheax:

Из Examples работают.

Наверно я что то не так сделал.

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

Не мог бы кто-нибудь прогнать своего мультивалютного эксперта с внешним индикатором и внешней DLL библиотекой в тестере стратегий на 581 билде?

Напишите результаты теста пожалуйста.

а то мой эксперт в 574 версии работает, а в 581 ну ни в какую не хочет работать.

 
Urain:

Renat, вот вам ещё один симптом той же проблемы. Сегодня запустил МТ5 на котором вчера были открыты 6 чартов по мажорам на М15, все чарты стартанули нормально, а тот с которым вчера были проблемы (но всё же решились проблемы вчера), имел историю лишь до 18 часов вчерашней даты, чарт активно потреблял трафик хотя имел почти всю нужную историю, не хватало лишь чуть меньше суток. Когда трафик достиг 13.8 Мб ,я закрыл терминал и перезапустил, всё стартануло нормально

Ошибку с Bars() и тормозами на W1 и MN1 уже исправили.

Также исправили тормоза на компиляции и загрузке экспертов. В пятницу точно будет новый билд.

Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Программы MQL5 / Выполнение программ - Документация по MQL5
 

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

 

int OnInit()
  {
   EventSetTimer(60);
   return(0);
  } 

void OnDeinit(const int reason)
  {
   EventKillTimer();
     
  }

void OnTimer()
  {  

Print("тик-так");
  } 

 

 

получаю какой-то бред:

 

 

 бывает и по-другому - сбои идут раз в десять минут