Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 282
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
amavladi:
Дело не тейке,я хочу разобраться в механнике работы циклов,чтобы в последствии написать сложный советник. Оператор "return" меня выкидывает на новый "start" , а это не всегда нужно.
В любом случае спасибо за ответ .
Да не за что. Суть в том, что если Вы хотите разобраться в "механике" с помощью "третьих лиц", то для этого необходимо сформулировать проблему этим самым "лицам", т.е. расписать, чего Вы хотели бы получить от алгоритма, а не то, что Вы получили.
"Цикл зацикливается" - это не проблема, поскольку если в цикле нет ничего кроме оператора continue, то он обязан будет зациклиться, пока условие зацикливания не станет ложным.
Т.е. не следует задавать глупые вопросы в духе: "чего не работает в нерабочем коде". Ведь даже пьяному ёжику понятно, что нерабочий код неработает, потому что он нерабочий. Но никому, не обладающему телепатическими способностями, кроме автора кода, непонятно, что должно было работать в рабочем коде.
HELP!
Если найдется добрая душа на форуме,подскажите мои ошибки . Начал осваивать MQL4 ,написал простеиший советник ,который открывает ордер ,а потом его закрывает по небольшому takeprofit .Попытался проверить его на тестере стратегий и обнаружил ,что мои операторы циклов for и while зацикливаются,если написаны так:
//--------------------------------------------------------------------
while (Ask<=Level)
{ RefreshRates();
continue;
}
Ну здесь все вроде просто.
Тестер стратегий генерирует тик, вызывает start() и ждет завершения этой функции чтобы сгенерировать следующий тик.
Поэтому, если хотите чтобы Ваш робот не зависал в тестере, уйдите от такой конструкции. В Вашем случае цена Ask меняться не будет, пока не будет выполнен выход из start().
А получив команду return функция start завершает работу, тем самым дает тестеру понять что нужно сгенерировать следующий тик.
Более того, не в тестере стратегий, а в реальном режиме, Ваш код будет работать как Вы и предполагаете, поскольку RefreshRates будет обновлять цену Ask.
Ваш код вполне рабочий, но для тестера стратегий - входит в бесконечный цикл.
Использование return тут поможет. Когда наберетесь побольше опыта вы сами уйдете от подобных конструкций. Удачи Вам.
Т.е. не следует задавать глупые вопросы в духе: "чего не работает в нерабочем коде". Ведь даже пьяному ёжику понятно, что нерабочий код неработает, потому что он нерабочий. Но никому, не обладающему телепатическими способностями, кроме автора кода, непонятно, что должно было работать в рабочем коде.
Да не за что. Суть в том, что если Вы хотите разобраться в "механике" с помощью "третьих лиц", то для этого необходимо сформулировать проблему этим самым "лицам", т.е. расписать, чего Вы хотели бы получить от алгоритма, а не то, что Вы получили.
"Цикл зацикливается" - это не проблема, поскольку если в цикле нет ничего кроме оператора continue, то он обязан будет зациклиться, пока условие зацикливания не станет ложным.
Т.е. не следует задавать глупые вопросы в духе: "чего не работает в нерабочем коде". Ведь даже пьяному ёжику понятно, что нерабочий код неработает, потому что он нерабочий. Но никому, не обладающему телепатическими способностями, кроме автора кода, непонятно, что должно было работать в рабочем коде.
Вот не люблю я когда на новичков выливают кучу грязи.
Свинья везде грязь найдет © Народная поговорка
Где вы нашли грязь? Если нашли, то обратитесь к модератору.
А метафора о пьяном ёжике разве вносит хоть какой-то позитив в решение проблемы?
Обратитесь к администрации, чтобы добавили в правила запрет на метафоры и ёжиков.
Свинья везде грязь найдет © Народная поговорка
Где вы нашли грязь? Если нашли, то обратитесь к модератору.
Обратитесь к администрации, чтобы добавили в правила запрет на метафоры и ёжиков.
А зачем модераторы и админы... тут дело в воспитанности, профессиональной этике, такте, толерантности, гуманности в конце концов... тут админы не помогут.
А если вы не до конца понимаете суть проблемы, то лучше ничего не советуйте... Иногда лучше жевать... Хотя выпендриться за счет других - ваше право...
тут дело в воспитанности, профессиональной этике, такте, толерантности, гуманности в конце концов...
Угу. Детский сад и институт благородных девиц в одном флаконе.
Дык может быть забьём с переходом на личности и продолжим отвечать на вопросы новичков? А то какая-то флудерастия от сторонников гуманитарных подходов в сугубо техническом топике получается.
P.S. Для "третих лиц"любителей выражений:пьяный ежик,дык забьем,флудерастия и т.п. (хотя мы и в сугубо техническом топике) позволю себе дать небольшую ссылку на Федора Михайловича Достоевского,который в романе "Идиот" через князя Мышкина сообщает очень странную вещь:"Красота спасет мир!",над чем ,окружающие его "третьи лица" ,язвительно насмехаются.Благодарю вас еще раз за то,что напомнили мне о нашем великом классике. А ,вас Евгений, прошу передать привет Молдавии,хотя я давно уже живу в другой стране,но родился я в Кишиневе.
Да нет никаких телепатических-то ))) я думаю все на такие грабли наступали, кто хотел "поймать" цену, скажем для трала... в том числе и я лет 6 назад.
К слову, топик для новичков и он не "сугубо технический".
Привет передам.
Удачи.
Да нет никаких телепатических-то ))) я думаю все на такие грабли наступали, кто хотел "поймать" цену, скажем для трала... в том числе и я лет 6 назад.
К слову, топик для новичков и он не "сугубо технический".
Привет передам.
Удачи.
Насчет телепатии и "сугубо технический"-это я для господина Reshetov : )))
Удачи и вам.