Пытаюсь вникнуть можно ли выставить заявку до отмены, Допустим сегодня выставил роботом, а в случае не исполнения, завтра и в след дни она сама переустановилась у брокера!
В ручную брокер это позволяет нынче.
Если дело В хелпе раздел 6.9 импорт транзакций не разобрался, оч сложно. Или дайте тему - где есть примеры
Итак команда
send_order ("S",Cena,"L",seccode,classcode,QUANT,UID) ' Продажа акции'
' Функция совершения транзакции
FUNC send_order (Operation,Price,Type,SecCode,ClassCode,Quantity,TransID)
while = 0 'обнуление счётчика для бесконечности цикла
tik = 0 'обнуление счётчика для подсчета тиков, если больше 20ти - выход из функции,
' иначе будет зацикливание при начальной раздаче заявок
FOR while FROM 0 TO 1 'цикл проверки заявок ClientCode
while = 0 'обнуление счётчика для бесконечности цикла
tik=tik+1
trans_params = ""
trans_params = set_value (trans_params, "TRANS_ID", TransID)
trans_params = set_value (trans_params, "ACTION", "NEW_ORDER")
trans_params = set_value (trans_params, "CLASSCODE", ClassCode)
trans_params = set_value (trans_params, "SECCODE", SecCode)
trans_params = set_value (trans_params, "ACCOUNT", AccMicex)
trans_params = set_value (trans_params, "OPERATION", Operation)
trans_params = set_value (trans_params, "PRICE", Price)
trans_params = set_value (trans_params, "QUANTITY", Quantity)
trans_params = set_value (trans_params, "TYPE", Type)
trans_params = set_value (trans_params, "CLIENT_CODE", 00001)
trans_result = SEND_TRANSACTION (5, trans_params)
soobshenie = GET_VALUE(trans_result, "DESCRIPTION")
message (soobshenie,2)
'while = 0 'обнуление счётчика для бесконечности цикла
'FOR while FROM 0 TO 1000 'цикл проверки заявок
'while = 0 'обнуление счётчика для бесконечности цикла
IF GET_VALUE (trans_result, "RESULT_EX") == "3" 'если транзакция выполнена
'order_key = APPLY_SCALE(GET_VALUE(trans_result, "ORDER_NUMBER"),0) '
order_key = GET_VALUE(trans_result, "ORDER_NUMBER")
RESULT = 1 'результат функции
' message (soobshenie,2)
RETURN 'выход из функции отправки заявок
END IF 'выход из условия: если транзакция выполнена
IF tik > 14 'если больше 9ти - выход из функции,
RETURN
END IF 'выход из условия: если транзакция НЕ выполнена
END FOR 'закрытие цикла отправки заявок
END FUNC
' ------------------- Конец функции совершения транзакции
В ручную брокер это позволяет нынче.
Если дело В хелпе раздел 6.9 импорт транзакций не разобрался, оч сложно. Или дайте тему - где есть примеры
Итак команда
send_order ("S",Cena,"L",seccode,classcode,QUANT,UID) ' Продажа акции'
' Функция совершения транзакции
FUNC send_order (Operation,Price,Type,SecCode,ClassCode,Quantity,TransID)
while = 0 'обнуление счётчика для бесконечности цикла
tik = 0 'обнуление счётчика для подсчета тиков, если больше 20ти - выход из функции,
' иначе будет зацикливание при начальной раздаче заявок
FOR while FROM 0 TO 1 'цикл проверки заявок ClientCode
while = 0 'обнуление счётчика для бесконечности цикла
tik=tik+1
trans_params = ""
trans_params = set_value (trans_params, "TRANS_ID", TransID)
trans_params = set_value (trans_params, "ACTION", "NEW_ORDER")
trans_params = set_value (trans_params, "CLASSCODE", ClassCode)
trans_params = set_value (trans_params, "SECCODE", SecCode)
trans_params = set_value (trans_params, "ACCOUNT", AccMicex)
trans_params = set_value (trans_params, "OPERATION", Operation)
trans_params = set_value (trans_params, "PRICE", Price)
trans_params = set_value (trans_params, "QUANTITY", Quantity)
trans_params = set_value (trans_params, "TYPE", Type)
trans_params = set_value (trans_params, "CLIENT_CODE", 00001)
trans_result = SEND_TRANSACTION (5, trans_params)
soobshenie = GET_VALUE(trans_result, "DESCRIPTION")
message (soobshenie,2)
'while = 0 'обнуление счётчика для бесконечности цикла
'FOR while FROM 0 TO 1000 'цикл проверки заявок
'while = 0 'обнуление счётчика для бесконечности цикла
IF GET_VALUE (trans_result, "RESULT_EX") == "3" 'если транзакция выполнена
'order_key = APPLY_SCALE(GET_VALUE(trans_result, "ORDER_NUMBER"),0) '
order_key = GET_VALUE(trans_result, "ORDER_NUMBER")
RESULT = 1 'результат функции
' message (soobshenie,2)
RETURN 'выход из функции отправки заявок
END IF 'выход из условия: если транзакция выполнена
IF tik > 14 'если больше 9ти - выход из функции,
RETURN
END IF 'выход из условия: если транзакция НЕ выполнена
END FOR 'закрытие цикла отправки заявок
END FUNC
' ------------------- Конец функции совершения транзакции