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

 
Voodoo_King:


И потом... в разработке программного обеспечения считается, что хороший тон - это отсутствие крэш-экранов.


А вот с этим разбираемся.

 
stringo:
Чтобы исправить ошибку, её надо воспроизвести. Хотелось бы посмотреть логи ваших агентов. Было бы хорошо, если бы Вы прислали Вашего эксперта. И описали входные параметры тестирования.

Наверно там минутный таймфрейм идет вместо других выбранных когда включен "каждый тик".

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

P.S. я писал выше.

 

Если флаг FILE_SHARE_READ это флаг типа открытия, а не самого открытия, то почему файл всё же открывается?

2011.02.07 18:18:14    Лист18 (EURUSD,H1)    Файл открыт с флагом FILE_SHARE_READ нормально Templates\Example.txt
2011.02.07 18:18:14    Лист18 (EURUSD,H1)    SHARE_READ  
void SHARE_ReadFile()
  {
   string subfolder="Templates";
   int han=FileOpen(subfolder+"\\"+folder+".txt",FILE_SHARE_READ|FILE_TXT|FILE_ANSI,"\r");
   if(han!=INVALID_HANDLE)
     {
      Print("SHARE_READ  ",FileReadString(han));           

      Print("Файл открыт с флагом FILE_SHARE_READ нормально "+subfolder+"\\"+folder+".txt"); 
      FileClose(han);
     }
   else
     {
      Print("Ошибка открытия файла с флагом FILE_SHARE_READ "+subfolder+"\\"+folder+".txt, error",GetLastError());
     }
  }

Мне так видится что в результате должна быть ошибка открытия файла.

И по сути так и есть тк ничего не принтуется, но вот проверка хендла показывает что файл открыт.

 
mql5:
картинка добавляется в ресурс EX5 командой
#resource "<путь к файлу относительно папки MQl5\Images>"

Пример

#resource "res\\test.bmp";

Все в силе? У меня ищет путь если #resource в файле советника, относительно директории исходника советника. 

cannot open resource file 'C:\Program Files\MetaTrader 5 DEV\MQL5\Experts\myexpert\res\test.bmp' (3)        0    0

Если #resource в файле инклуда то вообще все через одно место и лезет в чужие папки инклудов

cannot open resource file 'C:\Program Files\MetaTrader 5 DEV\MQL5\include\Arrays\res\test.bmp' (3)        0    0

Следующий вариант ищет от "корня" MQL5

#resource "\\res\\test.bmp";

cannot open resource file 'C:\Program Files\MetaTrader 5 DEV\MQL5\res\test.bmp' (3)        0    0

И еще, то что раньше работало, тоже не работает (файл лежит MQL5/Images/res/test.bmp).

ObjectSetString(0,pname,OBJPROP_BMPFILE,0,"\\res\\test.bmp");

Я что-то пропустил?

 
Vigor:

Пример

Все в силе? У меня ищет путь если #resource в файле советника, относительно директории исходника советника. 

cannot open resource file 'C:\Program Files\MetaTrader 5 DEV\MQL5\Experts\myexpert\res\test.bmp' (3)        0    0

Если #resource в файле инклуда то вообще все через одно место и лезет в чужие папки инклудов

cannot open resource file 'C:\Program Files\MetaTrader 5 DEV\MQL5\include\Arrays\res\test.bmp' (3)        0    0

Следующий вариант ищет от "корня" MQL5

cannot open resource file 'C:\Program Files\MetaTrader 5 DEV\MQL5\res\test.bmp' (3)        0    0

И еще, то что раньше работало, тоже не работает (файл лежит MQL5/Images/res/test.bmp).

Я что-то пропустил?



Вроде так нужно

MetaTrader 5 Client Terminal build 384

  1. Terminal: Добавлен мастер добавления удалённых агентов тестирования. Помимо ручного ввода и импорта из *.mt5 файла, добавлена возможность сканирования локальной сети для нахождения работающих агентов.
  2. MQL5: Добавлена возможность хранения ресурсов в *.ex5 файлах. Для добавления ресурса в *.ex5 используется директива #resource с указанием пути к файлу относительно каталога MQL5\Images клиентского терминала. Например: #resource myexpert\button.bmp
    На файлы в ресурсе можно ссылаться строкой вида: "имя_скрипта::имя_ресурса". В качестве имени ресурса используется имя файла (без расширения), переданное в директиве #resource.
Если все правильно понял то файлы могут располагать тут - MQL5\Images\Имя каталога\Имя файла.
 
Interesting:

Вроде так нужно

MetaTrader 5 Client Terminal build 384

относительно каталога MQL5\Images клиентского терминала. Например: #resource myexpert\button.bmp

вот это относительно и не работает. и без кавычек нельзя. и бэкслеш двойной.
 
Vigor:
вот это относительно и не работает. и без кавычек нельзя. и бэкслеш двойной.

Сейчас проверим

Вот так работает вроде #resource "\\Images\\Phoenix\\Logo.bmp";

Хотя как-то это все странно (по идеи искать то должна относительно MQL5\Images, т.е. как минимум так все должно выглядеть - #resource "\\Phoenix\\Logo.bmp").

Или сделайте относительно каталога Images или поправте описание релиза (чтоб все логично и понятно было)...

 
Про относительно папки MQL5 у меня в комментарии был пример. Там, кстати у меня, есть сообщения логов и в них ясно видно ГДЕ компилятор ищет файлы.

И, как и писал, также перестали работать OBJPROP_BMPFILE с относительным путем от папки Images. Вообще, по последним экспериментам, все работает если указывать полный путь начиная с \\ от MQL5.

Вопрос был в силе ли это нововведение? Или это временное явление?

 
Vigor:
Про относительно папки MQL5 у меня в комментарии был пример. Там, кстати у меня, есть сообщения логов и в них ясно видно ГДЕ компилятор ищет файлы.

А он ищет где угодно только не там где судя по описанию должен :(
 

Здравствуйте !

Код:

if (NormalizeDouble(Prices_Flow[0].Price_Position,4) != 0)
{
   double Position_In_Percentage = Prices_Flow[0].Indicator_Position * 100 / Prices_Flow[0].Price_Position;
   //далее код не имеющий отношения к вопросу
}


при тестировании в Тестере_Стратегий в один и тот же момент на одном из инструментов происходит деление на ноль (2011.02.08 01:40:23    Core 2    2010.08.02 00:00:00   Zero divide in 'almirlib.mqh' (535,102)).

Как при приведенном коде такое возможно ?

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