RefreshRates() в тестере - страница 2

 
Analitik писал(а) >>

В тестере всё идёт хорошо до тех пор, пока в результате гэпа цена Ask не оказывается между pr и (pr-StopLevel), т.е. слишком близко для быставления БайСтоп, но слишком далеко для открытия Бай.

У меня есть что-то подобное. Но я сразу в коде поставил проверку на возможность выставления стоп-ордера. Если это невозможно, то входим по рынку. Вот и все.

 
Analitik писал(а) >>

В тестере всё идёт хорошо до тех пор, пока в результате гэпа цена Ask не оказывается между pr и (pr-StopLevel), т.е. слишком близко для быставления БайСтоп, но слишком далеко для открытия Бай.

В этом месте советник зависает, т.к. RefreshRates() в тестере не работает.

Что в данном случае можно сделать, чтобы в тестере получить новую Ask не выходя из цикла?

Заранее благодарю за ответ.

Вашем случае можно использовать в теле цикла:

if(IsTesting())
   break;
 
voltair писал(а) >>

У меня есть что-то подобное. Но я сразу в коде поставил проверку на возможность выставления стоп-ордера. Если это невозможно, то входим по рынку. Вот и все.

Нужно не просто войти по рынку, а при достижении/преодолении цены pr

 
PapaYozh писал(а) >>

Вашем случае можно использовать в теле цикла:

Тогда я рискую в него не вернуться и не выставить ордер.

 
Analitik >>:

Спасибо. Я думал над подобным вариантом. Если ни чего другого не останется, то придётся сделать именно так.

Уважаемые разработчики, можно узнать Ваше мнение?

А вообще-то в тестере проскальзываний нет, так что ищите ошибку в Ваших формулах.

 
TheXpert писал(а) >>

А вообще-то в тестере проскальзываний нет, так что ищите ошибку в Ваших формулах.

А при чём здесь проскальзывание? Проблема возникает при гэпе, которые в тестере есть.

 
Analitik >>:

А при чём здесь проскальзывание? Проблема возникает при гэпе, которые в тестере есть.

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

 
TheXpert писал(а) >>

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

Зацикливание и не открытие на первой итерации происходит, когда Ask (на этой самой первой итерации) оказывается между pr и (pr-StopLevel), т.е. слишком близко для быставления БайСтоп, но слишком далеко для открытия Бай. Это происходит в результате ГЭПА. В этом и заключается главная проблема.

 
Analitik писал(а) >>

Нужно не просто войти по рынку, а при достижении/преодолении цены pr

Не пойму я - что мешает-то? На мой взгляд, закодить это легко.

Если цена позволяет поставить стоповый ордер - ставите.

Если нет, значит отслеживаете появление нужной цены и входите.

P.S. Извиняйте, мне пример писать ей-ей некогда.