Переписали в 1911 билде: теперь некоторые характеристики за счет кеширования(например, объем физической памяти практически не меняется) выдаем даже быстрее, чем WinAPI
2018.10.1523:27:26.754 test (EURUSD,H1) MEMORY_PHYSICAL: 982152018.10.1523:27:26.756 test (EURUSD,H1) Native: 1.97 us
2018.10.1523:27:26.756 test (EURUSD,H1) MEMORY_PHYSICAL: 982152018.10.1523:27:26.759 test (EURUSD,H1) WinAPI: 2.30 us
В отчете Тестера при подсчете мат. ожидания двух схлопнувшихся позиций по CloseBy идет деление на два, вместо одного. Отсюда получаются неверные значения в отчете.
//#property script_show_inputs#import "TestLib.dll"#import
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
int x=6;
TestClass::Inc(x);
Print(x);
}
//+------------------------------------------------------------------+
код библиотеки NET 4.7:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestLib
{
publicclass TestClass
{
publicstaticvoid Inc(refint x)
{
x++;
}
}
}
Архив с проектом dll в прикрепе.
PS Пробовал менять версию NET - не помогло. Пробовал запускать на виртуальной чистой Windows 10 x64- не помогло. Компилирую x64 битную dll, конечно же. Подключенные билиотеки NET для проформы, они всё равно игнорируются компилятором VS (2017 версия, кстати).
Старый терминал. Обновился до последней версии. Скомпилировал. Действительно, видит только функции, возвращающие простые типы, метод возвращающий this не добавил в export, остальные методы - видны в MQL5. Упростил класс до одного метода, возвращающего double, никаких вычислений. Теперь импорт из DLL компилируется, но индикатор уже на чарте плются runtime error.
MetaEditor 1911. Отладка кода с точкой останова.
Вместо названия функций последовательного вызова, везде название файла.
Этот вариант чем не подходит?
В принципе можно и так, но это не настоящее окно и по CTRL+TAB в него не перейти например
В принципе можно и так, но это не настоящее окно и по CTRL+TAB в него не перейти например
Окно настоящее, по ТАБу не перейти.
Оптимизируйте пожалуйста скорость выполнения функций TerminalInfoInteger(TERMINAL_MEMORY_*)
Замер скорости:
результаты:
2018.10.14 20:51:02.537 MEMORY_speed (EURUSD,M1) MEMORY_PHYSICAL: 32709
2018.10.14 20:51:17.403 MEMORY_speed (EURUSD,M1) Native: 14884.39 us
2018.10.14 20:51:17.404 MEMORY_speed (EURUSD,M1) MEMORY_PHYSICAL: 32709
2018.10.14 20:51:17.405 MEMORY_speed (EURUSD,M1) WinAPI: 1.10 us
Переписали в 1911 билде: теперь некоторые характеристики за счет кеширования(например, объем физической памяти практически не меняется) выдаем даже быстрее, чем WinAPI
MetaEditor 1911. Отладка кода с точкой останова.
Вместо названия функций последовательного вызова, везде название файла.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2018.10.15 16:04
В отчете Тестера при подсчете мат. ожидания двух схлопнувшихся позиций по CloseBy идет деление на два, вместо одного. Отсюда получаются неверные значения в отчете.
Ну и такие казусы при CloseBy в отчете
Пробовал кто нибудь работу с импортом из .NET библиотек? У меня не работает.
2018.10.16 01:05:22.532 Terminal MetaTrader 5 x64 build 1911 started (MetaQuotes Software Corp.)
2018.10.16 01:05:22.572 Terminal Windows 10 (build 17134) x64, IE 11, UAC, Intel Core i5-2500 @ 3.30GHz, Memory: 5156 / 8156 Mb, Disk: 13 / 244 Gb, GMT+5
2018.10.16 02:02:45.455 TestLib (EURGBP,M15) .Net runtime error
код скрипта:
код библиотеки NET 4.7:
Архив с проектом dll в прикрепе.
PS Пробовал менять версию NET - не помогло. Пробовал запускать на виртуальной чистой Windows 10 x64- не помогло. Компилирую x64 битную dll, конечно же. Подключенные билиотеки NET для проформы, они всё равно игнорируются компилятором VS (2017 версия, кстати).
Выпустили обновление 1911 билда с рядом исправлений указанных тут ошибок.
Обновитесь, пожалуйста.
#import was not closedПробовал компилировать DLL как AnyCPU, x86, x64