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

 
Ilyas:

Спасибо за сообщение,

А что с этим делать?

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

Ошибки, баги, вопросы

A100, 2018.09.01 15:25

Ошибка при выполнении: Cannot find 'g' in 'Test2.ex5'

//Test.mqh
class A {};
//Test1.mq5
#include "Test.mqh"
#import "Test2.ex5"
        void g( A* );
#import
void OnStart()
{
        A  a[1];
        ArrayPrint( a ); //(*)
        g(&a[0]);
}
//Test2.mq5
#property library
#include "Test.mqh"
void g( A* ) export {}

А если в Test1.mq5 строку со (*) убрать - то нормально. А как она повлияла??? Build 1881\32

Это ведь не рядовая ошибка при компиляции - программа не запускается (и ArrayPrint там просто для примера - можно заменить на другую подходящую функцию)

Ведь эта ошибка уже год назад обнаружилась... исправлялась неоднократно но всплывала вновь и вновь. И здесь тоже не работает https://www.mql5.com/ru/forum/1111/page2131#comment_6575893

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.08.30
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
fxsaber:

Какую папку Терминала через mklink разместить на RAM-диск, чтобы данные считывались/писались не с SSD, а из памяти? Готов предоставить данные, какое это даст ускорение при Оптимизации.

Tester папку перенес на 5Gb RAMDisk и в MT5-директории выполнил

mklink /j Tester z:\Tester


Теперь SSD спит спокойно, Оптимизация стала в ~1.5 раза (на глаз) быстрее, бесплатно!

 

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

Ошибки, баги, вопросы

fxsaber, 2017.01.26 17:33

Поскольку модель оптимизатора агентская, то что мешает реализовать одиночный прогон, пройденный уже через еще незавершивший работу оптимизатор?

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

А то сейчас исследования встают колом, пока оптимизатор не закончит. А это иногда ну очень долго. 

Актуально, не смотря на отличные кеши. Просьба открыть формат opt-файлов.

Как пример, зачем это нужно. Вот отсортировал результаты Оптимизации по прибыльности (PF)

Посмотрите на количество трейдов - они статистически ничего не значат: меньше 30. Но у них PF зашкаливает и таких результатов сотни/тысячи. Ну зачем этот мусор в таблице?

Если бы был открыть opt-формат, то можно было бы этот мусор автоматом убивать, оставляя только интересные более-менее стат. значимые результаты.

Что уж говорить о кастомных сортировках по нескольким критериям одновременно и т.д.


ЗЫ Предполагается, что можно самому не только читать, но и писать opt-файлы. А затем скармливать его Тестеру, как это уже сейчас реализовано

Тем самым пользуясь всеми преимуществами GUI Тестера для почищенного от мусора кеша. Для этого нужно только открыть opt-формат.

 

Результаты Оптимизации можно сортировать по различным критериям

В MT5 уже есть механизм задания текстовых формул для так называемых формульных синтетиков.

Предлагаю использовать этот же механизм текстовых формул для задания произвольных критериев сортировки.

 
Slava:

"Всё уже украдено до вас" (ц)

На начало дня - полный тик. Потом бид и/или аск и/или ласт полностью, всё остальное приращения, если есть. В среднем 10 байт на тик.

Так как доступ к тикам строго последовательный, то нет проблем с организацией быстрого доступа к каждому элементу массива

Да, действительно. Здорово!
Признаться я исследовал только бары. И сделал скоропостижный вывод, что такая же ситуация с тиками. Был не прав. 
Но тогда странно - почему бары хранятся практически в неупакованном виде?

Легко проверить: берем смотрим размер файла hcc за любой год, а потом считаем кол-во баров за этот год через функцию Bars. У меня получилось ~42.2 байта на 1 минутный бар. Да это меньше чем 60, но явно избыточно.

 
fxsaber:

Tester папку перенес на 5Gb RAMDisk и в MT5-директории выполнил


Теперь SSD спит спокойно, Оптимизация стала в ~1.5 раза (на глаз) быстрее, бесплатно!

Ух ты! Какое простое и неожиданное решение. 
Круто! и Браво!

 

странный баг в билде 1881 от 9 июля. 

Не сразу понял.

Было свернуто окно терминала, выставил все параметры и ввел депозит 100 долл. 

Раскрыл окно на весь экран и нажал старт. Спустя час после оптимизации.... обнаружил, что там не 100 долл а 10 000 долл. 


При Разворачивании терминала на весь экран - поле Депозит сбрасывается на значения по умолчанию!




Этот же баг проявляется даже когда Оптимизация уже запущена


 
Комментарии, не относящиеся к этой теме, были перенесены в "FAQ по сервису Сигналы".
 
fxsaber:
Большая просьба в Тестере маркеты закрывать по Bid/Ask, если последняя известная last нулевая.

На видео

биржевой инструмент на реальных тиках. Бары строятся по Bid, ласт-данных нет, открыта BUY-позиция. Хорошо видно, что текущая цена закрытия позиции

PositionGetDouble(POSITION_PRICE_CURRENT)

равна постоянно нулю, несмотря на то, что Bid вовсю меняется. Как объяснить Тестеру, что биржевой символ должен закрывать BUY-позицию по Bid? Сейчас даже эквити не вычисляется.

 
Делая каждый раз одиночный прогон в самом начале идет такая запись
Core 1  MetaTester 5 forced to stop

Какова причина?


Каждый одиночный прогон заканчивается через ExpertRemove.

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