У вас не стоит Flash Player
Page 3 of 3 < 1 2 3
Настройки
#44887 - Tue Jul 31 2012 09:17 AM Re: Индекс за пределами диапазона [Re: WinEasily]
SupportTSLab Offline
old hand

Registered: Tue Jan 17 2012
Записи: 1110
Какая у Вас машина? Опишите конфигурацию.

Наверх
#45066 - Mon Aug 06 2012 04:52 PM Re: Индекс за пределами диапазона [Re: SupportTSLab]
WinEasily Offline
stranger

Registered: Thu Jun 14 2012
Записи: 20
Скорее всего вы правы это что-то с компьютером.

Есть еще один вопрос пытаюсь использовать Стоимость шага цены для фьючерсов и опционов. но secRt.FinInfo.StepPrice.HasValue выдает False можно как либо еще получить Стоимость шага...

Наверх
#45072 - Mon Aug 06 2012 07:11 PM Re: Индекс за пределами диапазона [Re: WinEasily]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Это поле заполняется только при прямом доступе к бирже, ни один брокер не передаёт эту информацию.

Наверх
#82257 - Tue Aug 15 2017 12:03 PM Re: Индекс за пределами диапазона [Re: Klever]
Konstantin_A Offline
stranger

Registered: Fri Aug 04 2017
Записи: 1
Добрый день, появляется аналогичная ошибка
System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
в System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
в System.Collections.Generic.List`1.get_Item(Int32 index)
в FirstStr_1.FirstStr_1.Execute(IContext ctx, ISecurity source) в c:\Users\Creep\Documents\SharpDevelop Projects\WealthLab\kl\Si-TS.cs:строка 50

Вот сам код со строкой 50:
namespace FirstStr_1
{
public class FirstStr_1 : IExternalScript
{
public IPosition LastActivePosition=null;
public OptimProperty _QBar = new OptimProperty(100, 70, 150, 5);
public OptimProperty _Period = new OptimProperty(100, 50, 200, 5);

public virtual void Execute(IContext ctx, ISecurity source)
{

int FirstValidValue=10;
int EnterKontrakt=1;
int QBar=_QBar;
double SL=0.2;
int Period=_Period;

bool signalBuy;
bool signalShort;

FirstValidValue=Math.Max(FirstValidValue,Period);

IList<double> SMAFilter=ctx.GetData("SMAFilter", new[] {Period.ToString()},
delegate {return Series.SMA(source.ClosePrices, Period); });

IList<double> RaznSMA=new List<double>(source.Bars.Count);

for(int bar = 150; bar < source.Bars.Count; bar++)
{
double nRaznSMA=source.ClosePrices[0]-source.ClosePrices[0];
nRaznSMA=SMAFilter[bar]-SMAFilter[bar-1];
RaznSMA.Add(nRaznSMA);
}

IList<double> SummSMA=new List<double>(source.Bars.Count);

for(int bar = 150; bar < source.Bars.Count; bar++)
{
double nSummSMA =source.ClosePrices[0]-source.ClosePrices[0];
nSummSMA=RaznSMA[bar]+RaznSMA[bar-1];//эта строка 50
SummSMA.Add(nSummSMA);
}

Подскажите, пожалуйста, что делать?


Отредактировано Konstantin_A (Tue Aug 15 2017 06:04 PM)

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


Moderator:  ViL, sar