都知道,在进行量化交易的时候,交易接口可以100%严格按照定制的计划执行交易,避免了出现下单犹豫和过量交易等问题,100%体现交易策略的收益性;今天主要来聊聊,关于怎么使用股票委托下单接口的问题?
下面来看一下是如何执行委托下单程序的?
// 委托下单
// category: 0=>买入, 1=>卖出, 2=>融资买入, 3=>融券卖出 4=>买券还券, 5=>卖券还款, 6现券还券
// entrustType: 0=>限价委托(深/沪), 1=>对方最优价(深), 2=>本方最优价(深)
// 3=>即时成交剩余撤销(深), 4=>最优五档剩余撤销(深/沪)
// 5=>全额成交或撤销(深), 6=>最优五档剩余转限(沪)
// gddm: 股东代码, 区分沪/深
// quantity: 股数
typedef void (*SendOrderProc)(int clientId, int category, int entrustType,
const char *gddm, const char *zqdm, float price,
int quantity, char *result, char *errinfo);
const auto SendOrder = reinterpret_cast<SendOrderProc>(GetProcAddress(hDLL, "SendOrder"));
assert(SendOrder);
std::cout << "========== 普通(担保品)买入: category = 0 ==========\n";
category = 0; // 委托类别
int entrustType = 0; // 限价委托
std::string gddm = "1234567890"; // 股东代码(注意区分深圳和上海各自的股东代码)
std::string zqdm = "000001"; // 证券代码
float price = 12.2; // 委托价格
int quantity = 100; // 委托股数
SendOrder(clientId, category, entrustType, gddm.c_str(), zqdm.c_str(), price, quantity, result, errinfo);
if (NULL != errinfo[0]) {
std::cout << errinfo << std::endl;
} else {
std::cout << result << std::endl;
}
std::cout << std::endl;
通过股票交易接口去执行交易,可以战胜一定的人性缺点,比如接口不会出现贪婪和恐惧的心理,所以可以保证交易纪律,避免出现情绪化的交易,及时止盈止损,还可以同时管理多个账户进行不同的交易任务,大大提高了交易效率,市面上其实都已经有比较成熟的股票交易接口,有兴趣的可以到https://gitee.com/metatradeapi了解一下。