CTP穿透式监管穿透测试API 实现步骤和参考代码

做量化交易的朋友都支持,2019年6月要开始实行穿透式监管了,
老的代码可能不再能够接入,那么如何将老的CTP程序实现升级到穿透式监管呢?本文就讲一下修改的方法。
(1)先替换为最新的CTP api
CTP API下载地址
http://www.simnow.com.cn/static/softwareDownload.action

Quicklib 下载地址
http://www.quicklib.cn/
期货行情数据下载地址
http://www.mdshare.cn
http://www.pythonpai.com/topic/4206/
免费商品期货股指期货跟单系统和资管系统
http://www.kucps.com/
参考代码打包下载
http://mdshare.cn/source.zip
期货低佣金开户
http://www.kaihucn.cn/
期货低佣金开户步骤(交易所标准+1分,交反40%~90%)
http://www.kaihucn.cn/comm/topic/1882/

同时免费提供期货APP下单掌上宏源https://mp.weixin.qq.com/s/j_xLax6qM74dcUlM2jZCww

主要涉及以下2个方法

///客户端认证请求 virtual int ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) = 0; ///客户端认证响应 virtual void OnRspAuthenticate(CThostFtdcRspAuthenticateField *pRspAuthenticateField, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) {};

这2个方法分别是:客户端认证响应和客户端认证请求。

(2)代码方面的修改:

之前大家做CTP都需要调用ReqUserLogin();这个登录请求,现在如果要接入穿透式监管的流程改变了,请将ReqUserLogin();替换为ReqAuthenticate(CThostFtdcReqAuthenticateField *pReqAuthenticateField, int nRequestID) 认证请求,然后在认证回调里添加ReqUserLogin();

简单的说代码修改流程即为:

1.把以前登录请求替换为认证请求
2.就是把登录请求放到认证回调里
即先认证再登录
向期货公司申请获得信息
在认证请求的结构体定义如下:

///客户端认证响应 struct CThostFtdcRspAuthenticateField { ///经纪公司代码 TThostFtdcBrokerIDType BrokerID; ///用户代码 TThostFtdcUserIDType UserID; ///用户端产品信息 TThostFtdcProductInfoType UserProductInfo; ///App代码 TThostFtdcAppIDType AppID; ///App类型 TThostFtdcAppTypeType AppType; };

(3)认证的函数定义

