Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов - страница 66

 

Народ а о факторе восстановления кто нибудь знает что ?)

 
Andrey Azatskiy:

Народ а о факторе восстановления кто нибудь знает что ?)

Прибыль/просадка средств

 
A100:

А в таком случае по Вашему какое значение должно быть у AMOUNT?

10.

 
A100:
Это равносильно

первоначально значение i случайное: не исключено, что 1 - это случайное совпадение, а не результат какого-либо вычисления. По крайней мере в x32 так

Если после определения переменной прописана инициализация, то странно сообщать, что переменная существует, но не инициализирована.

 
Aleksey Vyazmikin:

Прибыль/просадка средств

Я так же считаю, но вот терминал мне другое говорит. Выше выкладывал изначальный вопрос. Интересно бы узнать как его терминал считает

 
Andrey Azatskiy:

Я так же считаю, но вот терминал мне другое говорит. Выше выкладывал изначальный вопрос. Интересно бы узнать как его терминал считает

У меня всё сходится 

Чистая прибыль 38466
Максимальная просадка по средствам 8163
Фактор восстановления 4,71


Какой вариант для получения просадки используете?

STAT_BALANCE_DD

Максимальная просадка баланса в деньгах. В процессе торговли баланс может испытать множество просадок, берется наибольшее значение.

STAT_BALANCE_DD_RELATIVE

Просадка баланса в деньгах, которая была зафиксирована в момент максимальной просадки баланса в процентах (STAT_BALANCE_DDREL_PERCENT).

STAT_EQUITY_DD

Максимальная просадка средств в деньгах. В процессе торговли средства могут испытать множество просадок, берется наибольшее значение.

STAT_EQUITY_DD_RELATIVE

Просадка средств в деньгах, которая была зафиксирована в момент максимальной просадки средств в процентах (STAT_EQUITY_DDREL_PERCENT).

 
Aleksey Vyazmikin:

У меня всё сходится 

Чистая прибыль 38466
Максимальная просадка по средствам 8163
Фактор восстановления 4,71


Какой вариант для получения просадки используете?

STAT_BALANCE_DD

Максимальная просадка баланса в деньгах. В процессе торговли баланс может испытать множество просадок, берется наибольшее значение.

STAT_BALANCE_DD_RELATIVE

Просадка баланса в деньгах, которая была зафиксирована в момент максимальной просадки баланса в процентах (STAT_BALANCE_DDREL_PERCENT).

STAT_EQUITY_DD

Максимальная просадка средств в деньгах. В процессе торговли средства могут испытать множество просадок, берется наибольшее значение.

STAT_EQUITY_DD_RELATIVE

Просадка средств в деньгах, которая была зафиксирована в момент максимальной просадки средств в процентах (STAT_EQUITY_DDREL_PERCENT).

беру из истории просадку считаю сам (по кревой PL) и она сходится с той что показана в соответствующей графе результатов оптимизации

 
Andrey Azatskiy:

беру из истории просадку считаю сам (по кревой PL) и она сходится с той что показана в соответствующей графе результатов оптимизации

При оптимизации просадка в процентах, не?

Поэтому уточните либо как считаете, либо с каким из четырех вариантов это значение сходится (предполагаю, что с STAT_EQUITY_DD_RELATIVE).

 
fxsaber:

Если после определения переменной прописана инициализация, то странно сообщать, что переменная существует, но не инициализирована.

Строго говоря Вы правы, потому что в MQL (в отличии от С++) переменная считается объявленной с момента завершения объявления, соответственно в случае:


компилятор работает по правилам MQL, а отладчик по правилам C++. До завершения объявления i  - это i(1), а значит равно 5, а после завершения объявления i  - это уже i(2), но все равно равно 5. Соответственно значение 4456531 - не подходит

 
Edgar:

Build 2007. Один терминал MT5 и 3 шт MT4 установлены на коммерческом VPS. Память занята на 94%

Реальные счета. Эксперты запустились без ошибок. В логах терминала несколько сообщений типа:

2019.05.11 10:25:20.442 MemoryException 31703040 bytes not available, 0 heapmin result

Раньше не обращал внимания, почти не ходил в лог терминала (только в лог экспертов). Что это? Будут эксперты работать правильно в понедельник, или непредсказуемо?

Сначала подумал на стандартные библиотеки, во многих из них нет проверки ошибок при выделении памяти. Но заодно и мой код хоть раз бы напоролся на нехватку и сообщил бы. А я проверяю всегда.

Память выделяется не только явно в советнике (например, при ArrayResize), но и самим терминалом (на объекты, объявленные глобально, на тайм-серии, которые советник или используемые индикаторы запрашивают). И вот на что-то не хватает.

Проверка есть, но обработка примитивная — принт в журнал.

Советник разве не выгружается при этом? Поищите такие же записи в старых логах на всякий случай.