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

 
Паранойя детектед.
 
TheXpert:
Паранойя детектед.

Развивай мысль.

ЗЫ Я собственно за то чтоб признать фичу безопасной и сделать её аналог но без использования файла, а напрямую.

Но если MQ признает её небезопасной, то и из функции стоит изъять.

ЗЗЫ Кстати может я действительно сегодня чегойто не то леплю, мне уже на два вопроса не ответили, ты уж просвети меня, покаж пальцем где туплю.

 
Urain:

Вот пример этой фичи через файл с протиранием винта:


Через файл-то зачем? Можно проще. Почитайте про Приведение данных типа простых структур
 
или так
 
Renat:
При тестах на кроссах идет точное моделирование и других курсов для правильной конвертации профитов и маржевых требований.
Попробуйте запустить визуализацию и сразу же поймете объем вычислений на основе количества фоновыхьсимволов в маркетвотче.
Я все могу понять, но разница в 13,7 раз по скорости... Ну в 2 раза - куда ни шло. И щенячья радость от скорости тестирования по ценам открытия на мажорах сменилось слезливым унынием на кроссах. И вместо использования 30 родных удаленных агентов опять придется башлять клаудам... Абыдна!
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 
Urain:

Развивай мысль.

ЗЫ Я собственно за то чтоб признать фичу безопасной и сделать её аналог но без использования файла, а напрямую.

Но если MQ признает её небезопасной, то и из функции стоит изъять.

ЗЗЫ Кстати может я действительно сегодня чегойто не то леплю, мне уже на два вопроса не ответили, ты уж просвети меня, покаж пальцем где туплю.

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

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

 
muallch:
Я все могу понять, но разница в 13,7 раз по скорости... Ну в 2 раза - куда ни шло. И щенячья радость от скорости тестирования по ценам открытия на мажорах сменилось слезливым унынием на кроссах. И вместо использования 30 родных удаленных агентов опять придется башлять клаудам... Абыдна!
Мы занимаемся этим вопросом. Тестирование по ценам открытия на кроссах будет ускорено.
 
stringo:

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

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

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

double a=123.2564; ulong b;

b=Byte(a,TYPE_ULONG);
Print(b);
//--- результат 4638373815016729713

Зашьёте это дело в функцию, всё будет безопасно.

 
Urain:

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

Зашьёте это дело в функцию, всё будет безопасно.

struct __double { double v; }

struct __long { long v; }

__double a; __long b;

a.v=123.456;

b=a;

b.v=4638373815016729713;

не сложно.

+ почитай кроме верхних ссылок https://www.mql5.com/ru/articles/364


а перевод из одного типа в другой - это можешь либо макросами прописать либо функциями.

но реально сложного в этом нет.

Избавляемся от балласта самодельных DLL
Избавляемся от балласта самодельных DLL
  • 2012.01.31
  • o_O
  • www.mql5.com
Если MQL5-программисту недостаточно функционала языка, он вынужден обращаться к дополнительным инструментам. Для этого приходится использовать другой язык программирования и создавать промежуточную DLL. В MQL5 имеется механизм представления разных типов данных с помощью структур и передачи их в API, но к сожалению, MQL5 не отвечает нам на вопрос о том, как вытянуть данные из принятого указателя. В данной статье мы поставим точку в этом вопросе и покажем простые механизмы обмена сложными типами данных и работе с ними.
 
Urain:

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

Там по ссылке stringo есть похожий пример через структуры.

Кстати в тему, я как раз хотел про юнионы спросить.