Проблема с валидацией советника на маркете - страница 11

 
Vadim Zotov:

Мы не против. Пусть проверяет. Только пусть говорит, что он сделал, чтобы вызвать ошибку. А так как сейчас- показали код ошибки, и на этом всё: повторно смоделировать её не получается, так как условия эксперимента не зафиксированы. Это очень затрудняет поиск ошибок.

Т.е., если вам сказать что они там делают, вы просто намеренно обойдёте их условия, а над остальными не поработаете, так хочется?

 
Artyom Trishkin:

Т.е., если вам сказать что они там делают, вы просто намеренно обойдёте их условия, а над остальными не поработаете, так хочется?

Какая-то излишняя подозрительность. Цель помочь человеку найти ошибку или просто поиздеваться над ним, заставляя поработать?

Пусть проверяет все возможные условия. Но пусть говорит, чем вызвана ошибка. Это позволит человеку не гадать на кофейной гуще, а смоделировать ситуацию, найти ошибку и исправить её.
 
Ivan Titov:

Почему в значении MinLot участвует шаг изменения объема? Ему там не место. Простой пример: подставим в эту функцию значение 0.285 при мин лоте 0.01, шаге 0.01 и макс. лоте 100.0 (стандартные значения у большинства брокеров). На выходе получим это же значение без изменений. Вот Вам и ошибка 131, т. к. 0.285 не кратно значению 0.01 (шагу изменения объема).

Также обратите внимание, что после строки:

if (ret > MaxLots) ret = MaxLots;

нет никаких проверок на корректность объема. Ведь MaxLots вычисляется, но его значение может иметь значащую цифру и в 5-ом и в 8-ом знаке, что не подойдет под шаг изменения объема. 

P. S. Пожалуйста, вставляйте код через кнопку SRC.

 
Artyom Trishkin:

Т.е., если вам сказать что они там делают, вы просто намеренно обойдёте их условия, а над остальными не поработаете, так хочется?

Артем, это уже реальный перегиб палки. Цель ведь - написать качественный продукт, а не попридираться к коду. Думаю, Вы когда-нибудь писали программу для кого-то, и сталкивались с тем, что клиент какими-то непредусмотренными Вами действиями крэшил программу. В этом случае одного сообщения ошибки будет недостаточно, т. к. нужно еще понять, как такой результат получен. А это именно последовательность действий.

К примеру, в том же сервисдеске недостаточно указать ошибку. Нужно приложить шаги, которые приводят к воспроизведению этой ошибки. Таким образом, получаем явный дисбаланс: когда речь идет о продукте компании, то ей нужно предоставлять сведения по воспроизведению, а когда речь идет о продукте Маркета, то считается, что все программисты с приставкой СУПЕР и должны сами догадаться о том, что привело к ошибке.

 
Ihor Herasko:

Артем, это уже реальный перегиб палки. Цель ведь - написать качественный продукт, а не попридираться к коду. Думаю, Вы когда-нибудь писали программу для кого-то, и сталкивались с тем, что клиент какими-то непредусмотренными Вами действиями крэшил программу. В этом случае одного сообщения ошибки будет недостаточно, т. к. нужно еще понять, как такой результат получен. А это именно последовательность действий.

К примеру, в том же сервисдеске недостаточно указать ошибку. Нужно приложить шаги, которые приводят к воспроизведению этой ошибки. Таким образом, получаем явный дисбаланс: когда речь идет о продукте компании, то ей нужно предоставлять сведения по воспроизведению, а когда речь идет о продукте Маркета, то считается, что все программисты с приставкой СУПЕР и должны сами догадаться о том, что привело к ошибке.

Согласен, погорячился - всюду заговоры мерещатся

 
Ihor Herasko:

Почему в значении MinLot участвует шаг изменения объема? Ему там не место. Простой пример: подставим в эту функцию значение 0.285 при мин лоте 0.01, шаге 0.01 и макс. лоте 100.0 (стандартные значения у большинства брокеров). На выходе получим это же значение без изменений. Вот Вам и ошибка 131, т. к. 0.285 не кратно значению 0.01 (шагу изменения объема).

Также обратите внимание, что после строки:

нет никаких проверок на корректность объема. Ведь MaxLots вычисляется, но его значение может иметь значащую цифру и в 5-ом и в 8-ом знаке, что не подойдет под шаг изменения объема. 

P. S. Пожалуйста, вставляйте код через кнопку SRC.


Спасибо за замечания.

 
Ihor Herasko:

Артем, это уже реальный перегиб палки. Цель ведь - написать качественный продукт, а не попридираться к коду. Думаю, Вы когда-нибудь писали программу для кого-то, и сталкивались с тем, что клиент какими-то непредусмотренными Вами действиями крэшил программу. В этом случае одного сообщения ошибки будет недостаточно, т. к. нужно еще понять, как такой результат получен. А это именно последовательность действий.

К примеру, в том же сервисдеске недостаточно указать ошибку. Нужно приложить шаги, которые приводят к воспроизведению этой ошибки. Таким образом, получаем явный дисбаланс: когда речь идет о продукте компании, то ей нужно предоставлять сведения по воспроизведению, а когда речь идет о продукте Маркета, то считается, что все программисты с приставкой СУПЕР и должны сами догадаться о том, что привело к ошибке.


А ведь человек дело говорит.

Написать как тестировался продукт, с какими параметрами и на каком периоде это минутное дело.

И на исправление этого бага уйдет гаараздо меньше времени.

 
Vladimir Gribachev:

А ведь человек дело говорит.

Написать как тестировался продукт, с какими параметрами и на каком периоде это минутное дело.

И на исправление этого бага уйдет гаараздо меньше времени.

Спасибо за поддержку, коллеги!

До этого времени у меня складывалось впечатление, что мой глас был писком вопиющего в пустыне. Все попытки поиска правды в этом вопросе утыкались в глухое молчание.

Надеюсь, что нас всё-таки услышат, и модераторы больше не будут засекречивать условия своих экспериментов над нашими разработками.

 

С мира по писку - модератору сирена)

Еще не понятно требование обязательного открытия советником сделок на любом символе и таймфрейме при произвольных начальных значениях. Как, например открывать сделки на EURUSD при лоте 0.06 и начальном депозите $30? Уже скоро месяц как пытаюсь опубликовать продукт.

 
Ivan Titov:

С мира по писку - модератору сирена)

Еще не понятно требование обязательного открытия советником сделок на любом символе и таймфрейме при произвольных начальных значениях. Как, например открывать сделки на EURUSD при лоте 0.06 и начальном депозите $30? Уже скоро месяц как пытаюсь опубликовать продукт.

Так никто не заставляет её открывать с таким лотом.

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