У вас не стоит Flash Player
Настройки
#45632 - Thu Aug 16 2012 08:04 PM source.Positions.LastPosition
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
кубик "Баров с открытия посл. позиции"
код:
public double Execute(ISecurity source, int barNum)
{
var pos = source.Positions.LastPosition;
//---- нет позиций, выход
if (pos == null) return 0;

return barNum > pos.EntryBarNum ? barNum - pos.EntryBarNum : 0;
}

обнаружилась следующая ситуация (см. скриншот)


Attachments
LastPosition.gif (80 downloads)



Отредактировано vito333 (Thu Aug 16 2012 08:04 PM)

Наверх
#45633 - Thu Aug 16 2012 09:02 PM Re: source.Positions.LastPosition [Re: vito333]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
в 1.2 рекомендуется пользоваться новыми функциями
source.Positions.GetLastPosition(barNum)


Отредактировано Nektodron (Thu Aug 16 2012 09:03 PM)

Наверх
#45635 - Thu Aug 16 2012 09:21 PM Re: source.Positions.LastPosition [Re: Nektodron]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
это мне прислали, это в 1.1

Наверх
#45639 - Fri Aug 17 2012 05:41 AM Re: source.Positions.LastPosition [Re: vito333]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
и есть ли возможность программно отличить 1.1 от 1.2?

Наверх
#45645 - Fri Aug 17 2012 10:47 AM Re: source.Positions.LastPosition [Re: vito333]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Хороший вопрос. Нужно добавить метод в интерфейс.

Наверх
#45646 - Fri Aug 17 2012 10:53 AM Re: source.Positions.LastPosition [Re: vito333]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Originally Posted By: vito333
это мне прислали, это в 1.1

Тогда очень странно. в 1.1 это просто список, и LastPosition просто возвращает последний элемент списка. Сам TSLab этот список никак не модифицирует.

Наверх
#45647 - Fri Aug 17 2012 10:59 AM Re: source.Positions.LastPosition [Re: Nektodron]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
ну вот и мне странно
попробую брать последние открытую и закрытую позиции и считать от максимального их входа

Наверх
#45688 - Sat Aug 18 2012 06:42 AM Re: source.Positions.LastPosition [Re: vito333]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
поменял код на следующий:
public double Execute(ISecurity source, int barNum)
{
//var pos1 = source.Positions.LastPosition;
var pos2 = source.Positions.LastPositionActive;
var pos3 = source.Positions.LastPositionClosed;
//---- нет позиций, выход
if (pos2 == null && pos3 == null) return 0;
int p2 = pos2 == null ? 0 : pos2.EntryBarNum;
int p3 = pos3 == null ? 0 : pos3.EntryBarNum;
int maxpos = Math.Max(p2, p3);
//
return barNum > maxpos ? barNum - maxpos : 0;
}


и всё равно - иногда лаб после закрытия позиции некорректно отрабатывает


Attachments
общий вид.gif (79 downloads)
укрупнённо.gif (76 downloads)



Отредактировано vito333 (Sat Aug 18 2012 06:44 AM)

Наверх


Moderator:  ViL, sar