Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 682
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я про Фому, он про Ерёму...
Вот как тут общаться в такой ситуации?
Я говорю о пагубной привычке бездумно инициализировать глобальные переменные в OnInit(), Вы же мне справку пхаете, которую я знаю.
При этом вы в безапелляционной форме навязываете свою пагубную привычку всем новичкам. Поколение ЕГЭ плодите? Клоны не думающих, но слепо движущихся за своим сенсеем?
"Бездумно инициализировать глобальные переменные" - это Ваши слова и Ваша выдумка. Если делать бездумно - то только один совет: "Деньги Ваши, творите что хотите".
Нет. Это ВАШИ слова. И ваше "научение" вопрошающему:
Так делать нельзя:
int TimeScale=50,TimeInMemory,TimeNow;
точнее после такого объявления обязательно в OnInit() нужно явно проинициализировать (присвоить значения) этим переменным.
Метод Sell также обложите проверками, вроде
" (",trade.ResultRetcodeDescription(),")");
А ещё может быть одна загвоздка - утром, при открытии торгов, торги идут не сразу, не с первой секунды - вот в этот момент возможны ошибки.
А потом он, следуя вашим, мягко говоря, бездумным советам, будет думать - от чего это он деньги свои потерял...
Это ВЫ говорите, что после объявления переменной без явной её инициализации, нужно обязательно в OnInit() явно её проинициализировать.
Результат такого бездумного действа вы могли видеть при запуске приложенного мною тестового советника - потеря значения переменной при смене таймфрейма.
ЗЫ. Имейте мужество признавать свои ошибки и недочёты.
ЗЗЫ. Так что мои слова о бездумности предлагаемой вами слепой обязательной инициализации в OnInit() - соответствуют моему утверждению, что вы предлагаете бездумно тупо инициализировать глобальные переменные в OnInit()
скажите в каком билде
ACCOUNT_FREEMARGIN
сменилось на
ACCOUNT_MARGIN_FREE
Пожалуйста, продолжайте жить в своём воображаемом мирке и искать того, чего нет.
У вас перед глазами проверочный советник. Так, как учите вы новичков инициализировать глобальные переменные, приводит к потере их значений при переключении таймфрейма. Об этом нужно знать, а не делать именно так, и бездумно. Если же инициализировать глобальную переменную НЕ так, как предлагаете вы, то при смене таймфрейма их значения не теряются - соответственно и нет нарушения логики в некоторых случаях, когда значение глобальной переменной не должно зависеть от смены таймфрейма.
Так что мир воображаемый - у вас. Это вы живёте в своём мирке, думая, что со всех сторон обложились проверками, инициализациями (бездумными), и всё у вас тип-топ.
Но проверочный советник доказывает что именно в вашем случае человек может потерять свои деньги. В моём же случае он может спокойно переключать таймфрейм графика, на котором у него работает советник.
Опыт приходит не от прочтения справки. Почаще думайте, прикидывайте различные ситуации.
ЗЫ. Нет чтобы "спасибо" сказать, мол, "не знал, учту, благодарю", вы начинаете детсад включать и обидки...
Не удивлюсь, если забаните - хочешь узнать человека - дай ему немного власти.
У вас перед глазами проверочный советник. Так, как учите вы новичков инициализировать глобальные переменные, приводит к потере их значений при переключении таймфрейма. Об этом нужно знать, а не делать именно так, и бездумно. Если же инициализировать глобальную переменную НЕ так, как предлагаете вы, то при смене таймфрейма их значения не теряются - соответственно и нет нарушения логики в некоторых случаях, когда значение глобальной переменной не должно зависеть от смены таймфрейма.
Так что мир воображаемый - у вас. Это вы живёте в своём мирке, думая, что со всех сторон обложились проверками, инициализациями (бездумными), и всё у вас тип-топ.
Но проверочный советник доказывает что именно в вашем случае человек может потерять свои деньги. В моём же случае он может спокойно переключать таймфрейм графика, на котором у него работает советник.
Опыт приходит не от прочтения справки. Почаще думайте, прикидывайте различные ситуации.
ЗЫ. Нет чтобы "спасибо" сказать, мол, "не знал, учту, благодарю", вы начинаете детсад включать и обидки...
Не удивлюсь, если забаните - хочешь узнать человека - дай ему немного власти.
Да плюнь, не расстраивайся. Чем больше такой ахинеи он напишет тем меньше на этом форуме задержится новичков и больше уйдёт опытных, а соответственно администрация задумается отчего-же это происходит.
Да и где написано что обязательно будет проблема если переменная останется не инициализирована? Везде пишут только о возможной ошибке, ТОЛЬКО о возможной... Это последствия еге, из первого поколения.
Да плюнь, не расстраивайся. Чем больше такой ахинеи он напишет тем меньше на этом форуме задержится новичков и больше уйдёт опытных, а соответственно администрация задумается отчего-же это происходит.
Да и где написано что обязательно будет проблема если переменная останется не инициализирована? Везде пишут только о возможной ошибке, ТОЛЬКО о возможной... Это последствия еге, из первого поколения.
Да я не расстраиваюсь - я сообщил о неверных утверждениях. Чтобы человек, введённый в заблуждение, понимал, что он введён в заблуждение, и что не нужно тупо заниматься копи-пастом чьих-то выводов, а сам думал, и понимал что произойдёт в том, или ином случае. Случай даже показал простеньким проверочным советником. Так что, я наоборот спокоен: предупреждён - значит вооружен.
А вот инициализировать переменные, ИМХО, всё же нужно, не особенно полагаясь на умолчательные значения неявной инициализации, но думая и понимая где, как, и каким значением, а не так, как "сказал на форуме МОДЕРАТОР - значит истина в последней инстанции"... Модератор - не разработчик.
Да я не расстраиваюсь - я сообщил о неверных утверждениях. Чтобы человек, введённый в заблуждение, понимал, что он введён в заблуждение, и что не нужно тупо заниматься копи-пастом чьих-то выводов, а сам думал, и понимал что произойдёт в том, или ином случае. Случай даже показал простеньким проверочным советником. Так что, я наоборот спокоен: предупреждён - значит вооружен.
А вот инициализировать переменные, ИМХО, всё же нужно, не особенно полагаясь на умолчательные значения неявной инициализации, но думая и понимая где, как, и каким значением, а не так, как "сказал на форуме МОДЕРАТОР - значит истина в последней инстанции"... Модератор - не разработчик.
Кстати, поднятый тобой вопрос -- полезно выделить вообще в отдельную ветку -- если Ренат создаёт форум ФАК, а Карпутов тусует/дробит/объединяет ветки по каким-то своим критериям.
О том, как происходит инициализация глобальных переменных реально не все знают -- даже "главный подсказчик" Карпутов и то "плавает".
А последний раз ещё на 4-ке, помню, что поднималась эта тема в далёком 2011 году.
p.s. Создал бы ты сам эту ветку, Артём -- название придумай говорящее -- там у тебя тестовая программа есть -- пусть в поисковике вопрос находится.
Кстати, поднятый тобой вопрос -- полезно выделить вообще в отдельную ветку -- если Ренат создаёт форум ФАК, а Карпутов тусует/дробит/объединяет ветки по каким-то своим критериям.
О том, как происходит инициализация глобальных переменных реально не все знают -- даже "главный подсказчик" Карпутов и то "плавает".
А последний раз ещё на 4-ке, помню, что поднималась эта тема в далёком 2011 году.
p.s. Создал бы ты сам эту ветку, Артём -- название придумай говорящее -- там у тебя тестовая программа есть -- пусть в поисковике вопрос находится.