Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1104
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет!
Подскажите, пожалуйста, почему не открываются ордера?
Иниту - инитово, торговле - тоговое. Есть ОнТик для советников, нечего в инит всё подряд пихать...
И для инита есть специально придуманные разработчиками коды завершения работы, почему не пользуемся?
Иниту - инитово, торговле - тоговое. Есть ОнТик для советников, нечего в инит всё подряд пихать...
И для инита есть специально придуманные разработчиками коды завершения работы, почему не пользуемся?
Не пользуемся, должно быть, потому, что не знаем про коды завершения работы инита. Примеры в учебнике отличаются от формы в редакторе. Функция int start(), например, там отсутствует. Когда я запихал в инит пример простого советника из учебника, то он, почему-то, работал. А что бы не писал я - ничего не получалось. Вот я и решил, спустя две недели опытов, обратиться к специалистам. Спасибо за совет!
Закинул все это в ОнТик, но ничего не изменилось.
Не пользуемся, должно быть, потому, что не знаем про коды завершения работы инита. Примеры в учебнике отличаются от формы в редакторе. Функция int start(), например, там отсутствует. Когда я запихал в инит пример простого советника из учебника, то он, почему-то, работал. А что бы не писал я - ничего не получалось. Вот я и решил, спустя две недели опытов, обратиться к специалистам. Спасибо за совет!
Закинул все это в ОнТик, но ничего не изменилось.
Забудьте учебник, он по старому синтаксису написан, с тех пор многое изменилось. Справка из поставки терминала - наиболее актуальна, да и кодобаза, если поискать, тоже источник примеров на новой версии MQL.
А насчёт не писать весь код в ините, так это было и раньше, поискать по форуму, так сотни постов наберётся на всех языках этого форума, просто каждый раз находится новый писатель, который не читатель ;)
Забудьте учебник, он по старому синтаксису написан, с тех пор многое изменилось. Справка из поставки терминала - наиболее актуальна, да и кодобаза, если поискать, тоже источник примеров на новой версии MQL.
А насчёт не писать весь код в ините, так это было и раньше, поискать по форуму, так сотни постов наберётся на всех языках этого форума, просто каждый раз находится новый писатель, который не читатель ;)
Спасибо!
Старые учебники, при потере актуальности, нужно сразу же скуривать))
Спасибо!
Старые учебники, при потере актуальности, нужно сразу же скуривать))
И не надо ВСЁ в ОнТик кидать, только то, что относится к торговле, часть кода, которая срабатывает только при запуске нужно оставить в ОнИнит (понятно, что названия функций латиницей надо писать, просто лень раскладку менять на форуме каждый раз).
Насчёт самого кода, есть вопросы по циклу, странный он какой-то, по-моему там фигурных скобок не хватает...
Да, и ещё расчёт уровней профита и убытка, неправильно они прописаны. Серверу надо передавать цену, желательно нормализованную, а не значение в пипсах.
И не надо ВСЁ в ОнТик кидать, только то, что относится к торговле, часть кода, которая срабатывает только при запуске нужно оставить в ОнИнит (понятно, что названия функций латиницей надо писать, просто лень раскладку менять на форуме каждый раз).
Насчёт самого кода, есть вопросы по циклу, странный он какой-то, по-моему там фигурных скобок не хватает...
Да, и ещё расчёт уровней профита и убытка, неправильно они прописаны. Серверу надо передавать цену, желательно нормализованную, а не значение в пипсах.
Все понял, спс. Скобки проверю - ошибок редактор не выдавал.
Почему же пример из книги работал..? Я сносил все функции и вставлял только код примера, начиная с инт старт. Ошибок не было, сделки открывались.
Все понял, спс. Скобки проверю - ошибок редактор не выдавал.
Почему же пример из книги работал..? Я сносил все функции и вставлял только код примера, начиная с инт старт. Ошибок не было, сделки открывались.
Ну так то, что работало не надо было торгать )))
А инт старт по-старому и есть ОнТик по-новому для советников, вот и надо было перенести всё из старт в ОнТик. Вернее в вашем случае, из ОнИнит в ОнТик.
Компилятор отслеживает ошибки синтаксиса, логику не проверит никто, кроме человека. В особых случаях даже автор кода может запутаться :)
Ну так то, что работало не надо было торгать )))
А инт старт по-старому и есть ОнТик по-новому для советников, вот и надо было перенести всё из старт в ОнТик. Вернее в вашем случае, из ОнИнит в ОнТик.
Компилятор отслеживает ошибки синтаксиса, логику не проверит никто, кроме человека. В особых случаях даже автор кода может запутаться :)
//+------------------------------------------------------------------+
"Ну так то, что работало не надо было торгать )))" Ну, дык, жыш, хочется самому что-нибудь накорябать )))
Пациент не пришел в себя после манипуляций
"Ну так то, что работало не надо было торгать )))" Ну, дык, жыш, хочется самому что-нибудь накорябать )))
Пациент не пришел в себя после манипуляций
Ну так логика и математика хромает, понятно, что не будет так работать.
Вот, например, зачем в этом советнике цикл? То есть зачем, понятно, нужно посчитать, сколько ордеров по данному символу и магику уже есть, так? Но что мы видим тут, цикл-то ничего е считает, да и посчитать не может, так как "счётчик" ему не вкрутили )))
OrderSelect() возвращает булево значение, истина или ложь, что никак не подходит для переменной pos. Да и цикл лучше считать от самого старого ордера, то есть в обратном порядке, чтобы не пропускать ордера.
Тут явно пригодилась бы переменная Total в качестве счётчика:
Убрал лишнее, добавил вывод ошибки после OrderSend, для тестера на не-ECN счетах уже ордера открывает:
А, да, ещё расчёт уровня СЛ для продаж был неправильный, внимательней нужно быть.
Ну так логика и математика хромает, понятно, что не будет так работать.
Вот, например, зачем в этом советнике цикл? То есть зачем, понятно, нужно посчитать, сколько ордеров по данному символу и магику уже есть, так? Но что мы видим тут, цикл-то ничего е считает, да и посчитать не может, так как "счётчик" ему не вкрутили )))
OrderSelect() возвращает булево значение, истина или ложь, что никак не подходит для переменной pos. Да и цикл лучше считать от самого старого ордера, то есть в обратном порядке, чтобы не пропускать ордера.
Тут явно пригодилась бы переменная Total в качестве счётчика:
Убрал лишнее, добавил вывод ошибки после OrderSend, для тестера на не-ECN счетах уже ордера открывает:
А, да, ещё расчёт уровня СЛ для продаж был неправильный, внимательней нужно быть.
Ого!!! Спасибо! Это требует осмысления.
Может где-нибудь есть "самоучитель" по новым правилам? 4-х значный номер страницы немного напрягает...