#include <common/xroad_xml.h>
#include <cache/xroad_objects.h>
#include <mdata/engine/mdata_engine.h>
#include <order/order.h>
Go to the source code of this file.
Classes | |
struct | strategy_cancel_orders_args_t |
struct | strategy_send_order_ex_args_t |
struct | strategy_add_order_ex_args_t |
struct | strategy_callback_t |
Typedefs | |
typedef struct strategy_s | strategy_t |
Functions | |
strategy_t * | strategy_create (xroad_xml_tag_t cfg, strategy_callback_t cback) |
void | strategy_destroy (strategy_t *s) |
xroad_errno_t | strategy_start (strategy_t *s) |
xroad_errno_t | strategy_stop (strategy_t *s) |
xroad_errno_t | strategy_subscribe (strategy_t *s, xroad_instr_t *i, int32_t mask) |
xroad_errno_t | strategy_unsubscribe (strategy_t *s, xroad_instr_t *i) |
order_t * | strategy_add_order_ex (strategy_t *s, xroad_str_t name, xroad_instr_t *instr, xroad_side_t side, xroad_str_t account, xroad_str_t client_code, xroad_ord_type_t type, xroad_qty_t qty, xroad_price_t price, xroad_str_t ext_ref, int32_t flags, xroad_tif_t tif, xroad_date_t till_date) |
order_t * | strategy_replace_order_ex (strategy_t *s, xroad_str_t name, xroad_instr_t *instr, xroad_side_t side, xroad_str_t account, xroad_str_t client_code, xroad_ord_type_t type, xroad_qty_t qty, xroad_price_t price, xroad_str_t ext_ref, int32_t flags, xroad_tif_t tif, xroad_date_t till_date) |
xroad_errno_t | strategy_del_order (strategy_t *s, xroad_str_t oname) |
order_t * | strategy_get_order (strategy_t *s, xroad_str_t oname) |
order_state_t | strategy_get_order_state (strategy_t *s, xroad_str_t oname) |
xroad_errno_t | strategy_send_order_ex (strategy_t *s, xroad_str_t oname, xroad_qty_t qty, xroad_price_t price) |
xroad_errno_t | strategy_cancel_order (strategy_t *s, xroad_str_t oname) |
void | strategy_init_orders (strategy_t *s, xroad_instr_t *instr, xroad_str_t account, xroad_str_t client_code) |
void | strategy_init_orders_ex (strategy_t *s, xroad_instr_t *instr, xroad_str_t account, xroad_str_t client_code, xroad_str_t ext_ref) |
xroad_errno_t | strategy_send_order_instr (strategy_t *s, const xroad_instr_t *i, xroad_side_t side, xroad_qty_t qty, xroad_price_t price) |
xroad_errno_t | strategy_cancel_orders_ex (strategy_t *s, xroad_instr_t *i, xroad_str_t account, xroad_side_t side, bool use_native) |
xroad_str_t | strategy_gen_order_name (const xroad_instr_t *i, xroad_side_t side, xroad_ord_type_t type) |
xroad_errno_t | strategy_reset_position (strategy_t *s, xroad_instr_t *i, xroad_price_t avg_price, xroad_qty_t qty, xroad_price_t realized_pnl) |
mdata_engine_t * | strategy_get_mdata (strategy_t *s) |
#define strategy_add_order | ( | s, | |
name, | |||
instr, | |||
side, | |||
... | |||
) |
#define strategy_cancel_orders | ( | s, | |
... | |||
) |
#define strategy_replace_order | ( | s, | |
name, | |||
instr, | |||
side, | |||
... | |||
) |
#define strategy_send_order | ( | s, | |
oname, | |||
... | |||
) |
order_t* strategy_add_order_ex | ( | strategy_t * | s, |
xroad_str_t | name, | ||
xroad_instr_t * | instr, | ||
xroad_side_t | side, | ||
xroad_str_t | account, | ||
xroad_str_t | client_code, | ||
xroad_ord_type_t | type, | ||
xroad_qty_t | qty, | ||
xroad_price_t | price, | ||
xroad_str_t | ext_ref, | ||
int32_t | flags, | ||
xroad_tif_t | tif, | ||
xroad_date_t | till_date | ||
) |
add new order by hand
[in] | s | - strategy |
[in] | name | - order name. must be unique among strategy orders |
[in] | instr | - instrument |
[in] | account | - order account |
[in] | client_code | - order client_code |
[in] | side | - order side |
[in] | qty | - order qty |
[in] | price | - order price |
[in] | ext_ref | - reference info, which will be sent with order |
[in] | flags | - order flags (see xroad_order_flags_t for details) |
[in] | tif | - order time-in-force |
[in] | till_date | - order till date |
xroad_errno_t strategy_cancel_order | ( | strategy_t * | s, |
xroad_str_t | oname | ||
) |
cancel order
[in] | s | - strategy instance |
[in] | oname | - order name |
xroad_errno_t strategy_cancel_orders_ex | ( | strategy_t * | s, |
xroad_instr_t * | i, | ||
xroad_str_t | account, | ||
xroad_side_t | side, | ||
bool | use_native | ||
) |
cancel orders by instrument
[in] | s | - strategy instance |
[in] | oname | - order name |
[in] | i | - instrument |
[in] | account | - account |
[in] | side | - side |
[in] | use_native | - use native cancel_all functionality if exchange support it |
strategy_t* strategy_create | ( | xroad_xml_tag_t | cfg, |
strategy_callback_t | cback | ||
) |
create new strategy
[in] | cfg | - strategy configuration |
[in] | cback | - strategy callbacks |
xroad_errno_t strategy_del_order | ( | strategy_t * | s, |
xroad_str_t | oname | ||
) |
delete order from strategy
[in] | s | - strategy instance |
[in] | oname | - order name |
void strategy_destroy | ( | strategy_t * | s | ) |
destroy strategy
[in] | s | - strategy to destroy |
xroad_str_t strategy_gen_order_name | ( | const xroad_instr_t * | i, |
xroad_side_t | side, | ||
xroad_ord_type_t | type | ||
) |
generate order name from instrument, side and type
[in] | i | - instrument |
[in] | side | - order side |
[in] | type | - order type |
order_t* strategy_get_order | ( | strategy_t * | s, |
xroad_str_t | oname | ||
) |
get order
[in] | s | - strategy instance |
[in] | oname | - order name to delete |
order_state_t strategy_get_order_state | ( | strategy_t * | s, |
xroad_str_t | oname | ||
) |
get order state. just a wrapper of order_get_state function
[in] | s | - strategy instance |
[in] | oname | - order name |
void strategy_init_orders | ( | strategy_t * | s, |
xroad_instr_t * | instr, | ||
xroad_str_t | account, | ||
xroad_str_t | client_code | ||
) |
init orders
[in] | s | - strategy |
[in] | instr | - instrument |
[in] | account | - order account |
[in] | client_code | - order client_code |
order_t* strategy_replace_order_ex | ( | strategy_t * | s, |
xroad_str_t | name, | ||
xroad_instr_t * | instr, | ||
xroad_side_t | side, | ||
xroad_str_t | account, | ||
xroad_str_t | client_code, | ||
xroad_ord_type_t | type, | ||
xroad_qty_t | qty, | ||
xroad_price_t | price, | ||
xroad_str_t | ext_ref, | ||
int32_t | flags, | ||
xroad_tif_t | tif, | ||
xroad_date_t | till_date | ||
) |
replace (delete & add) order by hand
[in] | s | - strategy |
[in] | name | - order name. must be unique among strategy orders |
[in] | instr | - instrument |
[in] | account | - order account |
[in] | client_code | - order client_code |
[in] | side | - order side |
[in] | qty | - order qty |
[in] | price | - order price |
[in] | ext_ref | - reference info, which will be sent with order |
[in] | flags | - order flags (see xroad_order_flags_t for details) |
[in] | tif | - order time-in-force |
[in] | till_date | - order till date |
xroad_errno_t strategy_send_order_ex | ( | strategy_t * | s, |
xroad_str_t | oname, | ||
xroad_qty_t | qty, | ||
xroad_price_t | price | ||
) |
replace order qty/price and when send it on exchange. If order is alredy on exchange it just be replaced
[in] | s | - strategy instance |
[in] | oname | - order name |
[in] | qty | - new order quantity. If qty should send unchanged set PREV_QTY |
[in] | price | - new order price. If price should send unchanged set PREV_PRICE |
xroad_errno_t strategy_send_order_instr | ( | strategy_t * | s, |
const xroad_instr_t * | i, | ||
xroad_side_t | side, | ||
xroad_qty_t | qty, | ||
xroad_price_t | price | ||
) |
replace order qty/price and when send it on exchange. If order is alredy on exchange it just be replaced
[in] | s | - strategy instance |
[in] | oname | - order name |
[in] | qty | - new order quantity |
[in] | price | - new order price |
xroad_errno_t strategy_start | ( | strategy_t * | s | ) |
start strategy. During start strategy subscribing to market data
[in] | s | - strategy to start |
xroad_errno_t strategy_stop | ( | strategy_t * | s | ) |
stop strategy. During stop strategy unsibscribing from market data and cancelling all orders
[in] | s | - strategy to start |
xroad_errno_t strategy_subscribe | ( | strategy_t * | s, |
xroad_instr_t * | i, | ||
int32_t | mask | ||
) |
subscribe to market data. This is a way to subscribe to market data by hand
[in] | s | - strategy instance |
[in] | symbol | - instrument alias to subscribe to |
[in] | mask | - subscription mask (see enum mdata_proto_type_t in mdata_proto.h for details) |
xroad_errno_t strategy_unsubscribe | ( | strategy_t * | s, |
xroad_instr_t * | i | ||
) |
unsubscribe from market data
[in] | s | - strategy instance |
[in] | symbol | - instrument alias to unsubscribe from |