#56316 - Mon Jul 01 2013 02:39 PM
Re: Не происходит исполнение заявки на текущей свече
[Re: ra81]
|
newbie
Registered: Mon Jun 17 2013
Записи: 43
|
В велсе, через коннектор. Я попробую через сжатие в ТСлаб, потом отпишусь. А на формирующейся свече ТСЛаб отлично входит и выходит - вы же сами писали, что только через сжатие можно на формирующейся свече войти. Спасибо за помощь, буду разбираться.
|
Наверх
|
|
|
|
#56317 - Mon Jul 01 2013 03:01 PM
Re: Не происходит исполнение заявки на текущей свече
[Re: SliderShadow]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
В велсе, через коннектор. Я попробую через сжатие в ТСлаб, потом отпишусь. А на формирующейся свече ТСЛаб отлично входит и выходит - вы же сами писали, что только через сжатие можно на формирующейся свече войти. Спасибо за помощь, буду разбираться. Ну я полагаю что нет смысла спорить по части непонятных коннекторов к велслабу. Сегодня есть завтра нет. На свой страх и риск. А про вход на одной свече я сказал что наиболее простой способ, это сжатие и разжатие. Остальные способы сложнее. Попробуйте сжатие. Не думаю что его вам не хватит.
_________________________
__
|
Наверх
|
|
|
|
#56402 - Wed Jul 03 2013 07:27 PM
Re: Не происходит исполнение заявки на текущей свече
[Re: ra81]
|
newbie
Registered: Mon Jun 17 2013
Записи: 43
|
Не получается отобразить сжатие на графике. Подскажите, где ошбика у меня закралась. Из секундного графика делаю минутный. Код привожу
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]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
В коде полная неразбериха. Сжали одно разжали другое выводим снова первое. Естественно такое работать не будет. Разжатие делаете неверно. Нужно делать так var decomp = compressed.Decompress(smaBig, DecompressMethodWithDef.Default); ПС: используйте тег code для вставки кода.
_________________________
__
|
Наверх
|
|
|
|
#56460 - Fri Jul 05 2013 02:36 PM
Re: Не происходит исполнение заявки на текущей свече
[Re: SliderShadow]
|
newbie
Registered: Mon Jun 17 2013
Записи: 43
|
Со сжатием получилось. Код ниже
//интервал, в который происходит сжатие
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]
|
newbie
Registered: Mon Jun 17 2013
Записи: 43
|
При работе агента выдается следующая ошибка. Пересчет произошел с разницей 2 бара (норма 1). С чем это связано. Ниже привожу код для входа в позицию.
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]
|
TSLab
Carpal Tunnel
Registered: Sun Oct 17 2010
Записи: 8143
|
Отредактировано ViL (Fri Jul 05 2013 03:10 PM)
|
Наверх
|
|
|
|
#56470 - Fri Jul 05 2013 03:25 PM
Re: Не происходит исполнение заявки на текущей свече
[Re: ViL]
|
newbie
Registered: Mon Jun 17 2013
Записи: 43
|
Спасибо за ссылку. У меня секундные графики и видимо поэтому периодически возникает данное сообщение. Думал в этом проблема, но оказалось что нет. Выше я выложил, код по которому вхожу в позицию, но сигнал не отображается на графике агента в момент возникновения ситуации и соответственно не посылается заявка. Отображение входа на графике происходит спустя 2 свечи. Что мне необходимо поправить в коде, чтоб агент в момент наступления сигнала заходил в позицию и отображал данное действие на графике?
|
Наверх
|
|
|
|
#56671 - Mon Jul 15 2013 08:00 AM
Re: Не происходит исполнение заявки на текущей свече
[Re: SliderShadow]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Вы заглядываете в будущее в своем коде входа в позицию. Перестаньте это делать, думаю тогда все ок будет.
source.HighPrices[bar + 1]
_________________________
__
|
Наверх
|
|
|
|
#57037 - Thu Aug 01 2013 12:32 PM
Re: Не происходит исполнение заявки на текущей свече
[Re: ra81]
|
newbie
Registered: Mon Jun 17 2013
Записи: 43
|
т.е. текущий формирующийся бар равен bar, а последний сформированный bar-1, верно?
|
Наверх
|
|
|
|
#57043 - Thu Aug 01 2013 06:17 PM
Re: Не происходит исполнение заявки на текущей свече
[Re: SliderShadow]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
т.е. текущий формирующийся бар равен bar, а последний сформированный bar-1, верно? Почти верно  . Вы ставите заявку на bar+1, но данные индикатора тоже берете с этого бара. Как так?  . То есть вы вычисляете сигнал входа по данным которых еще вроде как не должно существовать. Если брать историю то bar, это то где мы сейчас и что только что сформировалось. bar+1 это то чего еще нет, а bar-1 то что уже прошло.
_________________________
__
|
Наверх
|
|
|
|
|
|