#40605 - Fri Apr 20 2012 12:13 PM
Вопрос по CloseAtMarket
|
newbie
Registered: Fri Feb 24 2012
Записи: 36
|
Здравствуйте. Если я закрываю позицию с помощью CloseAtMarket, может ли она не закрыться? В цикле по свечам я просматриваю список позиций, нахожу первую у которой isActive() == true и пытаюсь ее закрыть с помощью CloseAtMarket на следующей свече. На следующей итерации цикла я снова нахожу ту же самую позицию, хотя я вроде бы ее уже закрывал, причем поле ExitSignalName у нее пустое, хотя при закрытии я указывал некоторое не пустое значение.
|
|
Наверх
|
|
|
|
#40738 - Wed Apr 25 2012 09:21 AM
Re: Вопрос по CloseAtMarket
[Re: livrrr]
|
newbie
Registered: Fri Feb 24 2012
Записи: 36
|
Господа разработчики, ответьте, пожалуйста, на вопрос.
|
|
Наверх
|
|
|
|
#40754 - Wed Apr 25 2012 12:17 PM
Re: Вопрос по CloseAtMarket
[Re: Nektodron]
|
newbie
Registered: Fri Feb 24 2012
Записи: 36
|
Код примерно такой:
IList<Bar> b = sec.Bars;
for(int i = 0; i < b.Count - 1; i++)
{
#region close pos
if(...)
{
IPosition lastBuy = null;
IList<IPosition> pl = sec.Positions.ToList();
foreach(IPosition pos in pl)
{
if(pos.IsActive && pos.IsLong)
{
lastBuy = pos;
ctx.Log(lastBuy.EntrySignalName + " " + (i) + " CLOSE", 0x000000);
break;
}
}
if(lastBuy != null)
{
lastBuy.CloseAtMarket(i + 1, "Close" + lastBuy.EntrySignalName);
ctx.Log(lastBuy.ExitSignalName + " " + (i) + " CLOSE__", 0x000000);
}
}
#endregion
}
Здесь sec - входной параметр метода Execute. Происходит, примерно, следующее: при неком значении i я нахожу какой-то lastBuy и, вроде как, закрываю позицию, но на последующих итерациях цикла я снова нахожу этот же lastBuy с пустым ExitSignalName, правда в какой-то момент позиция все же закрывается.
|
|
Наверх
|
|
|
|
#40755 - Wed Apr 25 2012 12:31 PM
Re: Вопрос по CloseAtMarket
[Re: livrrr]
|
Pooh-Bah
Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
|
lastBuy.CloseAtMarket(i + 1, "Close" + lastBuy.EntrySignalName);
не Entry, а ExitSignalName - то есть пишешь сюда что-нибудь типа "Sx"
|
|
Наверх
|
|
|
|
#40756 - Wed Apr 25 2012 12:51 PM
Re: Вопрос по CloseAtMarket
[Re: vito333]
|
newbie
Registered: Fri Feb 24 2012
Записи: 36
|
Это просто имя, строка, что хочу, то и пишу, у меня и написана строка "Close" + lastBuy.EntrySignalName, к тому же ExitSignalName у меня еще нет, я его значение и указываю.
Отредактировано livrrr (Wed Apr 25 2012 03:21 PM)
|
|
Наверх
|
|
|
|
#40760 - Wed Apr 25 2012 01:46 PM
Re: Вопрос по CloseAtMarket
[Re: livrrr]
|
Pooh-Bah
Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
|
|
|
Наверх
|
|
|
|
#40768 - Wed Apr 25 2012 03:20 PM
Re: Вопрос по CloseAtMarket
[Re: Nektodron]
|
newbie
Registered: Fri Feb 24 2012
Записи: 36
|
EntrySignalName у меня уникальный.
Скажите, что будет если я открою позицию на i-ой свече, а закрыть попытаюсь на i-1-ой? Я смогу это сделать? Есть подозрение, что ошибка у меня именно в этом.
Предложите, пожалуйста, другой вариант выбора первой активной позиции, а не последней, ведь IPositionsList.LastLongPositionActive дает последнюю активную, а у меня может быть несколько открытых позиций, а нужна именно первая.
|
|
Наверх
|
|
|
|
#40771 - Wed Apr 25 2012 04:06 PM
Re: Вопрос по CloseAtMarket
[Re: Nektodron]
|
newbie
Registered: Fri Feb 24 2012
Записи: 36
|
|
|
Наверх
|
|
|
|
|
|