Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
На днях у меня возник вопрос, которому я раньше особо не придавал значения. Думаю, не только я задавался этим вопросом. Не хочется лепить костыль. Поэтому решил обсудить этот аспект.
В какой-то момент времени появляется торговый сигнал. Я посылаю торговый приказ на исполнение, скажем так, позиции лотом в 10$. Сервер вернул код TRADE_RETCODE_DONE. Я так понимаю, может быть такое, что позиция открылась не полным лотом и исполнилась лишь размером в 4$. Есс-но мне нужно доливать ещё 6$ для реализации последнего торгового сигнала. В тот же момент, функция торгового сигнала, будет генерировать (если торгуем по тикового то на следующем тике) такой же сигнал. И здесь возникает 2 вопроса:
1-ый. Как не разрешить посылать новый торговый сигнал, который уже отработан полностью или частично?
2-ой: Как долить позицию не заполненным лотом? (6$)
Я изначально решил реализовать это заполнением структуры ценой и временем сигнального бара. Но этот вариант не очень мне понравился т.к., по ходу, он не практичен. Если работать с обычной базой данных, то это нормально, а здесь нужно учитывать факт работы с сервером. Нужно дождаться ответа и получить код ответа. Если в какой-то момент код ответа не пришёл в нужном месте, то дальше уже если данные и получить, то это будет костыль.
Я придумал другой вариант. Как я понимаю, комментарий позиции здесь подойдёт. Записать эти данные в комментарий и потом перед получением торгового сигнала пробежаться по истории (вопрос только сколько перебирать позиции.. если бот торгует сразу на пачке торговых инструментов и ещё сеткой. У меня не сеточник, но почему-бы и нет, если это будет актуально) и просчитать сколько лотов у позиций с нужным комментарием ценой и временем сигнального бара по последнему торговому сигналу. Если лот равен тому, который нам и нужен то предварительно созданный флаг воздвигнуть можно в режим true. И дальше получаем торговый сигнал, сравниваем цену и временя сигнального бара, которые по сигналу с запомненным комментарием. Если они равны, значим не открываемся.
Есть ещё какие-то соображения по этому поводу?