У вас не стоит Flash Player
Настройки
#81725 - Thu Apr 13 2017 09:12 AM определение размера позиции
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
Определяю размер позиции следующим образом:
var buyPosSize = (int)(secRt.CurrencyBalance *0.9 / sec.FinInfo.BuyDeposit.Value);

Обычно все работает корректно, но иногда размер заявки меняется без видимых причин.
Реальный пример: скрипт выставляет заявку на 27 лотов, как ему и положено. Она держится 10+ пересчетов скрипта, затем заменяется заявкой на 3 лота и на следующем пересчете снова заменяется на 27.
Подозреваю, что дело в брокере (Финам). Если это так, то есть ли способы решить эту проблему не меняя брокера?

Наверх
#81726 - Thu Apr 13 2017 10:06 AM Re: определение размера позиции [Re: OldMo]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8134
не факт, что это брокер виноват, нужно изучать, напишите в поддержку http://support.tslab.ru/ с примером.

Наверх
#81809 - Thu Apr 27 2017 01:12 PM Re: определение размера позиции [Re: ViL]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
делюсь ответом. Цифры другие, суть та же:

Добрый день,
secRt.CurrencyBalance - это ОСТАТОК денег, т.е. свободные.
если нужна оценка портфеля, то нужно брать EstimatedBalance
далее, в Транзаке CurrencyBalance - это просто free из присылаемых данных.
По логу видно, что пока это была условная заявка - резервирования денег не было
Далее заявка пошла в рынок (превратилась в лимитку, прошло резервирование)
Денег осталось на 4 лота, скрипт изменил заявку.
Денег опять стало много (резервирование ушло), опять стало 39 лотов.
Отсюда решение, не смотреть на этот остаток., попробовать работать от оценки портфеля.
С уважением,
Служба поддержки TSLab


Отредактировано OldMo (Thu Apr 27 2017 01:13 PM)

Наверх
#81810 - Thu Apr 27 2017 01:24 PM Re: определение размера позиции [Re: OldMo]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
А что вы хотите увидеть? Вы смотрите на остаток денежных средств, которые присылает брокер и выставляете условную заявку. У любого брокера резервирование денег происходит, только для лимитных заявок, т.к. эти деньги на ГО резервирует биржа. Пока условная заявка в ожидании, никакого резервирования не происходит.
Можете выставить хоть 1000 условных заявок на 1млн лотов, брокер их легко пропустит. Но когда, сработает условие, выдаст ошибку, что денег нет.

Наверх


Moderator:  ViL, sar