可视化模块搭建交易策略--浅出
通过本系列的前几章内容的学习,已经基本掌握各种类型的可视化模块的使用。
本章我们通过一个简单但是很有趣的策略,用可视化模块搭建出来。
- 一个简单暴力但是有趣的追涨杀跌策略
- 策略思路 策略思路核心就是追涨杀跌,选择市场为数字货币现货市场,例如BTC_USDT,按照策略运行时的当时价格为基础价格,价格上涨一定百分比,就按照目前资产(计价币)的一定百分比买入,同理价格下跌一定百分比,就卖出目前资产(币)一定百分比的标的物。
- 勾选可视化类库,增加复用模块 动手搭建前,我们增加一些可复用的模块。
文章图片
image.png 如上图所示:
类库栏中是一些可以复用的封装好的类库,勾选后即可使用。
勾选的「数字货币现货交易类库」是一个用于数字货币现货市场的交易类库,内部处理了下单后的复杂检测,重试等逻辑(例如,下单后没有成交如何处理等等)。
在搭建策略时,省去了很多复杂的处理逻辑,非常方便。
- 策略模块拼接
文章图片
image.png 由于策略思路很简单,策略模块拼接起来,并不是很大。
我们回测从18年10月开始,不到一年的时间内大小震荡、趋势行情都会出现,可以初步的检验策略。
回测参数:
文章图片
image.png 看下这个策略的回测绩效:
文章图片
image.png 等价的JavaScript语言策略,这里也同时放出,有兴趣的同学可以研究学习。
通过学习了可视化模块搭建策略,对于策略的构思,各个接口的使用,很方便的入门了程序化交易。
策略没有其它界面参数,有兴趣的同学可以优化扩展。
function main() { var basePrice = -1 var addRatio = 0.02while (true) { var ticker = exchange.GetTicker() if (basePrice == -1) { basePrice = ticker.Last }if ((ticker.Last - basePrice) > 0 && ((ticker.Last - basePrice) / basePrice > addRatio)) { var acc = exchange.GetAccount() var amount = acc.Balance * addRatio / ticker.Last$.Buy(amount) basePrice = ticker.Last } if ((ticker.Last - basePrice) < 0 && ((basePrice - ticker.Last) / basePrice > addRatio)) { var acc = exchange.GetAccount() var amount = acc.Stocks * addRatio$.Sell(amount) basePrice = ticker.Last } } }
对于该策略有个非常有意思的地方,就是账户资产初始的时候设置为币和钱价值等值,例如 BTC_USDT 交易对,目前BTC价格为10000,账户币分配5个,就把USDT分配50000个
策略对于市场行情,价格涨跌是持中性态度。
试下分配的USDT少一些,币多一些。
例如:
文章图片
image.png 回测有了明显的变化。
也可以设置USDT多一些,币少一些。
文章图片
image.png 拼拼模块,一起动手试试自己的程序化交易思路吧。
- 策略思路 策略思路核心就是追涨杀跌,选择市场为数字货币现货市场,例如BTC_USDT,按照策略运行时的当时价格为基础价格,价格上涨一定百分比,就按照目前资产(计价币)的一定百分比买入,同理价格下跌一定百分比,就卖出目前资产(币)一定百分比的标的物。
可视化范例策略:
- https://www.fmz.com/strategy/121404
- https://www.fmz.com/strategy/129895
- https://www.fmz.com/strategy/123904
- https://www.fmz.com/strategy/122318
【可视化模块搭建交易策略--浅出】本系列其它文章
- 可视化模块搭建交易策略--进阶
- 可视化模块搭建交易策略--初识
- 可视化模块搭建交易策略--深入
推荐阅读
- 六步搭建ES6语法环境
- SpringBoot调用公共模块的自定义注解失效的解决
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 解决SpringBoot引用别的模块无法注入的问题
- 为什么孩子一定要学会可视化思维!
- Python(pathlib模块)
- Apache多路复用模块(MPMs)介绍
- (1)redis集群原理及搭建与使用(1)
- 桁架搭建有什么价值()