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

 

Валюта прибыли (SYMBOL_CURRENCY_PROFIT) кастомного символа сбрасывается после перезагрузки Терминала. Из-за этого TickValue часто бывает нулевым, что порождает в Тестере сделки с нулевым профитом. Каждый раз приходится возвращать значение валюты прибыли к нормальному виду.


Воспроизведение

void OnStart()
{
  const string Name = "EXAMPL";
  
  if (CustomSymbolCreate(Name))
    CustomSymbolSetString(Name, SYMBOL_CURRENCY_PROFIT, "JPY");

  Print(SymbolInfoString(Name, SYMBOL_CURRENCY_PROFIT)); // "JPY" - до перезагрузки Терминала, "MPL" - после.
}
 
На кастомным символах в Тестере получаются граали из-за положительного проскальзывания лимитных ордеров. Просьба отключить проскальзывание лимитных ордеров для кастомных символов, либо же сделать настройку проскальзывания (и комиссии).
 

Нет возможности отключить Core1-Агент.

Никак не удается запустить одиночный прогон

2018.03.27 09:18:19.647 Core 1  agent process started
2018.03.27 09:18:28.380 Core 1  connecting to 127.0.0.1:3000
2018.03.27 09:18:45.562 Core 1  tester agent authorization error
2018.03.27 09:18:45.564 Core 1  connection closed

Перезагрузки Терминала не помогают.


ЗЫ Вот так происходит Оптимизация из всего двух проходов (анимация)

Идут сплошные ошибки авторизации на Агентах до тех пор, пока не возникнут нормальные подключения. И это всего лишь на двух проходах!

 

Здесь сильно не хватает списка доступных символов, чтобы можно было выбрать.

 
fxsaber:

Нет возможности отключить Core1-Агент.


Тоже хотелось бы отключить первое ядро.  
 

В дополнение к этому

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

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

Kirill Belousov, 2018.03.26 12:30

Имена отличаются и удаление происходит с учетом этого.


ПОКА ТАК:

_______________________________________

При удалении первого индикатора в списке подокна происходит полная очистка подокна от объектов (даже вручную нарисованные линии, стрелки, текстовые метки удаляются)

Воспроизводится:

1. создаем в конструкторе пустой индикатор для отдельного окна (или берем любой имеющийся, подойдет например MACD  и т.п. из стандартной поставки)

2. накидываем 5 любых индикаторов/копий в одно подокно

3. Вручную рисуем вертикальную линию в подокне (или любой объект)

Если удалить любой не первый индикатор из indicator list, то линия останется, а если первый из имеющихся в списке - все объекты подокна удаляются (нарисованная вертикальная линия).

Если после удаления первого опять нарисовать линию, то она снова удалится при удалении первого из оставшихся. При удалении не первого - объекты в подокне не удаляются.


Где об этом в документации написано? В чем он такой особенный - первый индикатор из списка подокна?

Похоже, что происходит полная переинициализация подокна.


Воспроизводится МТ4/МТ5

Отличие в том, что в МТ5 имена файлов индикаторов должны быть различными. В МТ4 можно один и тот же файл индикатора накидывать в одно подокно не меняя имени файла.


Проблема с первым индикатором подокна

Все объекты удаляются в подокне, если в момент удаления индикатора из списка индикаторов подокна он был первым по счету

При удалении первого индикатора из списка подокна происходит удаление всех объектов подокна ДО функции OnDeinit()

void OnDeinit(const int reason)
  {
  int window=ChartWindowFind();
  if(window==2)
  {
  int count=0;
  for(int i=ObjectsTotal()-1;i>=0;i--)
    {
     if(ObjectFind(ObjectName(i))==window) count++;
    }
  Alert("Осталось объектов в подокне #2 - ",count," _StopFlag=",_StopFlag," REASON=",reason);
  }
//....
}

Удалим не первый, а потом первый в списке

Удаляются все объекты

Удаляются все объекты в независимости от их принадлежности к индикаторам или это созданные вручную объекты в подокне.
 

Запускаем советник в режиме "Все тики" на MQ-Demo

void OnTick()
{
  static int i = 0;
  
  if (i < 2)
  {
    MqlTick Tick;
    
    if (SymbolInfoTick(_Symbol, Tick))
      Print(Tick.time_msc);
      
    i++;
  }
  else
    ExpertRemove();
}


Результат

Si-6.18,M1 (MetaQuotes-Demo): every tick generating
Si-6.18,M1: testing of Experts\fxsaber\LimitsSlippage.ex5 from 2018.03.25 00:00 to 2018.03.27 00:00 started
2018.03.26 10:00:00   1522058400378
2018.03.26 10:00:00   1522058400013
2018.03.26 10:00:00   ExpertRemove() function called

Время первого сгенерированного тика больше второго - баг.

 
Оптимизатор уходит в бесконечный цикл с такими (все три прохода запущено) повторяющимися сообщениями
2018.03.27 23:13:54.520 Core 2  TESTER_EURUSD: history for 2017 year synchronized
2018.03.27 23:13:54.578 Core 1  pass 0 tested with error "history processing error (314 TESTER_EURUSD)" in 0:00:00.125
2018.03.27 23:13:54.580 Core 2  pass 1 tested with error "history processing error (314 TESTER_EURUSD)" in 0:00:00.124
2018.03.27 23:13:54.580 Core 3  pass 2 tested with error "history processing error (314 TESTER_EURUSD)" in 0:00:00.124
2018.03.27 23:13:54.600 Core 5  common synchronization completed


ЗЫ Воспроизведение


Копируем в песочницу содержимое приложенного архива.

Запускаем на MQ-Demo скрипт

#include <fxsaber\ThirdPartyTicks\ThirdPartyTicks.mqh> // https://www.mql5.com/ru/code/20225

void OnStart()
{
  THIRDPARTYTICKS ThirdPartyTicks; // Подключились к локальному архиву котировок

  const string Name = ThirdPartyTicks["EURGBP"].ToCustomSymbol(true); // Создали кастомный символ на основе локального архива  
  
  if (Name != NULL)
  {
    const SYMBOL Symb("TESTER"); // Создали символ
  
    if (Symb.IsExist()) // Если символ создан
    {
      Symb.CloneProperties("Si-6.18");      
      Symb.SetProperty(SYMBOL_DIGITS, 5);
      
      Symb.CloneHistory(Name);
  
      if (Symb.On()) // Включили в Обзор рынка
        ChartOpen(Symb.Name, PERIOD_CURRENT); // Открыли график нового символа
    }   
  }
}


Будет создан кастомный символ TESTER. Выбираем его в Тестере. Настройки: Оптимизация медленная, Все тики.

Ставим этот советник

input int Range = 0;

void OnTick() {}


Вкладка Параметры


Запускаем Оптимизацию и наблюдаем бесконечный цикл


Файлы:
Archive.zip  1729 kb
 

В Тестере удаленным ордерам по "no money" присваивается нулевое время закрытия

Это баг, конечно.

 

У меня у одного изображение с этого поста не открывается в новом всплывающем окошке? Mozilla FireFox 59.0.2 (64-бит)

Т.е., то изображение, которое находится в цитате, не открывается получается.

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