У вас не стоит Flash Player
Настройки
#911 - Mon Jan 11 2010 08:22 PM Вопросы по созданию ордеров через API
joker Offline
stranger

Registered: Mon Jan 11 2010
Записи: 5
Добрый день,

Есть несколько вопросов:

1) Подскажите как создать ордер на продажу части позиции? Т.е. приобрели две бумаги, а продать хотим одну.

2) Нельзя ли чуть подробнее описать смысл метода Execute? Т.е. при прогоне на истории он вызывается один раз, не очень ясно как часто он будет вызываться при реальной торговле.

3)Объясните пожалуйста как создать или будет ли возможность в будующем создать лимитный ордер на продажу по ранее купленной бумаге с периодом действия, скажем продать по цене X до указанной даты или даты со временем? Или как это корректно сделать в текущем API. Скажем должен ли я торгуая на минутках вызывать CloseAtProfit для каждого бара после покупки последовательно в течении всего месяца? Просто как я понял не выполненная заявка не переносится автоматически на следующий бар.

Наверх
#913 - Mon Jan 11 2010 08:34 PM Re: Вопросы по созданию ордеров через API [Re: joker]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
1. Часть позиции продать нельзя, но можно открыть сразу две позиции или больше. Если вы используете автоматическое вычисление количества лотов исходя из суммы или процента портфеля, то нужно учитывать коэф. при открытии позиции. Т.е. открытие позиции с коэф. 0.5 - откроет позицию на 50% денег. Так же, через API можно создавать заявки вручную, не привязываясь к понятию позиция. Однако, следить за исполнением таких заявок так же необходимо вручную.

2. метод Execute при реальной торговле вызывается каждый раз при поступлении новых данных, в зависимости от опции "интервал пересчета":
"интервал" - при закрытии свечи
"сделка" - новая сделка (тик)
"пок/прод" - изменение котировок покупки или продажи

3. CloseAtProfit/CloseAtStop с новой ценой автоматически изменит заявку на рынке. Выставлять на каждом баре необходимо для лаборатории, чтобы видеть, как бы изменялась заявка при торговле. На реальную торговлю влияние оказывают заявке выставленные на последнем баре. Если заявка была выставлена не на последнем баре (а потом не выставлялась), то в "менеджере заявок" она появиться, но автоматически исполнена не будет, даже если включено автоматическое исполнение.
Так же, для всех открытых позиций, для которых скрипт не выставил заявку на закрытие, будет сформирована строчка в "менеджере заявок", по которой эту позицию можно закрыть вручную.

Наверх
#914 - Mon Jan 11 2010 08:40 PM Re: Вопросы по созданию ордеров через API [Re: Nektodron]
joker Offline
stranger

Registered: Mon Jan 11 2010
Записи: 5
Спасибо большое за ответы!

Хотел бы уточнить про:

Quote:
Так же, через API можно создавать заявки вручную


Не подскажете каким образом и будет ли это работать в лаборатории?

Наверх
#915 - Mon Jan 11 2010 09:30 PM Re: Вопросы по созданию ордеров через API [Re: joker]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Смотрите интерфейс IRuntime2.
В лаборатории работать не будет, поэтому и вынесено в отдельный интерфейс.

Наверх
#1146 - Sat Jan 16 2010 09:07 PM Re: Вопросы по созданию ордеров через API [Re: Nektodron]
joker Offline
stranger

Registered: Mon Jan 11 2010
Записи: 5
Хочется все-таки уточнить как реализовать корректно лимитные ордера на покупку и продажу для лаборатории.

Ситуация следующая:
Текущий минутный бар скажем октрытие 295, закрытие 295.5.

Производим попытку купить

source.Positions.BuyIfLess(i, 1, buyPrice, "BUY");

при этом buyPrice = 296.3;

в реальной жизни лимит бы сработал по цене открытия. В лаборатории этого не происходит.

И заодно подскажите пожалуйста в какой assembly и namespace искать IRuntime2?

Наверх
#1150 - Sat Jan 16 2010 10:33 PM Re: Вопросы по созданию ордеров через API [Re: joker]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Я извиняюсь, IRuntime2 используется не для этого.
Смотрите в TSLab.Script.Realtime интерфейс ISecurityRt, с лабораторией он работать не будет.

Что касается BuyIfLess, т.к. это условная заявка, тестер смотрит попадание цены в диапазон High-Low, и открытия позиция не происходит. Похоже это не верно, а верно покупать по цене открытия.
Это будет исправлено в следующей версии.

Наверх


Moderator:  ViL, sar