У вас не стоит Flash Player
Настройки
#28051 - Mon May 30 2011 02:08 PM Поясните по IPosition
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Здравствуйте. Мне нужно открыть сделку при достижении определенной цены и сразу же выставить условия закрытия сделки по прибыли и по потерям, что наступит раньше. Как это сделать?


Отредактировано lev (Mon May 30 2011 03:31 PM)

Наверх
#28054 - Mon May 30 2011 02:50 PM Re: Поясните по IPositions [Re: lev]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Интересует механизм работы этого интерфейса. Пробовал выставлять заявку Positions.BuyIfLess, метод вызывается, ошибок не дает, но никаких заявок в тслабе не возникает. Вообще как работает у вас этот механизм? Где можно прочитать про алгоритм работы?

Наверх
#28068 - Mon May 30 2011 04:58 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492

Наверх
#28074 - Mon May 30 2011 05:46 PM Re: Поясните по IPositions [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Спасибо, последний вопрос. Почему после вызова TSLabSecurity.Positions.BuyIfLess никаких заявок в списке свои заявки tslab не появилось? Согласно алгоритму должна была выставиться условная заявка, да и вообще просто появиться заявка или выдаться сообщение о невозможности ее выставления. А ее нет.

Наверх
#28076 - Mon May 30 2011 05:48 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
В менеджере команд ничего не появилось?

Наверх
#28078 - Mon May 30 2011 06:08 PM Re: Поясните по IPositions [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Несколько раз перепроверил, ничего нигде не появляется.

Наверх
#28079 - Mon May 30 2011 06:13 PM Re: Поясните по IPositions [Re: lev]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Вот так вызывается и тслаб не реагирует

int iBar = TSLabSecurity.Bars.Count - 1;
if (isBuy)
{
TSLabSecurity.Positions.BuyIfLess(iBar, iVolume, Price, sKey);
}
else
{
TSLabSecurity.Positions.SellIfGreater(iBar, iVolume, Price, sKey);
}

Наверх
#28080 - Mon May 30 2011 06:25 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
iBar+1

Наверх
#28081 - Mon May 30 2011 07:44 PM Re: Поясните по IPositions [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
У вас есть реализация в вашей модели позиций алгоритма TakeProfit? И вообще можно одним приказом поставить задание на открытие и задать параметры выхода, чтобы не ждать очередного вызова скрипта, который может зависнуть по каким-либо причинам?

Наверх
#28110 - Tue May 31 2011 12:28 PM Re: Поясните по IPositions [Re: lev]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Мне нужно одновременно задать два приказа, один на прибыль и один на убыток. И сработать должен только один и второй после срабатывания отмениться. Такое тслаб поддерживает?
Такая конструкция должна работать?
pos.CloseAtStop(iBar, GetPriceOut(TradeProc.CurPositionTrade, ePriceOutType.ByMarket), TradeProc.CurPositionTrade.Key+"Stop");
pos.CloseAtProfit(iBar, GetPriceOut(TradeProc.CurPositionTrade, ePriceOutType.UseOutPosLift), TradeProc.CurPositionTrade.Key + "Exit");

Наверх
#28111 - Tue May 31 2011 12:44 PM Re: Поясните по IPositions [Re: lev]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
У вас в алгоритме на схеме явно видно, что идет последовательная проверка заявлена цена стоп и заявлена цена тейк-профит. Как задать для сделки два эти условия? Поясните пожалуйста, это очень важный момент.

Наверх
#28117 - Tue May 31 2011 01:30 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Через позиции одновременно две заявки задать нельзя. С поддержкой связанных заявок можно задать одну заявку сразу с двумя условиями, но это сейчас работает только в девелоперской версии.

Наверх
#28119 - Tue May 31 2011 03:20 PM Re: Поясните по IPositions [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Почему после выставления заявки, методом
pos.CloseAtStop(iBar, PriceOut, TradeProc.CurPositionTrade.Key + "Stop");

Она снимается автоматически буквально через пару баров? Как задать, чтобы она висела пока не исполнится, а если ее пробило, то вышло по рынку?

Наверх
#28123 - Tue May 31 2011 04:44 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
1. вероятно потому что iBar+1
2. возможно условие исполнилось, а проскальзывания не хватило. Позиция должна быть закрыта, а не смогла. Заявка снимается и выдается сообщение.

Наверх
#28127 - Tue May 31 2011 05:45 PM Re: Поясните по IPositions [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Мне не нужно чтобы заявка снималась, нужно чтобы она либо выходила по рынку, если цена скажем упала ниже прибыли, либо оставалась висеть пока я ее не сниму.

Наверх
#28131 - Tue May 31 2011 06:29 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Вам нужно выставлять заявки самостоятельно через интерфейс ISecurityRt, а не пользоваться встроенным механизмом позиций. Тогда можно будет и сразу 2 или более заявок выставлять.


Отредактировано Nektodron (Tue May 31 2011 06:30 PM)

Наверх
#28138 - Tue May 31 2011 09:09 PM Re: Поясните по IPositions [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Если я выставляю два приказа одновременно, один на прибыль, другой на стоп, то как сделать, чтобы автоматически после выполнения одного снимался другой и для этого не надо было бы ждать вызова скрипта? А то возникает вероятность, что могут исполнится оба приказа между вызовами скрипта.

Наверх
#28152 - Wed Jun 01 2011 12:06 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Никак не сделать без пересчета скрипта. Именно поэтому мы их и не выставляем одновременно. Это возможно только для типа приказа с двумя условиями.

Наверх
#28216 - Thu Jun 02 2011 12:42 PM Re: Поясните по IPositions [Re: Nektodron]
lev Offline
newbie

Registered: Thu May 05 2011
Записи: 33
Поясните пожалуйста что за приказ с двумя условиями? Как им воспользоваться?

Наверх
#28218 - Thu Jun 02 2011 12:50 PM Re: Поясните по IPositions [Re: lev]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
В данный момент никак. Это возможность сейчас есть в девелоперской версии, проходит тестирование. Будет работать только для Транзак и прямого доступа к бирже РТС.

Наверх


Moderator:  ViL, sar