Блог им. 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
379
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

Читайте на SMART-LAB:
Фото
❄️ Почему рациональность — лучший подарок в новом году
🎁 В предновогодние дни хочется дарить не просто вещи, а решения со смыслом. Всё чаще таким подарком становится рациональность — умение...
Как рождается золото. Золотоизвлекательная фабрика
Делимся еще одним роликом из цикла «Как рождается золото Селигдара». Он называется «Золотоизвлекательная фабрика».  В отличие от...
Фото
Реструктуризация долгов РЖД: что ждать инвесторам облигаций
В конце 2025 года на рынке активно обсуждается программа реструктуризации долгов РЖД с участием Минфина. Ее цель — снижение долговой...

теги блога tores

....все тэги



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