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

 
fxsaber #:
Мнимый аск. Тестер не может допускать перекосы для позиций разных направлений. Правила едины. На открытии в OHCL-режиме известна только Bid-цена. Эмуляция Ask не идет в расчет.

Я не понимаю. Мнимый аск прекрасно работает если мы делаем виртуальный стоп лосс.

А если мы ставим нормальный стоп лосс то закрытие происходит криво. Ну это же не правильно!!!

#include <Trade\Trade_mod.mqh>
CTrade_mod mTrade;
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
   if(!PositionSelect(_Symbol))
      if(TimeCurrent() >= D'2026.02.27 22:00:00')
        {
         mTrade.Sell(1, NULL, 0, 5300);
         mTrade.Sell(1);
        }

   CheckSL(5300);// виртуальный стоп лосс поставили на цену 5300
  }
//+------------------------------------------------------------------+
void CheckSL(double SL)
  {
   MqlTick Tick;

   for(int i = PositionsTotal() - 1; i >= 0; i--)
      if(PositionGetTicket(i))
         if(SL && PositionGetDouble(POSITION_SL) == 0 && SymbolInfoTick(_Symbol, Tick))
           {
            if(PositionGetInteger(POSITION_TYPE) == 1)
              {
               if(SL <= Tick.ask)
                  mTrade.PositionClose(PositionGetInteger(POSITION_TICKET));
              }
            else
               if(SL >= Tick.bid)
                  mTrade.PositionClose(PositionGetInteger(POSITION_TICKET));
           }
  }
//+------------------------------------------------------------------+

Открываем две позиции. У одной ставим стоп у второй не ставим.

Следующая свеча откроется с гэпом. Стоп лос специально установлен по цене внутри гэпа. И как же должны закрыться позиции если у нас нет в тестере асков?

Думаю они должны закрыться по одной цене. Смотрим.

О как! Если наколхозить виртуальный стоп лосс, то всё работает как должно работать, а если использовать нормальный стоп лосс то результат совсем не тот, что ожидаешь.

Естественно тест проводился в режиме моделирования OHLC на М1
 
Alexandr Nikolaev #:

При попытке увеличить количество буферов через директиву #property indicator_buffers (например, с 5 до 8), компилятор выдает предупреждение:

"property already exists with different value and will be skipped"

Потому что должен быть один источник правды - либо #property, либо .mqproj.

У вас в .mqproj файле значение свойства индикатора отличается от того, что указано в #property. Компилятор отдает приоритет .mqproj файлу и предупреждает вас, что ваше #property будет проигнорировано.

  • Если указали свойство в .mqproj файле, то не указывайте #property (и изменяйте свойство в .mqproj файле при необходимости).
  • Если хотите #property, то не указывайте соответствующее свойство в .mqproj.
 
Alexandr Nikolaev #:

При попытке увеличить количество буферов через директиву #property indicator_buffers (например, с 5 до 8), компилятор выдает предупреждение:

"property already exists with different value and will be skipped"

  • buffers и plots будут указаны в mqproj файле если вы при создании проекта добавляете plots через wizard:



  • Если не добавлять plots через wizard, то компилятор возьмет buffers и plots из #property (в mqproj файле эти свойства не будут указаны):
 
Aleksandr Slavskii #:

Если наколхозить виртуальный стоп лосс, то всё работает как должно работать, а если использовать нормальный стоп лосс то результат совсем не тот, что ожидаешь.

Да, и это правильно! Маркет-ордера в этом режиме вынуждены мириться с мнимым аском. Это одна из причин, почему получается кривой результат в итоге.

С отложками (SL/TP - это тоже отложки) правило симметричное. Маркеты - дело барина: сам виноват.


Представьте BuyLimit в режиме ролловера. Bid улетел сильно вниз, а минимальный спред за минуту был мелкий. Тогда BuyLimit исполнится сильно по выгодной цене - положительное скольжение. А на самом деле мог вообще не исполниться - Ask улетел вверх. Но в барах этой информации нет. И чтобы сильно не завирать результат, решено исполнить BuyLimit без скольжения.


Ну не на ровном месте эти правила созданы. Я бы OHLC-тестер именно таким делал.

 

