Автор: ast
Ошибка: cannot convert from 'double' to 'int' - Wed Mar 24 2010 12:03 PM
Пытаюсь указать через переменную порядковый номер предыдущего бара (в формуле):
Close[i - ChangeBars]
ChangeBars - соответственно константа.
Появляется ошибка:
\TSLab\temp\code25.cs(86,20) : error CS1503: Argument '1': cannot convert from 'double' to 'int'
\TSLab\temp\code25.cs(86,14) : error CS1502: The best overloaded method match for 'System.Collections.Generic.IList<double>.this[int]' has some invalid arguments
Смысл ошибки понятен. Но как конвертировать double в int? Есть какой-то специальный конвертор?
Может быть, по умолчанию вообще сделать, чтобы в данном случае происходило автоматическое преобразование?
Автор: Nektodron
Re: Ошибка: cannot convert from 'double' to 'int' - Wed Mar 24 2010 04:20 PM
Как я понимаю ChangeBars - это константа. Используйте такую запись:
"Close[i - (int)ChangeBars]"
Автор: aaTrade
Re: Ошибка: cannot convert from 'double' to 'int' - Fri Jun 26 2020 04:40 PM
У меня такая же ошибка, cannot convert from 'double' to 'int'.
Пытаюсь указать номер бара close[i+BarNumber].
И функция (int) не работает close[i+(int)BarNumber]. - выдает ошибку: Не найден блок с именем 'Int'.
Так же не работает close[i+Convert.ToInt32(BarNumber)]
- ошибка: Не найден блок с именем 'Convert.ToInt32'.
Кто может помочь ?
Автор: ViL
Re: Ошибка: cannot convert from 'double' to 'int' - Thu Jul 02 2020 11:47 AM
i+ это заглядывание в будущее.
Так использовать нельзя.
Только i-
Автор: aaTrade
Re: Ошибка: cannot convert from 'double' to 'int' - Mon Jul 06 2020 11:34 AM
Согласен. Но проблема в другом.
cannot convert from 'double' to 'int'
Ни как не хочет конвертировать ! Помогите pls
Автор: ViL
Re: Ошибка: cannot convert from 'double' to 'int' - Mon Jul 06 2020 04:17 PM
в блоке BarNumber
попробуйте стандартным NET методом
Math.Round(Выражение)
И в результирующей формуле уже просто
close[i-BarNumber]
При этом "Начинать С" поставить вручную, заведомо больше BarNumber
Автор: aaTrade
Re: Ошибка: cannot convert from 'double' to 'int' - Thu Jul 09 2020 11:47 AM
Тоже не работает....
close[i-i+BarNumber]
cannot convert from 'double' to 'int'
Хочу всего лишь указать номер определенного бара
Как еще это можно сделать?
Автор: ViL
Re: Ошибка: cannot convert from 'double' to 'int' - Thu Jul 09 2020 06:07 PM
а как i-i ? это 0 так работать не будет
Автор: aaTrade
Re: Ошибка: cannot convert from 'double' to 'int' - Fri Jul 17 2020 11:59 AM
А как тогда указать номер бара от начала, а не от конца ? Например 20-й бар ?
И как все таки перевести с dbl то int??? Math.Round не помогает....
Автор: ViL
Re: Ошибка: cannot convert from 'double' to 'int' - Mon Jul 20 2020 04:50 PM
Close[-i]
Это будет закрытие первого бара.
convert from 'double' to 'int' не вижу что делаете, сложно сказать.
Автор: aaTrade
Re: Ошибка: cannot convert from 'double' to 'int' - Tue Aug 18 2020 02:32 PM
Все очень просто.Я всего лишь хочу найти/указать через номер бара который double значение MACD. Проблема, как я и писал выше, в конвертации с dbl то int. MACD[i-Convert.ToInt32(BarNumber)]
Тслаб не находит функцию Convert и Int. - ошибка: Не найден блок с именем 'Convert.ToInt32'.
В чем проблема?
Автор: ViL
Re: Ошибка: cannot convert from 'double' to 'int' - Tue Aug 18 2020 04:56 PM
В отдельной Формула написать Math.Round(Выражение)
Во второй формуле уже пишем
MACD[i-Формула1]
Автор: aaTrade
Re: Ошибка: cannot convert from 'double' to 'int' - Tue Aug 18 2020 10:45 PM
Math.Round(Выражение) Тоже не работает.... Есть другой способ?
Автор: aaTrade
Re: Ошибка: cannot convert from 'double' to 'int' - Fri Aug 21 2020 04:25 PM
PexlBAR это номер бара (dbl) от начала,а не с конца, поэтому использую i-i+bar.
тслаб выдает ошыбку и не находит функцыи int() и ConvertToInt
Автор: ViL
Re: Ошибка: cannot convert from 'double' to 'int' - Fri Aug 21 2020 07:04 PM
Я писал вроде бы выше. Так работать не будет.
Значение с первого бара это просто [-i] получить можно, посчитать так не получиться.