У вас не стоит Flash Player
Page 2 of 2 < 1 2
Настройки
#56316 - Mon Jul 01 2013 02:39 PM Re: Не происходит исполнение заявки на текущей свече [Re: ra81]
SliderShadow Offline
newbie

Registered: Mon Jun 17 2013
Записи: 43
В велсе, через коннектор. Я попробую через сжатие в ТСлаб, потом отпишусь. А на формирующейся свече ТСЛаб отлично входит и выходит - вы же сами писали, что только через сжатие можно на формирующейся свече войти. Спасибо за помощь, буду разбираться.

Наверх
#56317 - Mon Jul 01 2013 03:01 PM Re: Не происходит исполнение заявки на текущей свече [Re: SliderShadow]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Originally Posted By: SliderShadow
В велсе, через коннектор. Я попробую через сжатие в ТСлаб, потом отпишусь. А на формирующейся свече ТСЛаб отлично входит и выходит - вы же сами писали, что только через сжатие можно на формирующейся свече войти. Спасибо за помощь, буду разбираться.

Ну я полагаю что нет смысла спорить по части непонятных коннекторов к велслабу. Сегодня есть завтра нет. На свой страх и риск.

А про вход на одной свече я сказал что наиболее простой способ, это сжатие и разжатие. Остальные способы сложнее. Попробуйте сжатие. Не думаю что его вам не хватит.
_________________________
__


Наверх
#56402 - Wed Jul 03 2013 07:27 PM Re: Не происходит исполнение заявки на текущей свече [Re: ra81]
SliderShadow Offline
newbie

Registered: Mon Jun 17 2013
Записи: 43
Не получается отобразить сжатие на графике. Подскажите, где ошбика у меня закралась. Из секундного графика делаю минутный. Код привожу
Code:
            IList<double> ShortMA = ctx.GetData("Быстрая скользящая", new[] { ShortPeriod.ToString() },
            delegate { return Series.SMA(source.CompressTo(60).ClosePrices, ShortPeriod); });
        source.Decompress(longMA);

Отрисовка графика
            mainPane.AddList(string.Format("Быстрая скользящая ({0}) [{1}]", ShortPeriod, source.Symbol), ShortMA, ListStyles.LINE,
            0x00ff00, LineStyles.SOLID, PaneSides.RIGHT);

Пишет ошибку индекс за пределами диапазона.


Отредактировано SliderShadow (Thu Jul 04 2013 08:08 AM)

Наверх
#56404 - Wed Jul 03 2013 07:45 PM Re: Не происходит исполнение заявки на текущей свече [Re: SliderShadow]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
В коде полная неразбериха. Сжали одно разжали другое выводим снова первое. Естественно такое работать не будет.

Разжатие делаете неверно. Нужно делать так
Code:
var decomp = compressed.Decompress(smaBig, DecompressMethodWithDef.Default);


ПС: используйте тег code для вставки кода.
_________________________
__


Наверх
#56460 - Fri Jul 05 2013 02:36 PM Re: Не происходит исполнение заявки на текущей свече [Re: SliderShadow]
SliderShadow Offline
newbie

Registered: Mon Jun 17 2013
Записи: 43
Со сжатием получилось. Код ниже
Code:
//интервал, в который происходит сжатие
public OptimProperty intervalNewGrafik = new OptimProperty(60, 1, 100, 1);