Это только у меня так? Колокольчик висит, но при нажатии на него - панелька съезжает на два пикселя и замирает - нажать на неё невозможно.

Браузер Хром - что на ПК, что на мобиле - одинаково:


 

Slava #:

//+------------------------------------------------------------------+ 
//| заголовок кеша                                                       |
//+------------------------------------------------------------------+ 
struct TestCacheHeader 
В этой структуре отсутствует поле Results, куда можно было бы поместить Complex Criterion, который тоже отсутствует, но который хотелось бы имет в экспорте.
Это никак нельзя поправить?

Спасибо!
 
Простите, как же уже запарили "улучшать" мобильное приложение! Раньше на графике при нажатии на открытие позиции всегда (!!!) возникала горизонтальная линия sell или buy, которую можно двигать - возникала в зоне видимости! А теперь, после сегодняшней обновы, она может возникнуть и на тех значениях, которые на экране не видны, то есть проще говоря - она не появляется. Зато внизу сделали "красивую" плашку, хотя и без неё жилось прекрасно.
 Зато скакание графика при загрузке данных и неточное выставление трендлайнов, о чём я не раз писал выше, оставлялось без внимания раз за разом.
 

Всем доброго вечера и хорошего настроения!

Уважаемые разработчики, в настоящий момент пользуюсь MT5 build 5660. Почему-то в тестере стратегий во вкладке Параметры при попытке ввести точку на русскоязычной раскладке клавиатуры, ничего не получается. Чтобы ввести точку в дробное число, например, 0.01 или 3.88 и т.п. нужно обязательно!!! перейти на англоязычную раскладку клавиатуры, что жутко не удобно для работы. Это, вообще, баг или нет?

Прошу обратить внимание на этот момент!

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

 
Jack_the_singer #:
Простите, как же уже запарили "улучшать" мобильное приложение! Раньше на графике при нажатии на открытие позиции всегда (!!!) возникала горизонтальная линия sell или buy, которую можно двигать - возникала в зоне видимости! А теперь, после сегодняшней обновы, она может возникнуть и на тех значениях, которые на экране не видны, то есть проще говоря - она не появляется. Зато внизу сделали "красивую" плашку, хотя и без неё жилось прекрасно.
 Зато скакание графика при загрузке данных и неточное выставление трендлайнов, о чём я не раз писал выше, оставлялось без внимания раз за разом.

Для SL и TP появляется стрелка, указывающая что линия за пределами экрана. Для ценовых линий ничего не изменилось, они и раньше могли попасть за границы. Можно было бы сделать автоматическое изменение масштабов графика, как сделали в ios, но это вызвало очень много жалоб.

Бары пересчитываются из M1, последний бар строится из тиков. Трендлайн, при выставлении садится на ближайший бар, но прикреплен к координатам и может уйти с бара на другом TF.

 
Необходимо навести порядок с чтением файла symbol.json для пользовательского инструмента

1.
Создал символ акции SBER, загрузил мною созданный 'SBER.json', затем экспортировал его в новый файл 'SBER_Exported.json' чтобы получить полный формат со всеми требуемыми строками. 

Отредактировал  'SBER_Exported.json' - в нем например указано 
"Digits" : "2",
"Point" : "0.01000000",

Загружаю этот файл в МТ5, а он не видит эти строки и пишет 'Точность == 0'.
пришлось вручную исправлять в таблице под символом. 
Исправлять вручную большое количество строк для каждого пользовательского символа довольно муторно, каждую строку вручную не проверить.


2. Было бы здорово в таблицу под пользовательским символом добавить тултипы (всплывающие подсказки) с объяснением каждого параметра.
Начальные файлы json генерировал при помощи нейросетей, каждая по своему понимает некоторые параметры.
Всплывающие подсказки помогли бы быстрее разобраться.


3. 
МТ5 на русском, но в файле json все естественно на английском, причем это не дословный перевод.
Например:

В документации:
Точность
— количество знаков после запятой в цене инструмента.

В файле:
"Digits" : "2",

Было бы неплохо добавить в документацию термины из файла, что-то типа:
Точность (Digits— количество знаков после запятой в цене инструмента.