ReqAuthenticate(UserProductInfo, AuthCode); void CTraderSpi::ReqAuthenticate(const char *UserProductInfo,const char *AuthCode) { if(pUserApi[accountid] == NULL ){return;} //认证码 CThostFtdcReqAuthenticateField pReqAuthenticateField; memset(&pReqAuthenticateField, 0, sizeof(CThostFtdcReqAuthenticateField)); strcpy(pReqAuthenticateField.BrokerID, BROKER_ID); strcpy(pReqAuthenticateField.UserID, INVESTOR_ID); strcpy(pReqAuthenticateField.UserProductInfo, UserProductInfo); //产品标识 strcpy(pReqAuthenticateField.AuthCode, AuthCode); //认证码 int iResult = pUserApi[accountid]->ReqAuthenticate(&pReqAuthenticateField, ++iRequestID); cerr << "--->>> 发送认证请求: " << ((iResult == 0) ? "成功" : "失败") << endl; }

其中产品信息UserProductInfo、AppID、AppType
需要通过咨询期货公司获得。

《Quicklib程序化交易框架www.quicklib.cn》
http://www.mdshare.cn/comm/topic/2750/

《优秀量化资源导航》
《TradeApi A股程序化交易接口》
《酷操盘手期货跟单软件》
《开户中国期货低佣金开户》
《mdshare财经数据接口包》
《QuicklibTrade A股行情接口,Level2接口》
《期货跟单软件视频教学4集》
python量化交易

read more

VC投资需关注金融科技

价格有点贵,可折叠手机目标是中年人士

刚刚市场公布了第一款可折叠智能手机。

不过,没有给大家透露任何关于这款手机的其他详细信息,比如名字、发布日期或详细价格,因为这只是一款快速展示的原型机。

最近开始有消息称, 这款昂贵的可折叠手机本来就不是为普通消费者准备的,更准确的说,三星并不希望它马上成为主流,销售目标不是年轻、有影响力的消费者。

刚刚上市的折叠手机价格高,将其销售重点放在已经中年并且有工作的专业人士身上,因为只有那类人群有能力这款手机瞬间砸下五位数的钞票。

大多数人肯定感受到了这款设备的与众不同,而且有很多报价消息认为这款机子可能会卖到人民币1万多元起步。

与此同时, 早期阶段的折叠手机将瞄准非主流消费人群,也就是年近、达到或超过40岁的专业人士。因为这些人有钱购买高端产品,而且这种这种设备可能也将极大地提高他们的生产率。
据报道, 对自己的可折叠智能手机的销售计划有所变更,因为三星对其有了新的认识。

将这款可折叠手机视为一款限量版产品,更大程度上是为了打造公司创新的光环而已,而暂时不会把它定位为智能手机领域的“下一件大事”。在三星计划中,首批生产数量仅为100万台。

很显然,这与早期报道形成了鲜明对比。之前的报道认为, 将这款设备视为其智能手机部门十分重要的新篇章。还报道认为,苹果也将在全球范围内发布类似的iPhone,并将每年都会推出可折叠手机的更新版本,就像其他iPhone一样。至于其他手机厂商,包括LG、OPPO和华为目前也在准备可折叠手机,只等正式发布。

无论如何,有真机问世了才是王道。不出意外的话,在2019年2月年度新旗舰发布会上,三星首款可折叠智能手机也随之公布。有消息认为,届时该设备将会命名为Galaxy F,归属于三星一个全新系列的智能手机,将于3月开始铺货。

《期货跟单软件视频教学4集》
《酷操盘手期货跟单软件》
《开户中国期货低佣金开户》
《mdshare财经数据接口包》
《某python量化交易框架性能评测》
《量化行业的神狗模式》
python量化交易

read more
Bitcoin trading by using bots(译文 转载)
A

Bitcoin trading by using bots(译文 转载)

只谈交易策略、思路,不谈标的物 !
原文附带翻译:

Bitcoin trading by using bots

使用机器人交易比特币

Making money by trading Bitcoins, Litecoins, Darkcoins and other virtual currencies is a profitable business. But it has a high risk for people who have no strategy and just randomly trade. In the long run they will surely lose their investment. But I managed to double my Bitcoins in 3 month with a trading strategy that I am about to share with you!

交易比特币、莱特币、暗黑币 和其它虚拟币 赚钱 是一个有利可图的生意,但是这个对于没有交易策略和随机交易的人来说有很高的风险。时间一长无疑他们会损失完投资。但是我使用一个交易策略使我的比特币翻倍用了三个月时间,现在我分享给你。

I made up a rather complex but very effective trading strategy that will always work, if applied correctly. You will be able to trade virtual currencies with (almost) no risk and you will know how much exactly you will earn every time. I have programmed a trading bot in PHP for the Bitcoin Exchange, Trading BTC USD, BTC EUR - CEX.IO market that does this automatically and I will publish the source code for free download!

我组合了一个 复杂的 但是总是非常有效的交易策略。如果应用正确,你将可以无风险的交易虚拟币并且随时清楚的知道赚多少钱。我有一个PHP机器人交易程序在 /Bitcoin Exchange, Trading BTC USD, BTC EUR - CEX.IO/ 这个市场 自动的执行。我将会公布开源这个源代码。

The basic concept behind the virtual currencies trading strategy is quite simple:

You calculate how much you can earn from a trade.

这个虚拟币交易策略背后的基础概念是那么简单:

计算你交易能赚取多少。

If the profit is more than 0, and if it is enough for you – then you trade. If the profit is not enough, you skip.

如果收益是 大于0 的,并且如果 对你来说是 足够的收益,可以进行交易。如果收益不足,你可以等待。

You wait a few minutes and start from point 1.

I am lazy and I don’t like to calculate at Step 1, and I don’t like to repeat thing over and over. The bitcoin trading strategy requires some simple math every time you trade and that is why I use a bot to automate the process.

你可以等待几分钟并且从第一点开始。

我比较懒并且我不喜欢计算第一步,我不喜欢重复的事情一遍一遍的做。 比特币交易策略需要一些简单的方法随时交易,这就是为什么 我使用 机器人去自动化处理。

The idea behind the bitcoin trading strategy

To explain how my strategy works I will build up the idea in steps – starting from the basics

这个比特币交易策略背后的思路

我将会从最基本逐步建立思路流程来解释我的策略是如何工作的。

Step 1

Imagine that you have 1 Bitcoin. You sell your Bitcoin to buy Litecoins. You sell the Litecoins to buy Darkcoins. You sell the Darkcoins to buy Bitcoins. If you pay no transaction fees and taxes, at the end you will have 1 Bitcoin again.

第一步

想象一下 你有一个比特币,你卖出你的比特币 去买入莱特币,你卖出得到的莱特币去买入暗黑币。你卖出暗黑币再买入比特币。如果你交易没有 费用和税 在最后你还是持有一个比特币。

So basically you trade:

1 BTC → LTC → DRK → 1 BTC

所以基本上说你的交易是:

1 比特币 -》 莱特币 -》 暗黑币 -》 1 比特币

Step 2

The statement in Step 1 would be correct in a perfectly balanced, high demand market with no taxes. But the real market is not like that. Imagine that the market has no taxes but the supply and demand on the market will change over time and this will cause a dis-balance in the prices at certain moments. So at the end of the trade you will not get exactly 1 Bitcoin. You will get a little more or a little less. For example:

第二步

第一步的正确是在一种完美的平衡场景中。高需求的市场没有税,但是真正的市场不像那样。想象那样的市场没有税但是供给和需求在市场上将随着时间推移改变并且在一定时间产生价格的不平衡。所以在最后你交易时你不会获取到恰好一个比特币。你将会获取多一点 或者 少一点。举个例子:

1 BTC → LTC → DRK → 0.998 BTC (in this case you lose a little)

1 比特币 -》 莱特币 -》 暗黑币 -》 0.998 比特币 (在这个例子中你 损失了一点儿比特币)

But you can trade the currencies in another sequence and earn a little bitcoins

但是你可以按另外一种路径交易并且赚取一点比特币。

1 BTC → DRK → LTC → 1.002 BTC (in this case you earn a little)

1 比特币 -》 暗黑币 -》 莱特币 -》 1.002比特币 (在此例子中你赚取一点儿比特币)

So there are 2 ways to trade your Bitcoins and in the first case you lose a little and in the second you earn a little. You can check the prices on the market and calculate in which case you will earn, and how much exactly. If the profit is enough for you – then you can trade. Then you can repeat many times to earn more Bitcoins!

所以这里有2条路径去交易你的比特币并且第一条你亏损一点,第二条你赚一点。你可以检查市场上的价格并且计算哪条路径你可以赚钱,赚多少钱。如果收益对你来说足够,你可以去交易。

然后你可以重复多次去赚取更多的比特币。

Step 3

The statement in Step 2 would be correct in a high demand market with no taxes. But the real market has some trading fees.

But you can still make profit. Lets assume that you choose to trade:

第三步

在第二步在一个没有税的高需求的市场是正确的。 但是在实际市场中是有一些费用的。

但是你仍然可以产生利润。让我们假定你选择交易:

1 BTC → DRK → LTC → 1.002 BTC

In this case your earn 0.002 BTC, before trading fees

You can calculate how much are the trading fees:

For example the fee could be: 0.01% for transaction, and you have 3 transaction.

Fees = 3 x (0.01% * 1 BTC) = 0.0003 BTC

You subtract the fees from the earnings and in this case your earn 0.002 – 0.0003 = 0.0017 BTC.

1比特币 -》 暗黑币 -》 莱特币 -》 1.002比特币

除去交易费用之前,在这个例子你赚取0.002比特币。

你可以计算出来交易费用是多少:

举个例子 交易费率是 0.01% ,你有三次交易。

费用 等于 3 乘以 0.01% 乘以 1比特币 等于 0.0003 比特币

在这个例子中,你从赚取的比特币中减去费用,你仍然可以赚取 0.002-0.0003 = 0.0017比特币

Step 4

The statement in Step 3 would be correct in a high demand market, which changes slowly. But the real market changes fast! What you want to trade is:

第四步

在第三步如果是在一个高需求变化慢的市场中是正确的。但是实际市场变化很快!你想进行的交易:

1 BTC → DRK → LTC → 1.002 BTC

1比特币 -》 暗黑币 -》 莱特币-》 1.002比特币

But while you trade the Bitcoins to Darkcoins, the price of the Litecoins has changed and has ruined your strategy. What you actually get could be:

但是当你交易比特币兑换暗黑币的时候,莱特币的价格发生了改变并且破坏了你的策略。事实上你可以这么做:

1 BTC → DRK → LTC → 0.995 BTC

But there is a simple workaround. You need to have 3 BTC:

1 BTC + Darkcoins of value 1 BTC + Litecoins of value 1 BTC = 3 BTC

This way to can make 3 transactions at once, without waiting:

1 BTC → DRK

Darkcoins of value 1 BTC → LTC

Litecoins of value 1 BTC → 1.002 BTC

1比特币 -》 暗黑币 -》 莱特币 -》 0.995比特币

简单的解决办法是你需要有3个比特币:

1比特币 + 1个比特币价值的暗黑币 + 1比特币价值的莱特币 = 3比特币

这个办法可以使三次交易同时进行,不用等待。

1比特币 -》 暗黑币

1比特币价值的暗黑币 -》 莱特币

1比特币价值的莱特币 -》 1.002比特币

These 3 transactions will be practically an equivalent of the initial idea, but you run them simultaneously. The combination of these transaction will give you the profit in Bitcoins.

这三笔交易实际上将会等价我们最初的想法。但是你是同时运作他们,这些组合交易将会给你赚取比特币。

Final notes on the trading strategy:

Lack of supply and demand can ruin your strategy. If there is nobody to buy your Darkcoins in the next 15 minutes, the price may change and ruin the deal. Choose currencies that have a stable supply and demand.

最后 在交易策略上注明

缺乏供给和需求会破坏你的策略,如果接下来15分钟没有人去买你的暗黑币。价格可能改变并且破坏这次交易,选择具有稳定供给和需求的币种。

You have to act fast because if you calculate your profit for 2 minutes, the market may change! Make use of a trading bot.

I have programmed a trading bot in PHP for the Bitcoin Exchange, Trading BTC USD, BTC EUR - CEX.IO market that does this automatically and I have publish the source code for free download.

You can use this strategy with any currency. Good luck!

你不得不行动迅速因为如果你计算你的盈利后2分钟市场可能发生变化,创造并使用一个交易机器人吧。

我有一个 PHP程序化交易机器人 用于 Bitcoin Exchange, Trading BTC USD, BTC EUR - CEX.IO 这个交易所自动执行。并且 我公布开源。

你可以用这个策略在任何 虚拟货币交易上,好运!

译者:

第一次翻译,很渣 >_<

说下思路:

这个交易思路实际就是 币币对冲,可以扩展成三角、四角、N角对冲,原文作者用很通俗的语言一步一步讲出了这个策略的思路,让我们看到复杂的 多币种对冲原来是这么个套路。

看到这,我在想,直接在BotVS上实践出这个策略,直接写交易逻辑就OK了。自己维护模拟账号来实盘跟测一下,想赚钱,需要克服的还有滑点问题。

转载自 CreditStocks

翻译 BotVS

read more