Transaq
СБО "Transaq" => Подсистема ATF => Topic started by: Олег on бХЭвпСап 22, 2013, 10:37:23 am
-
Как сделать так, чтобы signal::output каждый раз перед выводом текста сначала печатал пустую строку?
В VBA это делается вот так:
Print (Chr(13) & "Какой-то текст")
По аналогии попробовал сделать вот так:
signal::output(num2chr(13) + "Какой-то текст");
Что я делаю не так?
Как надо выполнять такую задачу?
Какие там надо числа вводить: двоичные, десятичные, шестнадцатиричные?
У меня это что-то вроде врожденного инстинкта должно быть, да? Ну типа, это и без объяснений понятно?
С молоком матери всосал?
Почему в документации невозможно найти объяснение, как делать самые простые необходимые вещи (с элементарными примерами)?!
P.S. Сейчас придумал делать вот так:
signal::output( " ");
signal::output( "Какой-то текст");
Но это же снова "партизанщина".
-
Сижу тестирую скрипт в тестовом сервере. Заявки не выставляются. Робот выводит статус заявок (5). Ну и что это такое 5?! Мне это ни о чем не говорит! Ну почему до сих пор нет таблицы, в которой можно было бы это выяснить. Почему снова и снова надо играть в угадайку? Говорили об этом говорили, а воз и ныне там. Поговорили и забыли, да?! Похоже, блондинка сидит и ни хрена рогом не шевелит, целыми днями пальчики маникюрит :)
P.S. Сейчас дополнительно поплясал с бубном и прочитал сообщение об отклонении заявки биржей "Отклонено Биржей: (10039) Цена не кратна минимальному шагу цены."
Это очень хорошо, что этот танец подробно описан в документации. Но все равно, это не отменяет необходимости таблицы с расшифровкой цифровых кодов статуса заявки.
-
То что не кратен шагу цены - это похоже на баг ATF, поправим. Что касается статусов, то сделаю в 1.21.
-
То что не кратен шагу цены - это похоже на баг ATF, поправим. Что касается статусов, то сделаю в 1.21.
Ничего не надо поправлять!!!
Никакой это не баг ATF.
Это был мой личный ляп в скрипте, который я сейчас уже исправил, и все теперь работает норрмально.
Что касается статусов, то сделаю в 1.21.
Да проще, по-моему, в документации это сделать. Никто же не требует, чтобы по всем поименованным константам цифры были расставлены. Достаточно хотя бы по OS_... и SS_...
Расставьте прямо там циферки в скобочках, это же не сложно и времени много не займет. Честно говоря, я бы давно уже и сам это сделал, если бы наверняка знал точное соответствие всех числовых кодов и поименованных констант.
(http://s11.postimg.org/bedbtfalr/Snap_2013_09_23_12_19_26_001.jpg) (http://postimg.org/image/bedbtfalr/)
-
пустая строка делается так: "\nтекст"
-
пустая строка делается так: "\nтекст"
Спасибо.
Вот я помню, какими-то такими знаками можно форматировать вывод.
У меня даже такая тема где-то была здесь на форуме пару лет тому назад, и там все эти знаки перечислены. Перед открытием этой ветки порылся, не нашел.
Может у сишников это в порядке вещей и у разработчиков сложилось впечатление, что в документации об этом писать не надо, но не все же на форуме сишники. У нас бэйсиковцев таких знаков нет. У нас пустая строка выводится так, как я написал в первом посте этой ветки, а еще можно вот так:
Print (vbCr & "Какой-то текст")
vbCr означает "возврат каретки".
А почему вот так вот не получается:
signal::output(num2chr(13) + "Какой-то текст");
???
-
Править в ATF всё же надо, так как ATF изначально так себя ведёт: округляет значение, вводимое пользователем, до значения MinStep. Если заявка на покупку - округляет в меньшую сторону, если на продажу - в большую. Так ведут себя функции buy/sell, так же должна вести себя функций transact - без этого многие пользователи не поймут в чем дело, да и сама необходимость корректировать каждый раз шаг цены - излишняя.
Функция вывода в output так устроена, что она принимает текст построчно, так что спец.символы не сработают - она сильно урезана по функциональности в сравнении с обычным терминалом. Самый корректный путь, который тут может быть для вашей цели - ровно так как вы и сделали в итоге, выводить просто пустую строку как разделитель.