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

 
Slava:

А если не каждый проход возвращает фрейм?

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

Значит сделать нулевой (системный) фрейм, который будет возвращаться на каждом проходе, но не будет участвовать в формировании данных.

 

В формуле синтетического инструмента выдает ошибку "Неизвестная ошибка парсинга" если имя символа начинается (или содержит) точку.


 
Nikolai Semko:

В формуле синтетического инструмента выдает ошибку "Неизвестная ошибка парсинга" если имя символа начинается (или содержит) точку.


Если имя символа содержит точку, тире или ещё что-то непонятное (как насчёт "RTS-12.19"?), то это имя надо обрамлять в апострофы
 
Slava:
Если имя символа содержит точку, тире или ещё что-то непонятное (как насчёт "RTS-12.19"?), то это имя надо обрамлять в апострофы

Спасибо. Сработало.

 

Могли бы Вы добавить соответствующие данные в MQLInfoInteger?

 

Что обозначает данное свойство?

ENUM_MQL_INFO_INTEGER

Идентификатор

Описание

Тип свойства

MQL_SIGNALS_ALLOWED

Разрешение на работу с сигналами данной запущенной программы

bool

 
fxsaber:

Могли бы Вы добавить соответствующие данные в MQLInfoInteger?

Нет
 

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

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

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

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

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

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


 
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

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

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

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


У Вас написано что советник не совершает торговых операций...  Разберитесь почему советник не торгует...

 
Vladimir Pastushak:

У Вас написано что советник не совершает торговых операций...  Разберитесь почему советник не торгует...

Вы наверное не очень внимательно прочитали мой пост. Сигналом на открытие позиции служит отсутствие любой позиции, ставлю на любой график, любой валюты, любого инструмента и позиции открываются с приходом тика у меня в терминале. А при верификации пишет, что нету сделок. Но если я включу запись в журнал события отсутствие денег, то из-за того, что сигнал на каждом тике у меня вылезает ошибка переполнения журнала, а чем он может быть переполнен если единственное, что туда пишу это информация про то, что нет денег на сделку. Отсюда и делаю вывод, что при автовалидации что то заклинило и постоянно проверяет с 10 центами на счету, отсюда и нет сделок, потому что проверки просто не пропускают до открытия. Но если отключаю эту проверку, то конечно автовалидация выдает ошибку открытия позиции из-за нехватки средств.

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