Транзакция с помощью вызова функции.

Страницы: 1
RSS
Транзакция с помощью вызова функции., Как сделать транзакцию с помощью функции.
 
Здравствуйте. Подскажите пожалуйста как правильно прописать функцию, чтобы при её вызове в теле скрипта, выполнялась транзакция?
 
Здравствуйте,
На сколько становится понятно, Вам нужен пример функции sendTransaction
Если так то пример может быть следующий:
Код
transaction = {
ACCOUNT="YY0070001234",
CLIENT_CODE="XXX",
TYPE="M",
TRANS_ID="7",
CLASSCODE="TQBR",
SECCODE="HYDR",
ACTION="NEW_ORDER",
OPERATION="B",
PRICE="0",
QUANTITY="15"
}

sendTransaction(transaction)
 
А вот как её в начале кода прописать?
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
На сколько становится понятно, Вам нужен пример функции sendTransaction
Если так то пример может быть следующий:
Код
  transaction  =  {
ACCOUNT =  "YY0070001234" ,
CLIENT_CODE =  "XXX" ,
TYPE =  "M" ,
TRANS_ID =  "7" ,
CLASSCODE =  "TQBR" ,
SECCODE =  "HYDR" ,
ACTION =  "NEW_ORDER" ,
OPERATION =  "B" ,
PRICE =  "0" ,
QUANTITY =  "15" 
}

 sendTransaction (transaction)
  
Мне нужно вначале кода записать её в функцию, чтобы повторять несколько раз.
 
Цитата
Иван написал:
Мне нужно вначале кода записать её в функцию, чтобы повторять несколько раз.

что значит "в начале кода"? Что для Вас "начало" кода?
Если нужно несколько раз вызвать sendTransaction, Вы можете добавить ее в цикл while или for
 
Цитата
Sergey Gorokhov написал:
Цитата
Иван   написал:
Мне нужно вначале кода записать её в функцию, чтобы повторять несколько раз.
что значит "в начале кода"? Что для Вас "начало" кода?
Если нужно несколько раз вызвать sendTransaction, Вы можете добавить ее в цикл while или for
Перед функцией main() прописываются функции. Вот как туда прописать транзакцию?
 
Цитата
Иван написал:
Перед функцией main() прописываются функции

Можно просто разместить текст выше.

Код
 transaction  =  {
ACCOUNT =  "YY0070001234" ,
CLIENT_CODE =  "XXX" ,
TYPE =  "M" ,
TRANS_ID =  "7" ,
CLASSCODE =  "TQBR" ,
SECCODE =  "HYDR" ,
ACTION =  "NEW_ORDER" ,
OPERATION =  "B" ,
PRICE =  "0" ,
QUANTITY =  "15" 
}
 sendTransaction (transaction)

function main()
--какой-то код
end
 
Цитата
Sergey Gorokhov написал:
Цитата
Иван   написал:
Мне нужно вначале кода записать её в функцию, чтобы повторять несколько раз.
что значит "в начале кода"? Что для Вас "начало" кода?
Если нужно несколько раз вызвать sendTransaction, Вы можете добавить ее в цикл while или for
я делал вот так, но так не работает.


local stopped = false
function OnStop()
stopped = true
return 2000
end

function Sq()
A = {
    ACTION = 'NEW_ORDER',
ACCOUNT = 'SPBFUT00005',
OPERATION = 'S',
CLASSCODE = 'SPBFUT',
SECCODE = 'SiM8',
PRICE = tostring(64000) ,
QUANTITY = tostring(2),
TRANS_ID = tostring(0)
}


Err_A = sendTransaction(A)

end

function main()

sleep(3000)


Sq()

end
 
Цитата
Иван написал:
но так не работает.

что именно не работает?
И почему Вы ставите sleep перед Sq()? Получается что Вы ждете sleep(3000) и только потом срабатывает Sq(), судя по тексту Вам надо в точности на оборот.
 
Цитата
Sergey Gorokhov написал:
Цитата
Иван   написал:
но так не работает.
что именно не работает?
И почему Вы ставите sleep перед Sq()? Получается что Вы ждете sleep(3000) и только потом срабатывает Sq(), судя по тексту Вам надо в точности на оборот.
Да на sleep Вы не смотрите. Функция Sq() не срабатывает. В том и смысл вопроса. Значит вначале кода я её прописал не правильно. А вот как прописать правильно?
 
Цитата
Иван написал:
Функция Sq() не срабатывает
Вы категорически не правы.
Функция Sq() тут совершенно не причем.
Она у Вас перекрестно срабатывает. Чтобы убедиться просто добавьте message("Hello Word") внутри функции Sq().


А вот транзакция похоже не выполняется. Причина в TRANS_ID = tostring(0), нельзя указывать его равным нулю, минимум 1.
Код
local stopped = false 
function OnStop() 
stopped = true 
return 2000 
end 


function Sq() 
message("Hello Word")
A = { 
ACTION = 'NEW_ORDER', 
ACCOUNT = 'SPBFUT00005', 
OPERATION = 'S', 
CLASSCODE = 'SPBFUT', 
SECCODE = 'SiM8', 
PRICE = tostring(64000) , 
QUANTITY = tostring(2), 
TRANS_ID = tostring(1) 
} 
Err_A = sendTransaction(A) 
message(Err_A)
end 

function main() 
sleep(3000) 
Sq() 
end
 
Sergey Gorokhov, спасибо уважаемый!
Страницы: 1
Читают тему
Наверх