https://docs.mql4.com/ru/basis/preprosessor/compilation
stacksize | int | размер стека для рекурсивных вызовов |
https://docs.mql4.com/ru/basis/preprosessor/compilation
stacksize | int | размер стека для рекурсивных вызовов |
а какой он по умолчанию? ВЫставлял любые значение - ошибка остается.
а какой он по умолчанию? ВЫставлял любые значение - ошибка остается.
Вы используете рекурсию?
Вы используете рекурсию?
нет. Общая блок-схема советника выглядит так:
функция смены тика на минутном графике
старт
если функция смены тика на минутном графике=1
{
if 1.... то buy/sell
if 2.... то buy/sell
if 3.... то buy/sell
.............
if 100.... то buy/sell
}
Другими словами, каждую минуту рассматривается порядка ста If-ов, по рез-там которых открываются сделки buy/sell. Никакой модификации открытых ордеров пока нет. Цель советника - открыться в нужный момент
нет. Общая блок-схема советника выглядит так:
функция смены тика на минутном графике
старт
если функция смены тика на минутном графике=1
{
if 1.... то buy/sell
if 2.... то buy/sell
if 3.... то buy/sell
.............
if 100.... то buy/sell
}
Другими словами, каждую минуту рассматривается порядка ста If-ов, по рез-там которых открываются сделки buy/sell. Никакой модификации открытых ордеров пока нет. Цель советника - открыться в нужный момент
Возможно, в советнике используются массивы и где-то происходит обращение за пределы массива.
тоже нет. До вставления последнего If-а все работает. Добавляю для примера самый простой If, что-то в роде:
if (((iOpen(NULL,PERIOD_H1,2)-iClose(NULL,PERIOD_H1,2))/Point)>5)
)
{
deal_buy (50,10,50);
Print("buy 3 candle..","");
}
и все. после этого не компилируется. То есть просто слишком большой синтаксис, насколько я понимаю. Поэтому и вопрос, есть ли какие-либо варианты вынести часть кода во внешние файлы и что-нибудь еще?
Поэтому и вопрос, есть ли какие-либо варианты вынести часть кода во внешние файлы и что-нибудь еще?
Можно написать библиотеку и заголовочный файл к ней.
Из советника директивой #include подключаете заголовочный файл, в котором осуществляется импорт функций библиотеки и должны находится их прототипы.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день!
При написании советника возникла вот такая ошибка.
Можно ли увеличить размер стека? Или как часть кода вынести в подключаемые модули? Подскажите, гуру.