Подскажите пожалуйста как перевести Время получяемое допустим от выражения (TimeLocal() - OrderOpenTime()) в "double" пробую перевести в "стринг" потом в "double" - как-то криво и не выходит ? Если можно, хоть с минимальным примером кода. Заранее спасибо. Александр.
Запрос по форуму ничего не дал.
double dTime= TimeLocal() - OrderOpenTime();
Спасибо пробую ...
Попробую сжато: ордер выставлен на 300 сек. закрылся через 150 сек. надо вычислить 150/300=0,5 по сути процентное отношение. Все операции выполняются нормально пока значение находится до запятой как только после итог = 0. """""""""DoubleToStr(dTime,2)"""""""
Извиняюсь за краткость, без просьбы, думал получится диалог. Целую вечность мучаю эти строчки решил спросить. Здесь так получается - ордер берется из истории, сервер присылает готовый ответ по профиту , а при вызове OrderProfit() показывает "0" решил сам просчитать да не тут-то было все повисло из за этого. Не знаю как еще "голову ломать" с Ув. Александр
Извиняюсь за краткость, без просьбы, думал получится диалог. Целую вечность мучаю эти строчки решил спросить. Здесь так получается - ордер берется из истории, сервер присылает готовый ответ по профиту , а при вызове OrderProfit() показывает "0" решил сам просчитать да не тут-то было все повисло из за этого. Не знаю как еще "голову ломать" с Ув. Александр
Лично мне видно - на заданный вами вопрос Виктор ответил коротко и ясно, что тогда у вас не получается, подробнее опишите суть того, что хотите. Проблема может крыться вовсе не там, где вам думается.
Здравствуйте. Ответ был своевременным и точным. Спасибо ему еще раз. Вопрос вот: я пытаюсь вычислить коэффициент от заданной длительности ордера к фактическому, то есть поставил на час - он закрылся через полчаса. Эта величина меньше 1 (30 мин / 60 мин = 0,5) когда начинаешь просчитывать в программе формулами то ответ " 0 " потому-что результат находится в дробных величинах если в примере написать ниже то dTime = 0, а должен быть 0,5
""""" double dTime= (300 - 150)/300; """"" 300 - время выставленное 150 - время жизни ордера
суть в том, значения в скобках и делитель это числа типа int, поэтому все округляется до целых..
скобку до деления умножьте на 1.0, т.о. значение разницы будет приведено к double типу и дальнейшее деление вернет дробное значение
Если это выход огромное спасибо. Проверять буду завтра - мозг "съёжился".
Безмерно всем благодарен. Александр.
Ура! Ура! Ура! Заработало! keekkenen ОГРОМНОЕ спасибо!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите пожалуйста как перевести Время получяемое допустим от выражения (TimeLocal() - OrderOpenTime()) в "double" пробую перевести в "стринг" потом в "double" - как-то криво и не выходит ? Если можно, хоть с минимальным примером кода. Заранее спасибо. Александр.
Запрос по форуму ничего не дал.