
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
И этот пост о том, как найти/исправить нулевое отклонение: https://www.mql5.com/en/forum/general
Есть некоторые объяснения функций:
- Коллекция полезных функций MT4 для кодирования от wolfe.
- Профессиональная функция MM от Nicholishen.
- Функция Money Managment от Kalenzo.
- несколько простых кодов ММ.
- Функция FILE_READ | FILE_WRITE.
- Функция DefindTrade(...) от phoenix.
- Функция формата даты.
- функция отображения предупреждений.
- функция sleep().
- Функция для высоких и низких значений.
- Функция iCustom: хорошая трея от Codersguru.
- ссылки на функции email/sms.
- все функции на сайте Codersguru.
- Функция, возвращающая массив.
- Функция IsStopped( ).
- Как использовать функцию Hour().
- Функция для эффективного закрытия всех ордеров.
- Оповещение один раз.
- Алерты: множество функций и примеров.
- Очень ВАЖНО для ВСЕХ индикаторов MTF.
- Easy iCustom and Alerts!: очень хорошая тема от Codersguru.
- Самый высокий уровень.
- Как подавать алерт только на закрытии свечи.
- ссылки на функции icustom.
- исправление нулевого отклонения.
- полная фиксация нулевого отклонения.
- другие функции управления капиталом.
- как закодировать один ордер на MetaTrader, или один ордер на симбол (eurusd, gbpusd ...), или один ордер на график, или один на свечу.
горячие клавиши в MetaTrader:
https://www.mql5.com/en/forum/178343
https://www.mql5.com/en/forum/172885
https://www.mql5.com/en/forum/176626
Если брокер добавит еще одну цифру?
https://www.mql5.com/en/forum/179191
Нахождение текущего максимума сессии.
Кодирование пользовательского индикатора без файла mq4.
Необычная ошибка
Привет, друзья,
Я кодировал советника и столкнулся с необычной ошибкой. Поэтому я хотел бы попросить вашей помощи с этой ошибкой на MT4, которая, я думаю, некоторые из вас, в вашем опыте, возможно, уже сталкивались с тем же самым.
Чтение всего советника может быть нецелесообразным, исходный код очень большой.
После успешной компиляции, в тестере, журнал МТ4 выдает следующую ошибку
Время: 2011.01.28 23:35:36
Сообщение: 2007.07.13 00:00 InterCandles EURUSDFXF,H4: переполнение стека.
Даже подняв размер стека до небес через
#property stacksize 167692160
которое, как я полагаю, выделяет 16MB памяти, ошибка сохраняется.
Кто-нибудь сталкивался с такой же проблемой"переполнения стека" в тестере, или может указать, является ли проблема внутренней в MT4, или в советнике (возможно, в массиве, вложенных объявлениях, слишком большом файле ex4 и т.д.)?
Я ценю вашу помощь и прошу прощения за то, что отнял у вас время.
Спасибо.
Решение проблемы
Пока никто не ответил, я нашел решение.
Перед использованием функции, сразу после того, как тестер загружает советника - который ссылается на приложенную библиотеку - в журнале появляется сообщение "stack overflow".
Проблема обнаружена с функцией под названием "power", в приложенном файле. Мои выводы следующие:
1) Конечно, нет никакой проблемы с ее названием; в таблице символов EX4 нет коллизии MQL-функции. Другие метки были протестированы.
2) Очевидно, не был достигнут предел функций. После удаления проблемной функции добавлялись другие функции, и ошибка не возникала. Работает правильно только при удалении этой функции, а не только при развязывании в EX4 файле через компилятор MT4.
3) Рекурсия выполняется через множество вызовов, а результаты остаются в стеке. Стек растет линейно асимптотически по мере экспоненциального роста аргумента `exponent'. Потенциально стек может достичь своего предела и переполниться. Ошибка "переполнение стека" появляется независимо от выполнения этой функции.
Поэтому я предполагаю, что компилятор MT4 может иметь устройство, обнаруживающее [некоторые классы] рекурсии, которые не разрешены в языке, избегая потенциального переполнения стека во время выполнения советника.
Детали (настройки) советника, отображаемые на графике
ОЧЕНЬ УБЕДИТЬСЯ в успешности выполнения функции ordermodify()
Замена глобальных переменных
как определить, существует ли файл: Я знаю, что в советнике мы можем попытаться прочитать файл с помощью FileOpen(...) и получить ошибку, используя ...