Размер стека

 

Что за свойство #property stacksize ?

что оно задаёт?

в каких единицах?

какой максимальный размер?

как отследить сколько нужно?

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Urain:

Что за свойство #property stacksize ?

что оно задаёт?

в каких единицах?

какой максимальный размер?

как отследить сколько нужно?

А справку смотрели (https://www.mql5.com/ru/docs/basis/preprosessor/compilation)?
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Urain:

Что за свойство #property stacksize ?


alexvd:

А справку смотрели (https://www.mql5.com/ru/docs/basis/preprosessor/compilation)?

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

Использую рекурсию и МТ ругается на "Stack overflow in", как выходить из ситуации что нужно чтоб хватало ?

что оно задаёт? -->

stacksize

int

размер стека для рекурсивных вызовов


в каких единицах?

какой максимальный размер?

как отследить сколько нужно?



 

Размер стека указывается в байтах.

На данный момент управление стеком в EX5-программах отключено. После некоторых исследований мы обратно включим управление стеком и дополним справку.

Отслеживать сколько нужно - только органолептически. А вообще, следует ограничивать рекурсию программно. 

 
stringo:

Размер стека указывается в байтах.

На данный момент управление стеком в EX5-программах отключено. После некоторых исследований мы обратно включим управление стеком и дополним справку.

Отслеживать сколько нужно - только органолептически. А вообще, следует ограничивать рекурсию программно. 

Тоже пришёл к такому выводу, но чтоб ограничивать программно нужно как минимум функции возврата состояния стека,

заполненность, возможное переполнение на следующем шаге. Этого пока нет.

 

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

 
stringo:

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

Ну вот, опять всё лаптём мерять прийдётся :о)
 
Urain:
Ну вот, опять всё лаптём мерять прийдётся :о)
Интересно посмотреть, как Вы управляете рекурсией в других средах программирования.
 
stringo:
Интересно посмотреть, как Вы управляете рекурсией в других средах программирования.

А никак, в других средах не программирую принципиально.

Всё что нужно для трейдинга есть в MQL.

Совершенствоватся в других языках только распылять личные ресурсы.

Было время когда занимался всем сразу, потом понял что нет смысла. Тем более что по скорости MQL выходит на уровень С++.

 

У меня такая проблемка возникла. Перезагрузил терминал и неожиданно эксперт начал ругаться выгружаясь при этом. Кричит: stack overflow. Полез в поиск, нашёл только эту тему по этому вопросу. Подскажите, что нужно делать.

 
tol64:

У меня такая проблемка возникла. Перезагрузил терминал и неожиданно эксперт начал ругаться выгружаясь при этом. Кричит: stack overflow. Полез в поиск, нашёл только эту тему по этому вопросу. Подскажите, что нужно делать.

Перезагрузил компьютер и проблема исчезла. Вопрос снят пока.  :)
Причина обращения: