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

 
Golub2017 #:
Здравствуйте,  у меня вопрос, в прошлом году в декабре я покупал индикатор, здесь, в маркете, и было 5 активаций,так вот одну я использовал, осталось 4, и индикатор удалили, и что теперь? то есть покупай на маркете что-то, его удаляют и все? ладно я купил за 88 $ но и это деньги, но как насчет продуктов которые стоят сотни , или даже тысячи $ ? индикатор назывался -
<..>
Если вы купили продукт в Маркете, а его потом удалили из Маркета, то вы все равно можете его использовать.

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

На вкладке «Купленные» отображаются только две последние покупки.

Алексей Петров , 2021.01.19 11:17

Даже если продукт Маркета удален с витрины, те, кто уже приобрел его, могут в любой момент установить его со своего терминала MetaTrader (раздел Маркет \ Куплено).

Если вы не видите товар в списке покупок в терминале, попробуйте следующее:

  1. Закройте все свои терминалы MetaTrader
  2. Перейдите в C:\Users\{имя пользователя}\AppData\Roaming\MetaQuotes\Terminal\Community.
  3. Удалите все файлы, начиная с mql4.market.* и mql5.market.*
  4. Откройте терминал Метатрейдер
  5. Попробуйте установить продукт еще раз

---------------------

Еще есть некоторые полезные моменты, которые можно использовать - см эту ветку.

Не могу (впервые!) загрузить купленный индикатор на МТ4
Не могу (впервые!) загрузить купленный индикатор на МТ4
  • 2019.02.16
  • www.mql5.com
Приобрёл индикатор для МТ4. Вот этот: [...] И он (впервые!) не загружается. Ни на домашнем компьютере, ни на VPS. Пишет: "Installation is failed...
 

Прошу подсказать, будет ли работать карта GeForce GTX 1660s с OpenCL в MT5? Или по прежнему только карты от AMD?

 

А можно как то сделать код эксперта используя и mql и python, и использовать это в тестере?

 

Оказалось, что работа класса Convas чувствительна к длине пути каталога, откуда будет запущена программа.

Так, при длине пути 104 символа всё ещё работает, и где то в промежутке до 128 символов перестаёт работать. Все варианты длины перебирать, что бы найти точное значение, не стал. Никаких ошибок при этом не удалось получить. Сведения об этой особенности конваса тоже не нашёл в документации. Причем остальной код программы (в примере не приведён) работает без нареканий.

Код для воспроизведения:

#include <Canvas\Canvas.mqh>

int WidthMonitor = 640;  //monitor screen width
int HeighMonitor = 480;  //monitor screen height

CCanvas Canvas;

void OnStart ()
{
  ResetLastError ();

  string canvasName = "TestConvasLongPath";
  if (!Canvas.CreateBitmapLabel (canvasName, 5, 35, WidthMonitor, HeighMonitor, COLOR_FORMAT_ARGB_RAW))
  {
    Print ("Error creating Canvas: ", GetLastError ());
    return;
  }

  ObjectSetInteger (0, canvasName, OBJPROP_HIDDEN, false);
  ObjectSetInteger (0, canvasName, OBJPROP_SELECTABLE, true);

  Canvas.Erase         (COLOR2RGB (clrBlack));
  Canvas.FillRectangle (3, 3,  WidthMonitor - 4, HeighMonitor - 4, COLOR2RGB (clrWhite));

  Canvas.Update ();
  Print (GetLastError ());

  return;
}

Как работает:

norm

как не работает:

Error

 
Aleksey Vyazmikin #:

Прошу подсказать, будет ли работать карта GeForce GTX 1660s с OpenCL в MT5? Или по прежнему только карты от AMD?

Да, Nvidia карты (как и все другие устройства с OpenCL) поддерживаются.

В последнем релизе мы включили поддержку упрощенных устройств, которые не поддерживали double математику. Теперь поддержка полная, включая те карты, которые максимально поддерживали только float вычисления.
 
Renat Fatkhullin #:
Да, Nvidia карты (как и все другие устройства с OpenCL) поддерживаются.

В последнем релизе мы включили поддержку упрощенных устройств, которые не поддерживали double математику. Теперь поддержка полная, включая те карты, которые максимально поддерживали только float вычисления.

Спасибо!

Я пока только почитал статьи по OpenCL на сайте, но сложилось ощущение, что под разные карты надо адаптировать код, если это так, то как же с агентами это будет работать, если у разных компьютеров разные карты? Сколько карт будет поддерживаться, т.е. смогу я к агентам на одном компьютере привязать 2-3 карты, агент 1 - карта А, агент 2 - карта Б, агент 3 - карта В?

 
Не могу понять, как считается?

MathAverageDeviation

Рассчитывает среднее отклонение элементов массива

 
Andrey Dik #:

Оказалось, что работа класса Convas чувствительна к длине пути каталога, откуда будет запущена программа.

Так, при длине пути 104 символа всё ещё работает, и где то в промежутке до 128 символов перестаёт работать. Все варианты длины перебирать, что бы найти точное значение, не стал. Никаких ошибок при этом не удалось получить. Сведения об этой особенности конваса тоже не нашёл в документации. Причем остальной код программы (в примере не приведён) работает без нареканий.

Код для воспроизведения:

Как работает:

как не работает:


Андрей, обрати внимание как в CCanvas создаётся имя графического ресурса:

//+------------------------------------------------------------------+
//| Create dynamic resource                                          |
//+------------------------------------------------------------------+
bool CCanvas::Create(const string name,const int width,const int height,ENUM_COLOR_FORMAT clrfmt)
  {
   Destroy();
//--- prepare data array
   if(width>0 && height>0 && ArrayResize(m_pixels,width*height)>0)
     {
      //--- generate resource name
      m_rcname="::"+name+(string)ChartID()+(string)(GetTickCount()+MathRand());
      //--- initialize data with zeros
      ArrayInitialize(m_pixels,0);
      //--- create dynamic resource
      if(ResourceCreate(m_rcname,m_pixels,width,height,0,0,0,clrfmt))
        {
         //--- successfully created
         //--- complete initialization
         m_width =width;
         m_height=height;
         m_format=clrfmt;
         //--- succeed
         return(true);
        }
     }
//--- error - destroy object
   Destroy();
   return(false);
  }
//+------------------------------------------------------------------+

Отсюда и плясать нужно с именем своего объекта - оно должно быть коротким и уникальным.

 
Artyom Trishkin #:

 и уникальным.

Ну, как бы, нет.
 
Artyom Trishkin #:

Андрей, обрати внимание как в CCanvas создаётся имя графического ресурса:

Отсюда и плясать нужно с именем своего объекта - оно должно быть коротким и уникальным.

У меня так 

string canvasName = "TestConvasLongPath";

даже если бы было так

string canvasName = "T";

это не решает проблему длинного имени пути.

Проблема не в длинном названии объекта а в невозможности работать канваса в папках с длинным именем пути. Попробуй с моим примером, если не сильно лень, убедишься сам)

Речь именно о длине пути, где лежит программа, а не в имени объекта канваса. Ведь любой другой код MQL5 пашет и не кашляет.

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