Обсуждение статьи "Как опубликовать свой продукт в сервисе Маркет" - страница 32

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Rashit Ibatullin
234
Rashit Ibatullin  

Решил своего советника разместить на Маркете, в первый раз).
После добавлении файла советника xxxxx.ex5 тестер автовалидации выдал ошибку:


test on EURUSD,H1 (netting)
 2018.04.02 07:00:33   failed instant sell 0.01 EURUSD at 1.23173 [Invalid volume]

Ок, почитал мануал "Какие проверки должен пройти торговый робот перед публикацией в Маркете",
пристроил функцию проверки объем ордера на корректность CheckVolumeValue.
Что она мне выдала: min_volume==0.01    max_volume==200
Вроде у меня все правильно получается? лот объемом 0.01 корректен.

Выставил объем 0.1, потом 0.001 и даже 0.0001, получил ту же ошибку, только объем соответствующий.
Ок, выставил объем 1, после чего тестер автовалидации  выдал уже другую ошибку:

strategy tester report 151 total trades
test on EURUSD,H1 (netting)
 2016.02.01 00:39:59   current account state: Balance: 1.00, Credit: 0.00, Commission: 0.00, Accumulated: 0.00, Assets: 0.00, Liabilities:
0.00, Equity 1.00, Margin: 0.00, FreeMargin: 1.00
 2016.02.01 00:39:59   calculated account state: Assets: 0.00, Liabilities: 0.00, Equity 1.00, Margin: 1083.00, FreeMargin: -1082.00
 2016.02.01 00:39:59   not enough money [instant sell 1.00 EURUSD at 1.08316]

Получается, тестер объем принял, а вот денег не хватило. Получается, он принимает в объеме только целые числа , но для объема в 1 лот на счету д.б. миллион, а на балансе всего 1 доллар.
Продавцы бывалые), подскажите пожалуйста решение этой проблемы.

Konstantin Nikitin
12650
Konstantin Nikitin  

Rashit Ibatullin если меняете стопы чтоб небыли равны текущим. Так-же при установки отложек, стопов нужно проверять стоплевил. Мин. макс. лот само собой. Наличие средств для взятия позиции.
Это все как минимум нужно проверять.

Rashit Ibatullin
234
Rashit Ibatullin  
Konstantin Nikitin:

Rashit Ibatullin если меняете стопы чтоб небыли равны текущим. Так-же при установки отложек, стопов нужно проверять стоплевил. Мин. макс. лот само собой. Наличие средств для взятия позиции.
Это все как минимум нужно проверять.

Стопов вообще нет, заходит по рынку. В тестере терминала - все ок.
Konstantin Nikitin
12650
Konstantin Nikitin  
Rashit Ibatullin:
Стопов вообще нет, заходит по рынку. В тестере терминала - все ок.

OrderCalcMargin
AccountFreeMarginCheck

Dmitry Melnichenko
23948
Dmitry Melnichenko  

автоматический валидатор в маркете выдает такую ошибку:

failed instant sell 1.50 EURUSD at 1.16278, close #2137 buy 1.50 EURUSD 1.17211 [Modification failed due to order or position being close to market]
strategy tester report 2366 total trades

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

Artyom Trishkin
Модератор
119879
Artyom Trishkin  
Dmitry Melnichenko:

автоматический валидатор в маркете выдает такую ошибку:

failed instant sell 1.50 EURUSD at 1.16278, close #2137 buy 1.50 EURUSD 1.17211 [Modification failed due to order or position being close to market]
strategy tester report 2366 total trades

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

Уровень FreezeLevel не проверяете - если цена слишком близко к, например, уровню СтопЛосс, то СтопЛосс невозможно модифицировать. Расстояние заморозки как раз определяется уровнем FreezeLevel

Dmitry Melnichenko
23948
Dmitry Melnichenko  
Artyom Trishkin:

Уровень FreezeLevel не проверяете - если цена слишком близко к, например, уровню СтопЛосс, то СтопЛосс невозможно модифицировать. Расстояние заморозки как раз определяется уровнем FreezeLevel

спасибо
Sergey Kasirenko
7349
Sergey Kasirenko  

Добрый день. Столкнулся с весьма интересной проблемой при валидации. Сова ее не проходит!!!  Не удивил, подумают многие, /***ую этому правилу. Но обо всем по порядку.

Начну с того какие проверки уже есть,чтобы сразу пресечь очевидные пожелания:

1. Нехватка средств для проведения торговой операции.

2. Неправильные объемы в торговых операциях

3. Ограничение на количество отложенных ордеров

4. Ограничение на количество лотов по одному символу

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

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

И того получается, что на каждом тике я хочу открыть бай и селл самым минимальным лотом, если их нет.

Что я получаю в результате валидации: 

test on EURUSD,H1 (hedging)

there are no trading operations

test on XAUUSD,D1 (hedging)

there are no trading operations

test on GBPUSD,M30 (hedging)

there are no trading operations

test on EURUSD,M1 (hedging)

there are no trading operations

К чему привели мои эксперименты. Если я при проверке "Нехватка средств для проведения торговой операции" пишу про это в журнал то при валидации я получаю ответ, что получился слишком большой лог файл, оно и понятно на каждом тике пытаюсь открыть позицию и не хватает денежных средств. Если ничего не пишу в журнал, то естественно с журналом все ок, но нет открытых позиций в конце валидации. Поэтому мне кажется, что в алгоритме валидации появился какой то дикий глюк, довольно смелое заявление, согласен, но поправьте если я где то ошибся.

Ну и на закваску данный советник проходил автовалидацию три недели назад, просто возникла необходимость изменить некоторые параметры по умолчанию и поправить пару мелочей, НЕ ЗАТРАГИВАЮЩИХ логику открытия и лотности.

Заранее спасибо всем за дельные советы.

Andrey Khatimlianskii
62372
Andrey Khatimlianskii  
Sergey Kasirenko:

Ну и на закваску данный советник проходил автовалидацию три недели назад, просто возникла необходимость изменить некоторые параметры по умолчанию и поправить пару мелочей, НЕ ЗАТРАГИВАЮЩИХ логику открытия и лотности.

Заранее спасибо всем за дельные советы.

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

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

Andrey Khatimlianskii, 2019.04.09 21:42

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


Evgeniy Scherbina
14819
Evgeniy Scherbina  
Dmitry Melnichenko:

автоматический валидатор в маркете выдает такую ошибку:

failed instant sell 1.50 EURUSD at 1.16278, close #2137 buy 1.50 EURUSD 1.17211 [Modification failed due to order or position being close to market]
strategy tester report 2366 total trades

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

Artyom Trishkin:

Уровень FreezeLevel не проверяете - если цена слишком близко к, например, уровню СтопЛосс, то СтопЛосс невозможно модифицировать. Расстояние заморозки как раз определяется уровнем FreezeLevel


При чем здесь это? Он пытается закрыть ордер, а не изменить его.

У меня такая же ошибка при использовании стандартной библиотеки. Пробовал обновлять котировки, все чушь. Раньше всегда проверку проходил. Тестируется у меня все отлично, и никогда подобная ошибка не всплывает.

Что делать не знаю...

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий