Новая версия платформы MetaTrader 5 build 2560: Улучшения во встроенной системе обучения - страница 36

 
fxsaber:

Кривое отображение в отчете.

у меня подобное отображение было всегда и в разных местах, в журнале экспертов и во входных параметрах например, сначала думал хреново будет что то нехорошее. Везде поставил округление до 2 знаков, но ничего не поменялось, но уже прошло несколько лет, проблем от этого не было.

 

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

Если графический обьект имеет статус OBJPROP_HIDDEN == true  

Он не сохраняется в шаблонах!!!

 
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam)
{
   if (id == CHARTEVENT_KEYDOWN) {
      long bar = 0;
      const long cid = ChartID();
      switch ((int)lparam) {
      case KEY_RIGHT:
         bar = 4;
      case KEY_LEFT:
      //ChartRedraw(cid);
         bar += ChartGetInteger(cid, CHART_FIRST_VISIBLE_BAR);
         Comment(bar);
...

Пытаюсь синхронизировать графики.

Значение CHART_FIRST_VISIBLE_BAR не всегда актуальное. Даже если делать одно нажатие клавиши.

 
Пока в тестере нельзя будет отсечь последнюю сделку (открытие позиции без её закрытия) не считаю метатрейдер как серьезную платформу для трейдинга :) все детали здесь https://www.mql5.com/ru/forum/189836
тестироание и последняя сделка
тестироание и последняя сделка
  • 2017.04.11
  • www.mql5.com
Подскажите как обойти такую проблему: при тестировании советника весь результат тестирования становиться неправильным из за того что в конце закрыв...
 
Andrey Mikhailov:
Пока в тестере нельзя будет отсечь последнюю сделку (открытие позиции без её закрытия) не считаю метатрейдер как серьезную платформу для трейдинга :) все детали здесь https://www.mql5.com/ru/forum/189836

Вы предлагаете, чтобы тестер заглядывал в будущее? Вот тогда это будет крайне не серьёзно!

P.S. Посмотрите когда открывается последняя сделка и поставьте дату окончания тестирования до её открытия.
 
Vitaly Muzichenko:

Вы предлагаете, чтобы тестер заглядывал в будущее? Вот тогда это будет крайне не серьёзно!

P.S. Посмотрите когда открывается последняя сделка и поставьте дату окончания тестирования до её открытия.


или я что то не понимаю или Вы. я как раз таки понимаю что ему в будущее не заглянуть, моё советник всегда в рынке - как только закрыта сделка - он сразу же открывает следующую и может в неё просидеть от пару часов до месяцев, без возможности НЕ УЧИТЫВАТЬ последнюю открытую и не закрытую(т.к. история кончилась) позицию - толку от тестирования ноль - т.к. последняя сделка (открытая) может перекрывать всю ранее полученную прибыль, и мне руками приходиться все пересчитывать ... 

а гадать мне с последним днем тестирования то же не совсем хороший вариант - т.к. я параметры перебираю и дата открытия последней сделки всегда разная

я считаю что многим было бы удобно иметь в тестере параметр"не учитывать в тестировании последнее открытие позиции если на момент окончания тестирования она не закрыта" - кучу проблем бы сняло и головной боли

 
Andrey Mikhailov:


или я что то не понимаю или Вы. я как раз таки понимаю что ему в будущее не заглянуть, моё советник всегда в рынке - как только закрыта сделка - он сразу же открывает следующую и может в неё просидеть от пару часов до месяцев, без возможности НЕ УЧИТЫВАТЬ последнюю открытую и не закрытую(т.к. история кончилась) позицию - толку от тестирования ноль - т.к. последняя сделка (открытая) может перекрывать всю ранее полученную прибыль, и мне руками приходиться все пересчитывать ... 

а гадать мне с последним днем тестирования то же не совсем хороший вариант - т.к. я параметры перебираю и дата открытия последней сделки всегда разная

я считаю что многим было бы удобно иметь в тестере параметр"не учитывать в тестировании последнее открытие позиции если на момент окончания тестирования она не закрыта" - кучу проблем бы сняло и головной боли

от чего такая головная боль ?

мартингейлы же отлаживают и даже оптимизируют - а там "последняя" сделка может давать минус всё вообще

реализуйте в советнике например "нельзя держать позу с переходом через год".  Действительное реальное требование - под конец года закрываться и не оставлять "висяков"

и тестируйте/оптитесь по годам

 

Просьба к разработчикам внести исправления в класс CCanvas, как минимум, в функции:

void CCanvas::TextOut(int x,int y,string text,const uint clr,uint alignment)
void CCanvas::TextOutFast(int x,int y,string text,const uint clr,uint alignment)

изменить на:

bool CCanvas::TextOut(int x,int y,string text,const uint clr,uint alignment)
  {
   if(FontSet())
      if( TextOut(text,x,y,alignment,m_pixels,m_width,m_height,clr,m_format) )
        return(true);
   return(false);
  }

bool CCanvas::TextOutFast(int x,int y,string text,const uint clr,uint alignment)
  {
   if( TextOut(text,x,y,alignment,m_pixels,m_width,m_height,clr,m_format))
        return(true);
   else
        return(false);
  }

Можно и остальные функции, предполагающие обработку ошибок, тоже поправить...

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

Кто-то скажет, мол, ерунда! Чего шум поднимать?! Но я думаю, что если посмотреть внимательнее, то станет понятно, что это напрямую связано с развитием платформы МТ. Люди, пишущие библиотеки высокого прикладного уровня, фактически популяризируют МТ, предлагая более развитый сервис , но происходит следующее... Девелоперы добавляют обработчик новой ошибки и вся эта куча кода становится совершенно бесполезным генератором множественных ошибок, чему они сами и поспособствовали через небрежно написанные базовые классы.

Эта судьба уже постигла библиотеки многих авторов, чей труд стал практически бесполезным, потому что людей, у которых хватит терпения разобраться в этой куче ошибок - единицы, а у авторов уже просто нет сил "из болота тащить бегемота". Печаль...

 

Алерт-окно перекрывает все другие окна.


ЗЫ Невозможно вставить из буфера картинку. Сломали что-то на сайте.


 

I want to suggest that the functions ArrayMaximum and ArrayMinimum accept a negative count parameter like ArrayMaximum(a,i,-4) (see all in the attached script):

Хочу предложить, чтобы функции ArrayMaximum и ArrayMinimum принимали отрицательный счетный параметр типа ArrayMaximum(a,i,-4) (см. все в прилагаемом скрипте):


Due to the fact that the default direction of the arrays for indicators runs from max (rates-total) to 0 it would make sense as one needs not to write ones own functions.

В связи с тем, что по умолчанию направление массивов для индикаторов работает от max (rates-total) до 0, это имеет смысл, так как не нужно записывать свои собственные функции.

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