Ошибки, баги, вопросы - страница 2008

 
Предлагаю запускать всегда фрейм-режим советника, если идет одиночный прогон на удаленном (не локальном) Агенте.
 
Немного сбило с толку. Получается когда запускаешь iCustom то на тестировании он не ругается при обычном пути к индикатору и все работает. А вот через \\ просит только на реальном запуске. При этом ничего не объясняет только дает ошибку 4802. Поидее терминал должен хоть написать что проблема именно в пути. Или пусть и в тестировании ругается на то самое
 
Anton Ohmat:
Немного сбило с толку. Получается когда запускаешь iCustom то на тестировании он не ругается при обычном пути к индикатору и все работает. А вот через \\ просит только на реальном запуске. При этом ничего не объясняет только дает ошибку 4802. Поидее терминал должен хоть написать что проблема именно в пути. Или пусть и в тестировании ругается на то самое

А ещё лучше, чтобы при какой-то ошибке терминал сам переписывал код так чтобы эта ошибка больше не появлялась. Тогда и думать не пришлось-бы вообще...

 
можно открыть бесплатный сигнал , а через месяц сделать его платным?
 
danminin:
можно открыть бесплатный сигнал , а через месяц сделать его платным?

Нет. Бесплатным может быть только сигнал с демо счета, и, соответственно, он не может быть платным.

 
Почему совсем нет Warnings, что переменная не используется?
void OnStart()
{
  int i = 0;
}
 
fxsaber:
Почему совсем нет Warnings, что переменная не используется?

Потому что она инициализирована.

 
Alexey Viktorov:

Потому что она инициализирована.

Так а какая разница? Она же инициализирована константой. Даже такой код должен порождать Warning

void OnStart()
{
  int Array[];
  int i;
  
  i = Array[0];
  i = Array[1];
  i = Array[2];
}

Потому что переменная и массив нигде не участвуют.

 
fxsaber:

Так а какая разница? Она же инициализирована константой. Даже такой код должен порождать Warning

Потому что переменная и массив нигде не участвуют.

По-моему такой код вообще не должен компилироваться в связи с тем, что размер массива не задан. Но это просто придирка...

Ну как-же не участвуют? Переменной присваивается значение ячейки массива. Это и есть что они участвуют в вычислениях. Откуда компилятору может быть известно о дальнейших ваших планах? Я думаю что сделать так как вы это представляете, наверное правильно было-бы, но очень сложно. Если попытаться представить алгоритм такой проверки, можно сочинить такое: проверяется факт присваивания переменной какого-либо значения. Если нет значит она не используется. Попробуйте озвучить примерный алгоритм определения, что переменная инициализирована, но больше нигде не участвует в расчётах.

Количество переменных с одним именем... сомнительно.

 
Alexey Viktorov:

Откуда компилятору может быть известно о дальнейших ваших планах?

Компилятор выкидывает целые куски иногда, потому что знает

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Альтернативные реализации стандартных функций/подходов

Renat Fatkhullin, 2016.09.01 23:50

Чтобы компилятор не выкинул цикл из-за его бесполезности, надо воспользоваться результатами вычислений. Например, сделать Print переменной Price.