[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 271
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Понимаю, что там. Но не понятно почему реализовано именно так..
Каждая отдельная функция библиотеки - это часть целого, а отдельная библиотека - это часть всего комплекса моих библиотек - без этого осознания понять код не возможно.
В исходном виде всё-равно не получится пользоваться Вашими библиотеками, т.е. у Вас там всё повязано. Каждая функция на пачке других..
И здесь Вы не правы. Вы когда-нибудь задумывались о структуре "среднестатистического" советника? Индивидуальность советнику придают условия стратегии (т.е. условия входа\выхода), а всё остальное это стандартный код. Как я создаю советники, в том числе и по заказам: беру шаблон (может служить, например, SAR, если нужен сетевой советник) и подсоединяю к нему дополнительную библиотеку, в которой прописаны условия новой стратегии (её я создаю заново).
Я, ни в коем случае, не хотел проверять.. Даже более того, сомнений нет, что написано всё очень грамотно. Просто я не совсем всё понимаю, поэтому и сказал, что я думаю, не совсем так.. Смотрю, думаю.. НО не всё понимаю. Вот и спросил.
P.S. С bs_Symbol я так и не понял.
Друзья! Нужна помощь в доработке советника.
Имеется программный код, который при определённом условии if открывает ордер. Исполнение условия может происходить каждый тик, так как помещён в теле int start().
Нужно:
1. После выполнения условия (и открытия ордера) сделать паузу на открытие новых ордеров, пауза n баров. Например если советник стоит на таймфрейме М30 и мне нужно пропустить 3 часа, то пауза должна быть 6 баров.
2. Программа должна работать в тестере стратегий.
Какой нужен код. И куда будет правильнее его вставить.
Вам в помощь функция iBarShift(). Сначала нужно узнать время открытия последнего ордера и передать в эту функцию, а затем отслеживать возвращаемое этой функцией значение, сравнивая с каким-то числом (в Вашем случае с 6).
Давайте разбираться вместе )
Передаём функции время открытия последнего ордера, и получаем возвращаемое число. Это примерно:
Окей получили номер бара. А как теперь сделать паузу для открытия ордеров на 6 баров?
Давайте разбираться вместе )
Передаём функции время открытия последнего ордера, и получаем возвращаемое число это примерно:
Окей получили номер бара. А как теперь сделать паузу для открытия ордеров на 6 баров?
Вот это неграмотный подход:
Но, так как к данному делу напрямую не относится, просто не акцентируем внимание. А схема выглядит так:
Явных ошибок в логике не видно. Принтуйте код пошагово. Процедура торговли завязана на значение переменной ticket. В первую очередь отследите её изменения. А также обратите внимание на значение глобальной переменной терминала "TRADECONTEXT" - её значение должно быть равно 0.
Спасибо! Вот только я ваще ни чего не понял(((, как слепой котенок я в этих кодах(((...
Спасибо! Вот только я ваще ни чего не понял(((, как слепой котенок я в этих кодах(((...
Каждая отдельная функция библиотеки - это часть целого, а отдельная библиотека - это часть всего комплекса моих библиотек - без этого осознания понять код не возможно.
Я и пытаюсь осознать, и, попутно натыкаюсь на разные нюансы. Вот поэтому и спрашиваю Вас, т.к. Вам виднее. Вы же автор...
И здесь Вы не правы. Вы когда-нибудь задумывались о структуре "среднестатистического" советника? Индивидуальность советнику придают условия стратегии (т.е. условия входа\выхода), а всё остальное это стандартный код. Как я создаю советники, в том числе и по заказам: беру шаблон (может служить, например, SAR, если нужен сетевой советник) и подсоединяю к нему дополнительную библиотеку, в которой прописаны условия новой стратегии (её я создаю заново).
Это я понимаю. Просто целиком копировать Ваши библиотеки не хочу. Сами понимаете удобнее создать фундамент, с которым будет удобно работать себе лично.
Чтобы осознать реализацию, нужно понять исходные данные. Библиотеки создавались с возможностью работы с любым инструментом (Форекс) и, как в моно, так и в мультивалютном режиме, отсюда и введена глобальная переменная bs_Symbol, которая содержит значение текущего инструмента.
И где эта переменная задана явно, если не секрет? :) Я в библиотеке b-PSI@Base.mqh вижу что она только лишь объявлена:
bs_Symbol, // текущий инструмент
Но дальше ничего нет по сути. Да и вообще, значение текущего инструмента вообще по дефолту возвращается через Symbol(). Тогда зачем тут переменная?
Вот это неграмотный подход:
Но, так как к данному делу напрямую не относится, просто не акцентируем внимание. А схема выглядит так:
:) Вот только если его внедрить в советник в том виде что сейчас, то всё начинает работать не корректно.
Как я понимаю из-за этой записи:
Что не так?
Теперь наш код работает. В моём исполнении получилось так:
:) Вот только если его внедрить в советник в том виде что сейчас, то всё начинает работать не корректно.
Как я понимаю из-за этой записи:
Что не так?
Я нарисовал только схему, а Ваша задача была продумать дальнейшую логику: