подряд позиций

Автор: Alim

подряд позиций - Wed Apr 05 2017 10:34 AM

Добрый день.
как получить, например количество подряд закрытых коротких позиций 2 или 3.
пробовал, увеличивать х++ при открытии позиции, так не получается при открытой позиции и при выполнение условий if(), х тоже увеличивает.

Благодарю.
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 11:49 AM


var a = sec.Positions.LastPositionClosed; ;

if (a.EntrySignalName == "short")
{
х++;
}
Ошибка
ссылка на объект не указывает на экземпляр объекта
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 12:39 PM

var а = sec.Positions.GetClosedForBar(i);
foreach (var z in x)
{
if (z.EntrySignalName == "short")

x++;
}
так тоже не получается
Автор: Nektodron

Re: подряд позиций - Wed Apr 05 2017 01:00 PM

GetClosedPositions(source, barNum).TakeWhile(pos => pos.EntrySignalName == "short").Count()
Автор: Nektodron

Re: подряд позиций - Wed Apr 05 2017 01:01 PM

Code:
        IPosition[] GetClosedPositions(ISecurity source, int barNum)
        {
            var last = source.Positions.GetLastPositionClosed(barNum);
            if (m_lastCache == null || last != m_lastClosed)
            {
                m_lastClosed = last;
                m_lastCache = source.Positions.GetClosedForBar(barNum).OrderByDescending(pos => pos.ExitBar.Date).ToArray();
            }
            return m_lastCache;
        }
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 01:20 PM

Благодарю,круто) буду разбираться
GetClosedPositions(source, barNum)-это ты создал правильно я понял
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 01:23 PM

эт мне в хелпер надо добавить?
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 09:14 PM



public static IList<double> GetClosedPositions(this ISecurity sec, int barNum)//
{
var m_lastCache= sec.Positions. ??????
var m_lastClosed = sec.Positions.LastPositionClosed;??????
var last = sec.Positions.GetLastPositionClosed(barNum);
if (m_lastCache == null || last != m_lastClosed)
{
m_lastClosed = last;
m_lastCache = sec.Positions.GetClosedForBar(barNum).OrderByDescending(pos => pos.ExitBar.Date).ToArray();
}
return m_lastCache;
}
подскажи пожалуйста на правильно делаю и что прописать где стоит знак (?)
Благодарю
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 10:29 PM

public static IEnumerable<IPosition> GetClosedPositions(this ISecurity sec, int barNum)//IList<double> IPosition
{
var m_lastCache = sec.Positions.GetClosedForBar(barNum);
var m_lastClosed = sec.Positions.LastPositionClosed;
var last = sec.Positions.GetLastPositionClosed(barNum);
if (m_lastCache == null || last != m_lastClosed)
{
m_lastClosed = last;
m_lastCache = sec.Positions.GetClosedForBar(barNum).OrderByDescending(pos => pos.ExitBar.Date).ToArray();
}
return m_lastCache;

}
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 10:29 PM

?
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 10:39 PM

public static IEnumerable<IPosition> GetClosedPositions(this ISecurity sec, int barNum)//IList<double> IPosition
{

IEnumerable<IPosition> m_lastCache = null;
IPosition m_lastClosed = null;

var last = sec.Positions.GetLastPositionClosed(barNum);
if (m_lastCache == null || last != m_lastClosed)
{
m_lastClosed = last;
m_lastCache = sec.Positions.GetClosedForBar(barNum).OrderByDescending(pos => pos.ExitBar.Date).ToArray();
}
return m_lastCache;
Автор: Alim

Re: подряд позиций - Wed Apr 05 2017 10:40 PM

var w=sec.GetClosedPositions(i).TakeWhile(pos => pos.EntrySignalName == "short").Count();
Автор: ViL

Re: подряд позиций - Tue Apr 11 2017 09:12 PM

в данный момент рекомендуем изучать АПИ самостоятельно.
http://www.tslab.ru/soft/techspecs/
Автор: Alim

Re: подряд позиций - Tue Apr 11 2017 09:40 PM

Благодарю ViL.
Автор: Alim

Re: подряд позиций - Thu Apr 20 2017 11:49 PM

Добрый день.
кэширование
var volume = ctx.GetData("Volume", new string[] { }, () => new Volume() { Context = ctx }.Execute(sec));

а как быть с TrailStop, как за кэшировать? Благодарю

var TrailStop = new TrailStop() { StopLoss = StopLossLl,TrailEnable = TrailEnableLl,TrailLoss = TrailLossLl};
Автор: Alim

Re: подряд позиций - Fri Apr 21 2017 11:39 AM

?
Автор: ViL

Re: подряд позиций - Fri Apr 21 2017 03:50 PM

Я повторюсь, в данный момент рекомендуем изучать АПИ самостоятельно.
http://www.tslab.ru/soft/techspecs/
Не нужно создавать пустые сообщения со знаками вопросов.
Как только программист сможет, он прочтет и ответит.
Есть такая возможность, возможно Вы о ней не знаете:
Соберите кубиками то, что Вам нужно, скомпилируйте. Инструменты - папка с логами. Поднимитесь на один уровень с папкой логов. Папка temp, в ней сs из кодогенератора.