Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вы не поняли вопрос: у Вас переменная price инициализируется только в случае истинности условия и зона ее видимости - это условие if(). Все остальное находится ВНЕ if() и переменная price хоть и описана ВНУТРИ if(), но используется ВНЕ if(). Я и спрашиваю - это так задумано ? Или ошибка в реализации ?
Успехов
В данном случае это не столько задумывалось так, сколько был поиск варианта при котором в данной функции выполняются все команды. Как я писал, не выставлялся SL, но в этом случае все прекрасно работает. Это тоже самое, что расчет profit или loss.
Перенесите часть кода, которая отвечает за удаление в отдельную ф-цию.
И вызывайте её, если условие total < 1 не выполняется. Например так:
if (total < 1) CheckForOpen();
else CheckForDelete();
Следуя вашему совету, перенес удаление в отдельную функцию, все заработало. Спасибо за совет. Если кому интересно, привожу код.
Это тоже самое, что расчет profit или loss.
У Вас переменные profit и loss расчитываются в любом случае. Переменная же price только в том случае, если выполняется условие под оператром if(). Мало того, так переменная price описана ВНУТРИ условного оператора if(), а используется ВНЕ. И ордер выставляется вне условного оператора if(). Это так задумано ? Мне кажется, что это ошибка, но я могу и ошибаться ....
Успехов.
У Вас переменные profit и loss расчитываются в любом случае. Переменная же price только в том случае, если выполняется условие под оператром if(). Мало того, так переменная price описана ВНУТРИ условного оператора if(), а используется ВНЕ. И ордер выставляется вне условного оператора if(). Это так задумано ? Мне кажется, что это ошибка, но я могу и ошибаться ....
Успехов.
Ну в принципе, это ошибка, которая особенно не влияет.
Функция понятна, но как правильно прописать условие, чтобы работало.
У меня с памятью проблемы и я постоянно сталкиваюсь с такими проблемами - то получается все, то забыл; штука не особенная?! Залез посмотреть что к чему. Иногда принцип машины надо вспомнить как она воспроизводит то или иное действие; в программировании это порой важно - думать как думает машина; так же можно ее и обманывать иногда, к примеру: умножить на единицу; она будет думать что произвела какие-то действия, а результат будет таким какой нужен Вам. Я иногда делаю все быстро(когда надо мне), поменял логику местами и залез посмотреть(поискать, что думают люди по этому поводу), посмотрел в терминале результат и смотреть здесь что-либо уже отпало. Я поменял местами открытие ордеров и удаление отложек. Удаление поставил на первое место, открытие на второе. И у удаление убрал цикл - по ходу он там не к чему. Но в ордер селект встал отбиваться от тикета вместо i - ордер тикет и бью-тикет и моде трайдес. И все заработало пока.