У вас не стоит Flash Player
Настройки
#81624 - Wed Apr 05 2017 10:34 AM подряд позиций
Alim Offline
journeyman

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

Благодарю.

Наверх
#81625 - Wed Apr 05 2017 11:49 AM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57

var a = sec.Positions.LastPositionClosed; ;

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

Наверх
#81627 - Wed Apr 05 2017 12:39 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
var а = sec.Positions.GetClosedForBar(i);
foreach (var z in x)
{
if (z.EntrySignalName == "short")

x++;
}
так тоже не получается

Наверх
#81628 - Wed Apr 05 2017 01:00 PM Re: подряд позиций [Re: Alim]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
GetClosedPositions(source, barNum).TakeWhile(pos => pos.EntrySignalName == "short").Count()

Наверх
#81629 - Wed Apr 05 2017 01:01 PM Re: подряд позиций [Re: Nektodron]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
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;
        }

Наверх
#81630 - Wed Apr 05 2017 01:20 PM Re: подряд позиций [Re: Nektodron]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
Благодарю,круто) буду разбираться
GetClosedPositions(source, barNum)-это ты создал правильно я понял

Наверх
#81631 - Wed Apr 05 2017 01:23 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
эт мне в хелпер надо добавить?

Наверх
#81633 - Wed Apr 05 2017 09:14 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57


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;
}
подскажи пожалуйста на правильно делаю и что прописать где стоит знак (?)
Благодарю

Наверх
#81634 - Wed Apr 05 2017 10:29 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
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;

}

Наверх
#81635 - Wed Apr 05 2017 10:29 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
?

Наверх
#81636 - Wed Apr 05 2017 10:39 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
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;

Наверх
#81637 - Wed Apr 05 2017 10:40 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
var w=sec.GetClosedPositions(i).TakeWhile(pos => pos.EntrySignalName == "short").Count();

Наверх
#81670 - Tue Apr 11 2017 09:12 PM Re: подряд позиций [Re: Alim]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8134
в данный момент рекомендуем изучать АПИ самостоятельно.
http://www.tslab.ru/soft/techspecs/

Наверх
#81671 - Tue Apr 11 2017 09:40 PM Re: подряд позиций [Re: ViL]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
Благодарю ViL.

Наверх
#81768 - Thu Apr 20 2017 11:49 PM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
Добрый день.
кэширование
var volume = ctx.GetData("Volume", new string[] { }, () => new Volume() { Context = ctx }.Execute(sec));

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

var TrailStop = new TrailStop() { StopLoss = StopLossLl,TrailEnable = TrailEnableLl,TrailLoss = TrailLossLl};

Наверх
#81777 - Fri Apr 21 2017 11:39 AM Re: подряд позиций [Re: Alim]
Alim Offline
journeyman

Registered: Wed Jun 08 2016
Записи: 57
?

Наверх
#81782 - Fri Apr 21 2017 03:50 PM Re: подряд позиций [Re: Alim]
ViL Offline
TSLab
Carpal Tunnel

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

Наверх


Moderator:  ViL, sar