У вас не стоит Flash Player
Настройки
#27514 - Mon May 16 2011 08:46 PM Помогите новичку разобраться...
AIP Offline
stranger

Registered: Tue May 10 2011
Записи: 8
Пожалуйста smile
Новичек и в роботах и в c#, где-то туплю, но где - не могу понять.
Собственно, ситуация. Написал следующий код:
for (int bar = 0; (bar < barsCount); bar++)
<Потом вычисления>
<Открытие позиции:>
===
IPosition LongPos = source.Positions.GetLastActiveForSignal("LN_1M");
if (LongPos == null)
{ <тут открываем позицию, неинтересно> }
else
{
<А вот тут ордер на закрытие>
stoplong =LongPos.EntryPrice - StopParam ;
if (ClosePrice > stoplong)
{LongPos.CloseAtStop(bar + 1, ClosePrice, "LX_1M");
}
else
{LongPos.CloseAtStop(bar+1, LongPos.EntryPrice - StopParam , "LX_1M") ;
}
}
===
В чем суть - есть стоп, которые вычисляется каждый интервал и выставляется, и есть некий минимальный стоп, который выставляется сразу и заменяется вычисляемым только когда вычисляемый больше него (при покупке). В тестировании все замечательно. Вот конкретно есть (в тестировании) сегодня сделка на покупку рим в 15:20 по 181400 и продаже в 19:50 по 183000. Все чудесно.
А вот как оно прошло в реале: покупка по 181405, все Ок, а вот уже на следующем интервале вышел сигнал на продажу "По рынку". курс был 181520. Очевидно, что обе цифры для стопа располагались ниже рынка, выставлялись лимитниками. тестирование показывает правильно все, а почему в реале так прошла сделка? Кто-нибудь подскажет где копать?
Мне кажется что я этот минимальный стоп как-то не так выставляю. У меня еще пара программок есть, где он таким же макаром стоит и где так же подозрительно быстро закрывались сделки по стопу. Пристально там еще не смотрел, все аналогично, с этим бы разобраться.


Отредактировано AIP (Mon May 16 2011 08:49 PM)

Наверх
#27516 - Mon May 16 2011 09:20 PM Re: Помогите новичку разобраться... [Re: AIP]
AIP Offline
stranger

Registered: Tue May 10 2011
Записи: 8
Сейчас вставил вывод значений, вот что у меня получилось:
ClosePrice=180720
stoplong=181300
LongPos.EntryPrice=181400

Вот при текущем курсе в 181520 число 181300 должно было вывестись CloseAtStop. Но оно вывелось "закрыть по маркету" и закрыло сделку. Почему???

Наверх
#27542 - Tue May 17 2011 10:39 AM Re: Помогите новичку разобраться... [Re: AIP]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Потому ClosePrice=180720 меньше stoplong=181300

Наверх
#27551 - Tue May 17 2011 11:30 AM Re: Помогите новичку разобраться... [Re: Nektodron]
AIP Offline
stranger

Registered: Tue May 10 2011
Записи: 8
Нет-нет-нет. ClosePrice - это не цена закрытия, это один из 2х моих стопов. Текущая цена - 181520, я выдаю команду LongPos.CloseAtStop(bar+1, 181300) Почему вместо выставления лимитника по этой команде она выполняется по рынку?

Наверх
#27563 - Tue May 17 2011 01:20 PM Re: Помогите новичку разобраться... [Re: AIP]
AIP Offline
stranger

Registered: Tue May 10 2011
Записи: 8
Вот только что на другом скрипте повторилась ситуация.
Купил по 182200, на следующей свече отложенником хочу чуть ниже стоп поставить, в результате продажа "по рынку" по 182900. В лаборатории, как полагается, сделка еще висит.
Что, ни у кого подобного не было и мыслей никаких?? frown


Отредактировано AIP (Tue May 17 2011 01:27 PM)

Наверх
#27565 - Tue May 17 2011 01:56 PM Re: Помогите новичку разобраться... [Re: AIP]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Не очень понятно, как можно выставить стоп лимитником? Для понимания ситуации пришлите логи с указанием номера заявки.

Наверх


Moderator:  ViL, sar