Возникла такая проблема
когда закрывается первый ордер нужно открыть второй, я написал как думал, но работает не правильно
1. На самом деле у вас magicNumber1 не уникален. Он может повторяться. И уже может быть в истории закрытый ордер с таким магиком.
2.У вас логика в функции close() : если в истории есть ордер ИЛИ с нужным магиком ИЛИ с нужным символом. Может вы месяц назад совершили сделку по этому символу и тогда у вас всегда флаг будет true.
Алгоритм проверки, что сразу после закрытия первого ордера, надо отрыть второй, по-другому реализовывается.
1. На самом деле у вас magicNumber1 не уникален. Он может повторяться. И уже может быть в истории закрытый ордер с таким магиком.
2.У вас логика в функции close() : если в истории есть ордер ИЛИ с нужным магиком ИЛИ с нужным символом. Может вы месяц назад совершили сделку по этому символу и тогда у вас всегда флаг будет true.
Алгоритм проверки, что сразу после закрытия первого ордера, надо отрыть второй, по-другому реализовывается.
"1. На самом деле у вас magicNumber1 не уникален. Он может повторяться. И уже может быть в истории закрытый ордер с таким магиком. " - Как сделать что бы был уникален ?
"2.У вас логика в функции close() : если в истории есть ордер ИЛИ с нужным магиком ИЛИ с нужным символом. Может вы месяц назад совершили сделку по этому символу и тогда у вас всегда флаг будет true. " - Это да, ошибка, спасибо, я не увидел
Как сделать что бы был уникален ?
magicNumber1 = sum + (rand()%10000 + 1000); magicNumber2 = magicNumber1 + 1; ticket1 = OrderSend(Symbol(), OP_BUY, 1, Ask, 3, Bid - 500*Point, Ask + 500*Point, "Buy", magicNumber1, 0, Red);
Зачем нужен этот случайный магик, если следом получаем тикет? И тикет и магик потеряется при перезапуске, так что можно тикетом пользоваться вместо магика.
Ко времени привязать, оно уникально, так как записывается как "локальное компьютерное время в виде количества секунд, прошедших после 00:00 1 января 1970 года".
Зачем нужен этот случайный магик, если следом получаем тикет? И тикет и магик потеряется при перезапуске, так что можно тикетом пользоваться вместо магика.
а как сделать, что бы можно было распознать ордер при перезапуске ?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Возникла такая проблема
когда закрывается первый ордер нужно открыть второй, я написал как думал, но работает не правильно