public virtual void Execute(IContext ctx, ISecurity source)
{
//ISecurity sourceCompress = source.CompressTo(intervalNewGrafik);
  ISecurity sourceCompress = source.CompressTo(new Interval(intervalNewGrafik, source.IntervalBase));

IList<double> Highest = ctx.GetData("Массив High компрессионного таймфрейма", new[] { ShortPeriod.ToString() }, delegate { return sourceCompress.HighPrices; });
var HighestDec = sourceCompress.Decompress(Highest, DecompressMethodWithDef.Default);

IList<double> Lowest = ctx.GetData("Массив Low компрессионного таймфрейма", new[] { ShortPeriod.ToString() }, delegate { return sourceCompress.LowPrices; });
var LowestDec = sourceCompress.Decompress(Lowest, DecompressMethodWithDef.Default);

// Берем основную панель (Pane).
IPane mainPane = ctx.First;

 // Отрисовка графиков.
mainPane.AddList(string.Format("High старшего периода "), HighestDec, ListStyles.LINE,0x000000, LineStyles.SOLID, PaneSides.RIGHT);
mainPane.AddList(string.Format("Low старшего периода "), LowestDec, ListStyles.LINE, 0x00ffff, LineStyles.SOLID, PaneSides.RIGHT);
}

Наверх
#56462 - Fri Jul 05 2013 02:45 PM Re: Не происходит исполнение заявки на текущей свече [Re: SliderShadow]
SliderShadow Offline
newbie

Registered: Mon Jun 17 2013
Записи: 43
При работе агента выдается следующая ошибка. Пересчет произошел с разницей 2 бара (норма 1). С чем это связано. Ниже привожу код для входа в позицию.
Code:
IPosition LongPos = source.Positions.GetLastLongPositionActive(bar);

if (source.HighPrices[bar + 1] > HighestDec[bar] && LongPos ==null)
{
source.Positions.BuyIfGreater(bar + 1, poz, source.HighPrices[bar] + source.Tick, "Long");
}


Наверх
#56467 - Fri Jul 05 2013 03:10 PM Re: Не происходит исполнение заявки на текущей свече [Re: SliderShadow]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8143
В документации описано.
http://www.tslab.ru/docs/1.2/online/script_run.htm


Отредактировано ViL (Fri Jul 05 2013 03:10 PM)

Наверх
#56470 - Fri Jul 05 2013 03:25 PM Re: Не происходит исполнение заявки на текущей свече [Re: ViL]
SliderShadow Offline
newbie

Registered: Mon Jun 17 2013
Записи: 43
Спасибо за ссылку. У меня секундные графики и видимо поэтому периодически возникает данное сообщение. Думал в этом проблема, но оказалось что нет. Выше я выложил, код по которому вхожу в позицию, но сигнал не отображается на графике агента в момент возникновения ситуации и соответственно не посылается заявка. Отображение входа на графике происходит спустя 2 свечи. Что мне необходимо поправить в коде, чтоб агент в момент наступления сигнала заходил в позицию и отображал данное действие на графике?

Наверх
#56671 - Mon Jul 15 2013 08:00 AM Re: Не происходит исполнение заявки на текущей свече [Re: SliderShadow]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Вы заглядываете в будущее в своем коде входа в позицию. Перестаньте это делать, думаю тогда все ок будет.

source.HighPrices[bar + 1]
_________________________
__


Наверх
#57037 - Thu Aug 01 2013 12:32 PM Re: Не происходит исполнение заявки на текущей свече [Re: ra81]
SliderShadow Offline
newbie

Registered: Mon Jun 17 2013
Записи: 43
т.е. текущий формирующийся бар равен bar, а последний сформированный bar-1, верно?

Наверх
#57043 - Thu Aug 01 2013 06:17 PM Re: Не происходит исполнение заявки на текущей свече [Re: SliderShadow]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Originally Posted By: SliderShadow
т.е. текущий формирующийся бар равен bar, а последний сформированный bar-1, верно?

Почти верно smile. Вы ставите заявку на bar+1, но данные индикатора тоже берете с этого бара. Как так? smile. То есть вы вычисляете сигнал входа по данным которых еще вроде как не должно существовать.

Если брать историю то bar, это то где мы сейчас и что только что сформировалось. bar+1 это то чего еще нет, а bar-1 то что уже прошло.
_________________________
__


Наверх
Page 2 of 2 < 1 2


Moderator:  ViL, sar