Аркадий (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Помогите разобраться: почему не выставляется заявка на покупку?
 
Сегодня случилось чудо! Заработало как надо.
От души благодарю всех участников беседы за оказанную помощь!
Помогите разобраться: почему не выставляется заявка на покупку?
 
Цитата
Игорь Б написал:
После 7,8 и 9 строки поставьте ; или совсем ничего не ставьте.
Оба варианта сделал. Результат одинаковый - заявки нет.

В общем, еще раз  внимательно просмотрел скрипт, вот окончательный вариант:

stopped = false
function OnStop()
stopped = true
return 5000
end

class_code = 'TQBR'
sec_code = 'BELU'
param_name = 'LAST'

--price = 2400 вариант 1
--price = tonumber(getParamEx (class_code, sec_code, param_name).param_value) вариант 2
price = getParamEx (class_code, sec_code, param_name).param_value вариант 3

function main()

LimitOrderBuy = {
ACTION = 'NEW_ORDER',
ACCOUNT = 'L00000000',
OPERATION = 'B',
CLASSCODE = class_code,
SECCODE = sec_code,
PRICE = tostring (price - 20),
QUANTITY = tostring (1),
TRANS_ID = tostring (1000),
TYPE = 'L'
}
Err_A = sendTransaction (LimitOrderBuy)

end

Вариант 1 - работает всё четко, выставляется заявка по цене 2380

Вариант 2 и 3 - ведут себя одинаково. При нажатии кнопки "Запустить" скрипт вроде запускается (красный прямоугольник на мгновение превращается в зеленый треугольник, терминал никаких сообщений об ошибках не выдает) НО заявки при этом - нет.
Что еще надо сделать? Я не знаю.  
Помогите разобраться: почему не выставляется заявка на покупку?
 
Цитата
nikolz написал:
возможно у вас неправильное число десятичных знаков в цене получается после вычитания
Нет, там целые числа всегда получаются
Помогите разобраться: почему не выставляется заявка на покупку?
 
class_code = 'TQBR',
sec_code = 'BELU',
param_name = 'LAST',

Z = tonumber(getParamEx (class_code, sec_code, param_name).param_value)

8- строка  sec_code = 'BELU',
Помогите разобраться: почему не выставляется заявка на покупку?
 
Цитата
Владимир написал:
Аркадий, Скорее всего, дело в этой долбаной динамической типизации. Попробуйте Z=tonumber(getParamEx(....
Syntax error while compiling C:\LUA\Лимитный ордер B_BELU.lua: C:\LUA\Лимитный ордер B_BELU.lua:8: unexpected symbol near '='
Помогите разобраться: почему не выставляется заявка на покупку?
 
Цитата
s_mike@rambler.ru написал:
Добавьте его вручную в таблицу текущих торгов и терминал начнет его получать
А как это сделать? Извините, я еще только учусь)))
Открыл таблицу "текущие торги", нажал "редактировать". Посмотрел заголовки столбцов
В перечне есть в том числе и цена последней сделки.
Или я не правильно Вас понял?

отдельно вот эта команда - Z = getParamEx ('TQBR', 'BELU', 'LAST').param_value  работает. Т.е. терминал выводит сообщение о цене последней сделке
Помогите разобраться: почему не выставляется заявка на покупку?
 
Здесь в сообщении просто не скопировалась.
Причем, если переменной Z присвоить конкретное значение - то работает. А через функцию  - нет
Помогите разобраться: почему не выставляется заявка на покупку?
 
Цитата
s_mike@rambler.ru написал:
враги стырили скобочку
В скрипте она есть.  
Помогите разобраться: почему не выставляется заявка на покупку?
 
stopped = false
function OnStop()
stopped = true
return 5000
end

class_code = 'TQBR',
sec_code = 'BELU',
param_name = 'LAST',

Z = getParamEx ('TQBR', 'BELU', 'LAST').param_value

function main()

A = {
ACTION = 'NEW_ORDER',
ACCOUNT = 'L0000000000',
OPERATION = 'B',
CLASSCODE = 'TQBR',
SECCODE = 'BELU',
PRICE = tostring (Z - 20),
QUANTITY = tostring (1),
TRANS_ID = tostring (10000),
TYPE = 'L'
    }
Err_A = sendTransaction (A

end
Страницы: 1
Наверх