stack overflow в рекурсивной функции (открытие/закрытие позиции)

 

Всем, привет! Помогите решить проблемку. Мой брокер иногда дает [no price] или что-то еще при открытии/закрытии позиции. При проведении торговой операции проверяется результат ее выполнения и если она не выполнена, то функция выполнения вызывает саму себя. 

Иногда в данной ситуации я получаю stack overflow. Подскажите, пжлст, как можно решить проблему с рекурсией без переполнения стека или же какой-то есть другой вариант повторного вызова торговой операции? Кто как делает?

 
Artem Mordvinkin:

Всем, привет! Помогите решить проблемку. Мой брокер иногда дает [no price] или что-то еще при открытии/закрытии позиции. При проведении торговой операции проверяется результат ее выполнения и если она не выполнена, то функция выполнения вызывает саму себя. 

Иногда в данной ситуации я получаю stack overflow. Подскажите, пжлст, как можно решить проблему с рекурсией без переполнения стека или же какой-то есть другой вариант повторного вызова торговой операции? Кто как делает?

не надо рекурсии

повторите попытку открытия/закрытия позиции на следующем тике‌

 
Повторное открытие рекурсией? Вы просто гуру по созданию себе проблем на ровном месте
 
Renat Akhtyamov:

не надо рекурсии

повторите попытку открытии/закрытии позиции на следующем тике‌


ок, спасибо. А может как-то стек высвобождать? Такое можно сделать в mql5?
 
Комбинатор:
Повторное открытие рекурсией? Вы просто гуру по созданию себе проблем на ровном месте

Не просил себе определение. Просил подсказать решение.
 
Artem Mordvinkin:

ок, спасибо. А может как-то стек высвобождать? Такое можно сделать в mql5?
не в курсе. подождем ответа. тоже ловил такую ошибку.
 
Стек освобождается единственным способом. Возвратом из функции, занявшей стек
 
Artem Mordvinkin:

Не просил себе определение. Просил подсказать решение.

ответ прозвучал. спасибо Славе!

посчитайте кодом количество повторений попытки до ошибки и ограничьте‌

предлагаю так‌

 
Slawa:
Стек освобождается единственным способом. Возвратом из функции, занявшей стек

Значит рекурсия данной операции  невозможна:( Остается вариант с ожиданием нового тика. Переделаю. Спасибо.
 
Renat Akhtyamov:

ответ прозвучал. спасибо Славе!

посчитайте кодом количество повторений попытки до ошибки и ограничьте‌

предлагаю так‌


Да, думаю так и сделать. Или может сразу на новый тик все переведу.
Причина обращения: