代码讲解
OMS Script 代码
代码入口
#--------
# Name:function
# Parameters:
# - arg1: xxx
# - arg2: xxx
# -> return
# Description:
#
#--------
func main_oms(arg0, arg1) {
isInit = FIsInit();
bid = 1;
_ret = -1;
if (isInit == UInitOk.I_Proc) {
config();
}
if(isInit == UInitOk.I_OK){
if (arg0 == UOMSRisk.I_OMS) {
_ret = hfq(arg1);
}else{
_ret = risk();
if( arg1 == bid){
FGiveaway();
}
}
}
return _ret;
}
#----- func end
#-------------------
# script oms start
#-------------------
#__arg0 ask or sell
#__arg1 bid or buy
ret = main_oms(__arg0, __arg1);
main_oms
函数 是所有进程的入口,其中参数:
__arg0, __arg1
在 oms 端
isInit = FIsInit();
isInit == UInitOk.I_Proc
__arg1 是 1 ,没有作用
isInit == UInitOk.I_OK
__arg1 是 ask 或者 bid 值
HFQ 计算复权数据
系统内置代码
以下函数都是系统内置 API 函数,需要通过 kafka 发送分红及转股的数据才会有问题,详细情况请查看各个 API 函数手册
hprice = FExDivPrice(cfi_code);
size = FExDividendSize(cfi_code);
cash = FExDividendCash(cfi_code,idx);
share = FExDividendShare(cfi_code,idx);
Kafka 设置
设置 kafka 的地址
_sbroker="kafkaserver:9092";
FMkkf(_sbroker);
设置 接收 报价的 topic
_stopic="fix-events";
FTopicTick(_stopic);
设置 日志 topic
_ltopic="e2l-log";
FTopicLog(_ltopic);
设置当前报价是从BAR 中转换过来的
FMkType(UMKType.Mk_Bar);