У вас не стоит Flash Player
Настройки
#70459 - Sun May 24 2015 08:43 PM N убыточных позиций подряд
vladshar Offline
stranger

Registered: Tue Apr 14 2015
Записи: 4
Всем привет!

Я на пути активного изучения TSLab API
Хочу прописать в коде условие на n убыточных позиций подряд.
Ниже фрагмент кода:

var posList = sec.Positions.GetClosedForBar(i).ToList(); int l = posList.Count();

if (l > 1 && posList[l].Profit() < 0 && posList[l - 1].Profit() < 0)
size = 1;

При запуске в ТSLab появляется сообщение, что "Индекс д.б. положительным числом и не может превышать размер коллекции".

Опытные коллеги, помогите разобраться что не правильно в этом куске кода и как правильно прописать условие на n убыточных позиций подряд.

Всем заранее огромное спасибо!

Наверх
#70530 - Wed May 27 2015 11:33 AM Re: N убыточных позиций подряд [Re: vladshar]
vladshar Offline
stranger

Registered: Tue Apr 14 2015
Записи: 4
Изрядно покавырявшись в коде, решил проблему сам
Мой вклад в ноосферу:

int n = 0;
List<IPosition> posList = sec.Positions.GetClosedForBar(i).ToList();
foreach (var position in posList)
{
if (position.Profit() < 0)
n = n + 1;
else
n = 0;
}

size = n > 3 ? 1 : 10;

В случае более 3х убытков подряд, снижаем размер позиции с 10 до 1.

Наверх
#70532 - Wed May 27 2015 12:54 PM Re: N убыточных позиций подряд [Re: vladshar]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Нет смысла перебирать все позиции. Вам нужно ведь определить сайз для текущего бара, отсюда вам нужно просмотреть позиции с конца и если нет 3 убыточных, то дальше не смотреть.
Опять же, нет гарантий что позиции идут в порядке их появления, так как это НЕ гарантируется. Есть смысл просортировать по бару закрытия и проверить 3 позиции. НО можно попытаться не сортировать и ПОверить что они должны идти подряд :)).
Вопрос в том, как вы считаете порядок? ПО дате открытия или по дате закрытия??? Если по дате закрытия, то вряд ли ваши позиции будут идти в порядке закрытия. А скорее всего в порядке открытия и ваша логика поломается.
_________________________
__


Наверх


Moderator:  ViL, sar