Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 676
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Artyom Trishkin:
Похоже - переработал я...
Похоже на то... ))))))
Когда создаёшь советник в соответствии с инструкциями справки и учебников всяческих, то создаётся именно тот шаблон о котором идёт речь. Я понял именно так. Потом некоторые места в этом шаблоне правят. Лично мне не нравится, что OnDeinit() стоит перед OnTick() и я переношу его в самый конец кода. Ну и ещё мне не нравятся некоторые несущественные .... в общем у меня свои тараканы в башке...
это и ежу понятно, мне тоже интересно про сам шаблон
лет 5 назад точно был шаблон в папке метаэдитора, раньше правил под себя, сейчас все перерыл в папке терминала - не нашел, но он должен где то быть, был обычный текстовый файл
ЗЫ:
нашел у себя старые терминалы не в дистрибутивах - уже развернутые
были раньше шаблоны экспертов/индикаторов/скриптов/библиотек, все лежало по пути:
....\experts\templates
и там находились файлы:
Include.mqt
Library.mqt
Expert.mqt
Indicator.mqt
Script.mqt
Попробовал скопировать папку templates в папку установленного МТ4...увы никак (((
лет 5 назад точно был шаблон в папке метаэдитора, раньше правил под себя, сейчас все перерыл в папке терминала - не нашел, но он должен где то быть, был обычный текстовый файл
ЗЫ:
нашел у себя старые терминалы не в дистрибутивах - уже развернутые
были раньше шаблоны экспертов/индикаторов/скриптов/библиотек, все лежало по пути:
....\experts\templates
и там находились файлы:
Include.mqt
Library.mqt
Expert.mqt
Indicator.mqt
Script.mqt
Попробовал скопировать папку templates в папку установленного МТ4...увы никак (((
Давно уже МК отказались от таких шаблонов.
лет 5 назад точно был шаблон в папке метаэдитора, раньше правил под себя, сейчас все перерыл в папке терминала - не нашел, но он должен где то быть, был обычный текстовый файл
ЗЫ:
нашел у себя старые терминалы не в дистрибутивах - уже развернутые
были раньше шаблоны экспертов/индикаторов/скриптов/библиотек, все лежало по пути:
....\experts\templates
и там находились файлы:
Include.mqt
Library.mqt
Expert.mqt
Indicator.mqt
Script.mqt
Попробовал скопировать папку templates в папку установленного МТ4...увы никак (((
Опять "увы никак" - даже в рамках МТ4!
Полное непонимание происходящего!
Игорь!
Тебе надо "перепрошиться" !
А то ведь, нехорошо получается! На Форуме разное про тебя говорят!!!
Не важно, что о тебе говорят, главное, что о тебе говорят. (С)
Когда цитируешь мысли умных людей (в отличие о тебя самого)- следует делать ссылку!!!
По правилам публикаций так положено. Чтобы дураков от умных отличить.
https://socratify.net/quotes/iuristy-bostona/171580
Хотя Муссолини говорил тоже самое.
Когда цитируешь мысли умных людей (в отличие о тебя самого)- следует делать ссылку!!!
По правилам публикаций так положено. Чтобы дураков от умных отличить.
мы уже на ты? ОК
Не тот форум ты выбрал свою желчь выплескивать, как и ты просил: "Смешно наблюдать за человеком, который хочет тебя обидеть. Как обезьяна, которая кидается какашками. Ты за стеклом, а у неё все лапы в ***" (интернет)
SELECT_BY_POS это выбор ордера "по очередности" в списке ордеров, и в Вашей конструкции:
Вы пытаетесь выбрать ордер который по очереди ордеров № ... а Вы тут № тикета используете, а у Вас всего 1 ордер, а тикет № 10023444... и что ? тут Вам нужно число от 1 до 2,3.. ну сколько ордеров в рынке у Вас ,.. подправил число от 0,1,2... - нумерация как в массиве с 0 начинается и до OrdersTotal()-1
SELECT_BY_TICKET должно работать, но до момента когда № тикета у Вас существует, т.е. ордер у Вас рыночный, и выше у Вас проверка на отправку ордера, а если ордер не отправлен то тикет то будет = -1 !!!, вот Вы наверное и пытаетесь иногда ордер с тикетом -1 выбрать
ну и в целом, не правильная у Вас конструкция по работе с ордерами, если решили MQL изучать, то вот уже готовые примеры для работы с ордерами https://www.mql5.com/ru/forum/131859
Спасибо за помощь! Дело в том, что ордер открылся. Я проверял. Присвоен тикет. Но далее при попытке выбрать его я получил сообщение -1. В отличие от приведенного Вами примера я не выбираю символ и т.д. У меня 1 ордер, с известной лотностью, операцией, без Stop Loss/Take Profit и т.д. Именно в такой конструкции (она выбрана для простоты) при использовании параметра SELECT_BY_TICKET я получаю ошибку 4051. Я понимаю, что использовать SELECT_BY_POS не правильно в данном случае. Это был эксперимент для лучшего понимания работы тестера стратегий. Этот эксперимент показал, что тестер стратегий присваивает не тикеты, выделяемые сервером, при не возможности связаться с сервером, а просто порядковые номера. И тем не менее остается вопрос почему возникает ошибка 4051. Кроме того я пробовал в сочетании с SELECT_BY_POS первым параметром ставить 0 в OrderSelect. Ответ тот же 4051.
если не ошибаюсь, то тестер стратегий генерирует тикеты просто по очереди выставления ордеров: 1,2,3...
увы, Вам самостоятельно нужно искать ошибку 4051, распринтуйте все переменные которые в OrderSelect передаете
как вариант, Вы выбираете уже закрытый ордер, у закрытого ордера время закрытия будет >0,
но все равно я бы посоветовал начать изучение с уже готовых (работающих) кодов, мне так было проще
Спасибо за помощь! Дело в том, что ордер открылся. Я проверял. Присвоен тикет. Но далее при попытке выбрать его я получил сообщение -1. В отличие от приведенного Вами примера я не выбираю символ и т.д. У меня 1 ордер, с известной лотностью, операцией, без Stop Loss/Take Profit и т.д. Именно в такой конструкции (она выбрана для простоты) при использовании параметра SELECT_BY_TICKET я получаю ошибку 4051. Я понимаю, что использовать SELECT_BY_POS не правильно в данном случае. Это был эксперимент для лучшего понимания работы тестера стратегий. Этот эксперимент показал, что тестер стратегий присваивает не тикеты, выделяемые сервером, при не возможности связаться с сервером, а просто порядковые номера. И тем не менее остается вопрос почему возникает ошибка 4051. Кроме того я пробовал в сочетании с SELECT_BY_POS первым параметром ставить 0 в OrderSelect. Ответ тот же 4051.
У вас в коде проблема