量化交易简单来理解就是自动化的交易,主要上通过编写程序软件,可以达到自动监测市场的交易情况,设定一些特定的条件,如果市场交易情况满足了这些条件就可以自动执行交易操作,比如,买入和卖出等操作。
同时可以利用计算机的技术从庞大的股票历史数据中选择出来可以给交易用户带来超大盈利的股票,来制定一定的策略,可以减少投资者受到情绪波动的影响。
避免投资者在市场极度狂热或者悲观的行情下,做出一些不理性的操作,这样是可以完美解决交易员在交易中克服人性的难题。
量化交易可以是一套程序,可以是一个接口,可以实现实盘交易,只需要把程序植入到交易软件中,就可以在不做任何人工干预的情况下实现自动买入或者卖出的在线操作,它也可以是一个APP,通过APP获得交易软件的操作权限进行自动的买入或者卖出操作。
量化交易主要有系统性、纪律性、套利思想、概率取胜等特点,量化交易的出现有过多闲钱,却没有过多时间的交易用户,在休息或者工作的时候,让用户的闲钱可以带来一笔稳定长期的被动收入。同时也解决了一些想要投资却不懂投资的困扰。
下面给大家分享部分通过交易接口登录账户的代码:
// 加载DLL
HINSTANCE hDLL = LoadLibraryA("MetaTrade.dll");
assert(hDLL);
// 初始化
typedef int (*InitProc)();
const auto Init = reinterpret_cast<InitProc>(GetProcAddress(hDLL, "Init"));
assert(Init);
const int authorizedCount = Init(); // 已授权账号数量
assert(authorizedCount > 0);
std::cout << "已授权账号数量: " << authorizedCount << std::endl;
std::cout << std::endl;
// 接收缓冲区, 用于接收返回结果和错误信息
auto resultBuf = std::make_unique<char[]>(1024 * 1024);
auto errinfoBuf = std::make_unique<char[]>(256);
char *const result = resultBuf.get();
char *const errinfo = errinfoBuf.get();
// 登录 接口支持普通交易和两融交易账号, 以下例子使用两融账号
typedef int (*LogonProc)(const char *ip, short port, const char *version,
short yybid, const char *account,
const char *tradeAccount, const char *jyPassword,
const char *txPassword, char *errinfo);
const auto Logon = reinterpret_cast<LogonProc>(GetProcAddress(hDLL, "Logon"));
assert(Logon);
std::string ip = "1.2.3.4"; // 券商IP(注意区分两融和普通)
short port = 5678; // 券商端口(注意区分两融和普通)
std::string version = ""; // 版本号: 一般填空
short yybid = 0; // 营业部ID: 一般填0
std::string account = "12345678.C"; // 登录账号: 两融账号需添加.C结尾
std::string tradeAccount = "12345678"; // 交易账号: 一般与登录账号相同, 但不需添加.C结尾
std::string jyPassword = "password"; // 交易密码
std::string txPassword = ""; // 通讯密码: 一般填空
const int clientId = Logon(ip.c_str(), port, version.c_str(), yybid,
account.c_str(), tradeAccount.c_str(),
jyPassword.c_str(), txPassword.c_str(), errinfo);
assert(clientId >= 0);
std::cout << "登录成功, client = " << clientId << std::endl;
std::cout << std::endl;