Transaq

СБО "Transaq" => Подсистема ATF => Topic started by: Олег on бХЭвпСап 22, 2013, 10:37:23 am

Title: Раньше знал, теперь забыл. В документации найти не могу
Post by: Олег on бХЭвпСап 22, 2013, 10:37:23 am
Как сделать так, чтобы signal::output каждый раз перед выводом текста сначала печатал пустую строку?
В VBA это делается вот так:

Code: [Select]
Print (Chr(13) & "Какой-то текст")
По аналогии попробовал сделать вот так:

Code: [Select]
signal::output(num2chr(13) +  "Какой-то текст");
Что я делаю не так?
Как надо выполнять такую задачу?
Какие там надо числа вводить: двоичные, десятичные, шестнадцатиричные?
У меня это что-то вроде врожденного инстинкта должно быть, да? Ну типа, это и без объяснений понятно?
С молоком матери всосал?

Почему в документации невозможно найти объяснение, как делать самые простые необходимые вещи (с элементарными примерами)?!

P.S. Сейчас придумал делать вот так:
Code: [Select]
signal::output( " ");
signal::output( "Какой-то текст");

Но это же снова "партизанщина".
Title: Re: Раньше знал, теперь забыл. В документации найти не могу
Post by: Олег on бХЭвпСап 23, 2013, 09:21:43 am
Сижу тестирую скрипт в тестовом сервере. Заявки не выставляются. Робот выводит статус заявок (5). Ну и что это такое 5?! Мне это ни о чем не говорит! Ну почему до сих пор нет таблицы, в которой можно было бы это выяснить. Почему снова и снова надо играть в угадайку? Говорили об этом говорили, а воз и ныне там. Поговорили и забыли, да?! Похоже, блондинка сидит и ни хрена рогом не шевелит, целыми днями пальчики маникюрит :)

P.S. Сейчас дополнительно поплясал с бубном и прочитал сообщение об отклонении заявки биржей "Отклонено Биржей: (10039) Цена не кратна минимальному шагу цены."

Это очень хорошо, что этот танец подробно описан в документации. Но все равно, это не отменяет необходимости таблицы с расшифровкой цифровых кодов статуса заявки.
Title: Re: Раньше знал, теперь забыл. В документации найти не могу
Post by: Heller on бХЭвпСап 23, 2013, 10:40:31 am
То что не кратен шагу цены - это похоже на баг ATF, поправим. Что касается статусов, то сделаю в 1.21.
Title: Re: Раньше знал, теперь забыл. В документации найти не могу
Post by: Олег on бХЭвпСап 23, 2013, 11:23:14 am
То что не кратен шагу цены - это похоже на баг 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/)
Title: Re: Раньше знал, теперь забыл. В документации найти не могу
Post by: ddd323 on бХЭвпСап 23, 2013, 03:39:55 pm
пустая строка делается так: "\nтекст"
Title: Re: Раньше знал, теперь забыл. В документации найти не могу
Post by: Олег on бХЭвпСап 23, 2013, 04:16:56 pm
пустая строка делается так: "\nтекст"

Спасибо.
Вот я помню, какими-то такими знаками можно форматировать вывод.
У меня даже такая тема где-то была здесь на форуме пару лет тому назад, и там все эти знаки перечислены. Перед открытием этой ветки порылся, не нашел.
Может у сишников это в порядке вещей и у разработчиков сложилось впечатление, что в документации об этом писать не надо, но не все же на форуме сишники. У нас бэйсиковцев таких знаков нет. У нас пустая строка выводится так, как я написал в первом посте этой ветки, а еще можно вот так:

Code: [Select]
Print (vbCr & "Какой-то текст")
vbCr означает "возврат каретки".

А почему вот так вот не получается:

Code: [Select]
signal::output(num2chr(13) +  "Какой-то текст");
  ???
Title: Re: Раньше знал, теперь забыл. В документации найти не могу
Post by: Heller on бХЭвпСап 24, 2013, 10:58:24 am
Править в ATF всё же надо, так как ATF изначально так себя ведёт: округляет значение, вводимое пользователем, до значения MinStep. Если заявка на покупку - округляет в меньшую сторону, если на продажу - в большую. Так ведут себя функции buy/sell, так же должна вести себя функций transact - без этого многие пользователи не поймут в чем дело, да и сама необходимость корректировать каждый раз шаг цены - излишняя.

Функция вывода в output так устроена, что она принимает текст построчно, так что спец.символы не сработают - она сильно урезана по функциональности в сравнении с обычным терминалом. Самый корректный путь, который тут может быть для вашей цели - ровно так как вы и сделали в итоге, выводить просто пустую строку как разделитель.