GlobalVariableSet(BuyEntrySignalGiven, (double) 1.0);
Удалите объявление двойки. GV уже является двойным, поэтому нет необходимости объявлять его снова.
BuyEntrySignalGiven = Symbol() + "BuyEntrySignalGiven";
Этот код также проблематичен. Кто-нибудь другой укажет вам на него, если у него будет время.
Привет, народ
У меня возникла проблема, из-за которой я скоро распрощаюсь с программированием на MT. Проблема заключается в попытке установить глобальные значения терминала. То, что я делаю, выглядит примерно так:
Набор продолжает выдавать мне ошибку 4051. Первый параметр - строка, второй - двойка, как и должно быть. Почему он продолжает утверждать, что тип параметра недопустим, мне не понятно. Оба параметра имеют правильный тип. Я не понимаю, почему он выдает ошибку, когда параметры верны. По профессии я разработчик программного обеспечения на заказ и собирался добавить приложения для MT к своим предложениям. Если платформа ненадежна, я не буду к ней прикасаться. Что-то, что не работает, только выставит меня в плохом свете и сорвет мой бизнес. Если у кого-то есть идеи, я буду очень признателен.
Большое спасибо,
Проф
У меня не возникает проблем с этим кодом:
string BuyEntrySignalGiven = Symbol() + "BuyEntrySignalGiven"; GlobalVariableSet(BuyEntrySignalGiven, (double) 1.0);Какую сборку вы используете? Как воспроизвести вашу проблему?
Двойного слепка изначально не было. Я добавил его из-за ошибки. Второй параметр должен быть двойным. Мой опыт - C++/C#, и я ожидал, что простого ввода аргумента в виде 1.0 будет достаточно. Я добавил приведение, потому что вызов не удался, и я не был уверен, что это какая-то идиосинкразия MQL4. Я уже видел, что MQL4 не всегда играет по ожидаемым правилам. Что касается присвоения строки, у меня есть другой индикатор, который я написал, который следует тому же формату и прекрасно работает. Я не вижу там ничего проблематичного. Symbol() возвращает строку, конкатенация выполняется со строкой, что вполне приемлемо, и переменная, которой присваивается выражение, также является строкой. Единственное, что я вижу, что может быть проблемой, это конкатенация символа пары со строкой, которая совпадает с именем GV. Это не должно иметь значения, потому что "готовая" строка не совпадает с именем GV. Возможно, проблема в этом. Если это так, почему бы просто не сказать об этом?
В любом случае, спасибо за ответ
Проф
Вообще-то MetaQuotes говорила, что в MQL4/5 не стоит ожидать стиля и правил кодирования C++/C#.
Кстати, вы не ответили на вопрос модератора.
Интересно, ребята. Я использую сборку 646. Не думаю, что проблема в этом. Кажется, я только что догадался. Это я устал и туплю. Имена GV задаются в методе, который я должен был вызвать из OnStart() и не вызвал. ДУХ! Отшлепайте этого тупого американца и скажите ему, чтобы он шел спать и выспался, прежде чем пытаться кодить дальше. Я не спал около 36 часов. Вы, ребята, определенно помогли мне, вдохновив меня отступить и взглянуть на то, что я делаю. Большое спасибо и спокойной ночи, доброго дня - в зависимости от того, где вы находитесь :-)
Проф
Если быть справедливым к MetaQuotes, то, что они делают, не является тривиальным. Я подозреваю, что самообучение всегда будет нормой. Честно говоря, это обычное дело для профессионального разработчика. Это в порядке вещей. Документация и взаимодействие с другими разработчиками - это, как правило, единственное "обучение", которое вы собираетесь получить. C'est la vie. :-)
Я все еще пытаюсь понять, как заставить работать новую отладку для MQL4. Я следовал тому, что, по моему мнению, должна была делать документация. Когда я попытался запустить отладчик, появилось окно H1 и диалог свойств индикатора, который я пытался отладить. Когда я выбрал ОК из диалога, отладчик закрылся, а окно исчезло. Ну что ж. Это тема для другой темы, я подозреваю.
Если быть справедливым к MetaQuotes, то, что они делают, не является тривиальным. Я подозреваю, что самообучение всегда будет нормой. Честно говоря, это обычное дело для профессионального разработчика. Это в порядке вещей. Документация и взаимодействие с другими разработчиками - это, как правило, единственное "обучение", которое вы собираетесь получить. C'est la vie. :-)
Я все еще пытаюсь понять, как заставить работать новую отладку для MQL4. Я следовал тому, что, по моему мнению, должна была делать документация. Когда я попытался запустить отладчик, появилось окно H1 и диалог свойств индикатора, который я пытался отладить. Когда я выбрал ОК из диалога, отладчик закрылся, а окно исчезло. Ну что ж. Это тема для другой темы, я подозреваю.
Это была долгоиграющая ошибка, которую можно было избежать, если выбрать другую панель диалога ввода, а не вводимые записи. Тогда следующий запуск был успешным. В версии 646 это, похоже, исправлено. К сожалению, на этом сайте не так много подобной информации. Обычно большинство проблем заканчиваются словами "сообщите в службу поддержки" без каких-либо дополнительных следов.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет, народ
У меня возникла проблема, из-за которой я скоро распрощаюсь с программированием на MT. Проблема заключается в попытке установить глобальные значения терминала. То, что я делаю, выглядит примерно так:
Набор продолжает выдавать мне ошибку 4051. Первый параметр - строка, второй - двойка, как и должно быть. Почему он продолжает утверждать, что тип параметра недопустим, мне не понятно. Оба параметра имеют правильный тип. Я не понимаю, почему он выдает ошибку, когда параметры верны. По профессии я разработчик программного обеспечения на заказ и собирался добавить приложения для MT к своим предложениям. Если платформа ненадежна, я не буду к ней прикасаться. Что-то, что не работает, только выставит меня в плохом свете и сорвет мой бизнес. Если у кого-то есть идеи, я буду очень признателен.
Большое спасибо,
Проф