Блог им. tores

Есть специалисты по Transaq ATF?

    • 18 февраля 2018, 10:16
    • |
    • tores
  • Еще
Добрый день!

Такой вопрос, почему вот такой код выполняется на Transaq ATF:

function init() 

line[0] = 0;
setInitCandles(300);
}

function onNewCandle()
{
line[0] =close[-100];
}

function calc()
{
onNewCandle();
}

а вот такой код уже не выполняется (прога висит бесконечно долго на 0%):

function init() 

line[0] = 0; 
setInitCandles(300); 
}

function onNewCandle() 

line[0] =close[-200];
}

function calc() 

onNewCandle(); 
}

  • обсудить на форуме:
  • Transaq
3 комментария
Сделайте обработчик исключений. Наверняка индекса 200 нет в природе. Обращаетесь к несуществующему элементу.
avatar
Андрей К, по идее строкой setInitCandles(300) я задаю с какой свечи нужно считать. Если с 300й свечи идет расчет то почему close[-200] не существует? похоже в ATFе просто зашито ограничение на какую глубину можно смотреть назад.
avatar
может кому пригодится, решил проблему так:

//function init() 
//{ 

//line[0] = 0; 
//setInitCandles(300); 
//}

function onNewCandle() 

line[0] =close[-200];
}

function calc() 

onNewCandle(); 
}

глюк был из-за блока function init(). По идее он должен правильно отрабатывать, но затык как раз на нем был.
avatar

теги блога tores

....все тэги



UPDONW
Новый дизайн