
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
потому что по какой-то причине (возможно, ошибка) массивы не инициализируются.
Пока что я не получаю значения для 'T3MA' и 'HMA'.
Возможно, именно поэтому советник не открывает ни одного ордера, так как в нем используются оба этих индекса.
Или я допустил какую-то ошибку в советнике?
Пока что я не получаю значения для 'T3MA' и 'HMA'.
Я уже говорил вам
потому что по какой-то причине (возможно, ошибка) массивы не инициализируются.
Возможно, именно поэтому советник не открывает ни одного ордера, поскольку в нем используются оба этих индекса.
Я не знаю, возможно, вероятно, возможно, возможно, вероятно, вероятно, разумно.
Или я допустил какую-то ошибку в советнике?
я так не думаю
Да, вы правы. Но почему?
Я скомпилировал их, как сказал SDC, и обнаружил "0" ошибок или предупреждений.
Тогда что я могу сделать, чтобы обновить их до B-600+?
В HMA.mq4 есть ошибка, измените эту строку в init() :
наЭтот советник не открывает ни одной сделки даже в Build 509, где и 'T3MA' и 'HMA' работают нормально.
В чем может быть причина?
Аналогичная ошибка в T3MA.mq4, измените на :
Это логические ошибки, которые компилятор не может отловить.
Эти ошибки уже присутствуют в билде 509, но не приводят к проблеме, так как у SetIndexBuffer мало шансов оказаться ложным. Теперь это стало проблемой из-за этого изменения:
Shortened conditions check is now used in logical operations, unlike the old MQL4 version where all expressions have been calculated and the check has been performed afterwards. Suppose there is a check of two conditions with the use of logical AND
Если выражение условия1 равно false, то вычисление выражения условия2 не выполняется, так как результат false && true все равно равен false.
Аналогичная ошибка в T3MA.mq4, измените на :
Это логические ошибки, которые компилятор не может поймать.Большое спасибо, сэр.
Да, это были баги и сейчас они работают :)
Не могли бы вы посмотреть, почему советник вообще не открывает ордера, несмотря на то, что эти индикаторы работают?
С уважением,
Посмотрите, пожалуйста, почему советник вообще не открывает ордера, несмотря на то, что эти индикаторы работают?
покажите код вашего советника
покажите свой код эксперта
Вот он:
iCustom
Вычисляет указанный пользовательский индикатор и возвращает его значение.
double iCustom(
string символ, // символ
int timeframe, // таймфрейм
string name, // путь/имя скомпилированной программы пользовательского индикатора
... // входные параметры пользовательского индикатора (если необходимо)
int mode, // индекс строки
int shift // сдвиг
);
Параметры
символ
[in] Имя символа, на данных которого будет рассчитываться индикатор. NULL означает текущий символ.
таймфрейм
[in] Таймфрейм. Это может быть любое из значений перечисления ENUM_TIMEFRAMES. 0 означает текущий таймфрейм графика.
name
[in] Имя скомпилированной программы пользовательского индикатора, относительно корневого каталога индикаторов (MQL4/Indicators/). Если индикатор находится в подкаталоге, например, в MQL4/Indicators/Examples, то его имя должно быть указано как "Examples\\\indicator_name" (в качестве разделителя вместо одинарной обратной косой черты "\\\"должен быть указан двойной обратный слэш).
...
[in] Пользовательские входные параметры индикатора, разделенные запятыми.
Передаваемые параметры и их порядок должны соответствовать порядку объявления и типу внешних переменных пользовательского индикатора. Если значения входных параметров не указаны, будут использованы значения по умолчанию.