[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 334
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Борис, если закоментировать одно из условий в функции int GetGeneralSignal(), открытие чёткое.
Я отследил. Флаг не изменяет своё значение, когда профитность текущих открытых ордеров в минусе. Вот переписанная функция, которая должно перевести значение флагов short и long в false т.е. запрет на открытие позиции если есть минусовые ордера:
Вызывающая функция вот:
Может условия для бая более подходящие? Правда, сегодня у меня только селлы открываются ввиду понижения евро очень слабого, но всё-таки что-то лучше, чем ничего!
Нет. Там же в функции int GetGeneralSignal() прописан сигнал, который работает чётко. Сигнал примитивный, я его взял просто для теста. Если РСИ пересёк верхнюю границу - бай, а если нижнюю - селл. Сам я индюками не пользуюсь, а это чисто для эксперимента я проверить решил.
Так вот. Без флагов, всё работает идеально. А с флагами не так. Ведь когда в функции int FindOrders(bool& long, bool& short) находится ордер заданного типа, и его профит ниже нуля, судя по моей функции, по ссылке в функцию GetGeneralSignal() должно передаться для канкретного из флагов значение false, а по факту значение флагов постоянно в true :
Я это вижу в принте, но почему не изменяется флаг не понятно.
Кстати, я вывел на принт профитность ордеров:
А в принте значение флагов, вот что показывается:
Т.е. ясно видно, что когда профитность меньше нуля, то должен соответствующий флаг переводится с false , но этого не происходит... Вроде всё элементарно, но что-то не идёт.
Нет. Там же в функции int GetGeneralSignal() прописан сигнал, который работает чётко. Сигнал примитивный, я его взял просто для теста. Если РСИ пересёк верхнюю границу - бай, а если нижнюю - селл. Сам я индюками не пользуюсь, а это чисто для эксперимента я проверить решил.
Так вот. Без флагов, всё работает идеально. А с флагами не так. Ведь когда в функции int FindOrders(bool& long, bool& short) находится ордер заданного типа, и его профит ниже нуля, судя по моей функции, по ссылке в функцию GetGeneralSignal() должно передаться для канкретного из флагов значение false, а по факту значение флагов постоянно в true :
Я это вижу в принте, но почему не изменяется флаг не понятно.
Я это вижу в принте, но почему не изменяется флаг не понятно.Исправил описку.
Вот скрин:
Видно, на графике коменты, что баи с минусом, а флаг = ТРУ всё-равно.
Мне тебе жалко стало! Сейчас тебе напишу, как будет работать и без циклов, которые тормозятся функциями! Вот твой код, но во что его переделаю!
Эта схема без заморочек и работает моментально! Откажись от лишних функций! Функцию ExistPositions() найдёшь в Полезных функциях Уважаемого Кима!Мне тебе жалко стало! Сейчас тебе напишу, как будет работать и без циклов, которые тормозятся функциями! Вот твой код, но во что его переделаю!
Эта схема без заморочек и работает моментально! Откажись от лишних функций! Функцию ExistPositions() найдёшь в Полезных функциях Уважаемого Кима!Борис, в функции ExistPositions тот же цикл, только там больше проверок лишних, так что тормознутости не будет по ходу. Ваша логика мне понятна, только вот причина нерабочести прошлого варианта осталась не раскрыта, что есть странно :)
У вас же тоже используются данные флаги:
А я демонстрировал, что они не верно возвращаются.
Ну так опять же, если в данной функции будут присуствовать переменные profitL и profitS то флаги не нужны.
Вот так вышло:
Опять же открывается не по сигналу, а абы-как.
изменил на
ток теперь при увеличении профита closelevel не модифицируется...
всё уже разобрался.
Борис, в функции ExistPositions тот же цикл, только там больше проверок лишних, так что тормознутости не будет по ходу. Ваша логика мне понятна, только вот причина нерабочести прошлого варианта осталась не раскрыта, что есть странно :)
У вас же тоже используются данные флаги:
А я демонстрировал, что они не верно возвращаются.
Ну так опять же, если в данной функции будут присуствовать переменные profitL и profitS то флаги не нужны.
Вот так вышло:
Опять же открывается не по сигналу, а абы-как.