韭菜收割机策略: https://www.fmz.com/strategy/34388 原始代码: https://github.com/richox/okcoin-leeks-reaper
国外有好几个免手续费的交易所,会写API接口的可以去试试。
我在测试过程中遇到些问题,来这里寻求帮助。谢谢!
kongbai979 这个策略盈利逻辑是什么?主要靠什么赚钱?
tmdsrt2 3.默认的BurstThresholdPct,实在是太小了。稍微波动一下,就相当于启动了。不知道帖主现在在跑的,有没有改小一点?
J 最近Poloniex的 BTC/USDC 交易对免手续费,可以跑高频
J FCoin 100% 返还手续费,又可以玩了,继续测试韭菜收割机! https://www.fmz.com/robot/93218
重仓出奇迹 第二个问题我也没看懂呢 https://dn-filebox.qbox.me/41bed7a69718a43b25f3715926d44361fa3d465d.jpg 开始这里我就很迷糊.trades获取只有一个.trades.length == 0怎么循环呢
valennn 请问这个策略在ok国际上能跑吗
汇链资本 新手,我也想知道这个程序的交易思路,例如:本次tick交易量 = 上次tick交易量*0.7 + 本次tick期间实际发生的交易量*0.3,用于平滑和减少噪音;本次tick价格 = (买1+卖1)*0.35 + (买2+卖2) * 0.10 + (买3+卖3)*0.05;bidPrice = orderBook.bids[0].limitPrice * 0.618 + orderBook.asks[0].limitPrice * 0.382 + 0.01,等等这些是按照什么来确定的?个人经验、喜好或是根据什么策略?
sanmao 我用这个策略没有挣到钱阿,有没有挣到钱的?
louis 交易一个月,亏损9%,准备放弃了。
xiahaohuan001 还用到了黄金分割率0.618,不知道啥意思(*^__^*)
J 分享自己移植的原代码里对价格的处理 // 2A. 价格未突破,减小力度 if (bull && (self.prices[self.prices.length-1] < _.max(self.prices.slice(0, -1)))) { tradeAmount *= 0.90 // 价格未创新高 } if (bear && (self.prices[self.prices.length-1] > _.min(self.prices.slice(0, -1)))) { tradeAmount *= 0.90 // 价格未创新低 } // 3. 短时价格波动过大,减小力度 if (Math.abs(self.prices[self.prices.length-1] - self.prices[self.prices.length-2]) > burstPrice * 2) { tradeAmount *= 0.90 // 2倍价格波动 } if (Math.abs(self.prices[self.prices.length-1] - self.prices[self.prices.length-2]) > burstPrice * 3) { tradeAmount *= 0.90 // 3倍价格波动 } if (Math.abs(self.prices[self.prices.length-1] - self.prices[self.prices.length-2]) > burstPrice * 4) { tradeAmount *= 0.90 // 4倍价格波动 } // 4. 盘口价差过大,减少力度 if (self.orderBook.Asks[0][0] - self.orderBook.Bids[0][0] > burstPrice * 2) { tradeAmount *= 0.90 // 2倍盘口价差 } if (self.orderBook.Asks[0][0] - self.orderBook.Bids[0][0] > burstPrice * 3) { tradeAmount *= 0.90 // 3倍盘口价差 } if (self.orderBook.Asks[0][0] - self.orderBook.Bids[0][0] > burstPrice * 4) { tradeAmount *= 0.90 // 4倍盘口价差 }
qinerg 有一个问题我没搞懂,哪位大牛能帮解释一下。 策略启动时初始化了两个账户。一个accountExchange,一个 tradeExchange。所有的交易都是tradeExchange所触发的。 其中仓位平衡的辅助策略中,通过account账户查余额并计算仓位的偏离情况,但却使用 trade账户去交易。就算交易成功了,也应该是增减trade账户的资金情况呀?它跟account账户到底是什么关系呢?
super888 // 更新时间价格序列 // 本次tick价格 = (买1+卖1)*0.35 + (买2+卖2) * 0.10 + (买3+卖3)*0.05 prices = prices[1 .. -1] + [( (orderBook.bids[0].limitPrice + orderBook.asks[0].limitPrice) / 2 + 0.7 + (orderBook.bids[1].limitPrice + orderBook.asks[1].limitPrice) / 2 + 0.2 + (orderBook.bids[2].limitPrice + orderBook.asks[2].limitPrice) / 2 + 0.1)] //======================================= 这里原作者的注释里写的思路很明白(权重之和==1.0), 而实际代码里却看不明白是什么思路(难道原作者自己代码写错了?把乘号错写成了+号。。。或者是故意的?) //=================后记================== 好吧,去github看了一下,果然原作者10天前修正了一次,把这个加号改成乘号了。这样的话,说明最初放出的代码是《修饰》过的,很难想像是发生了什么情况会把乘号复制成加号?
J 原代码里很重要的一些策略没有移植过来,建议自己加上。 // 2A. 价格未实现突破,减小力度 if (bull && prices[-1] < prices[0 .. -1].max()) tradeAmount *= 0.90 if (bear && prices[-1] > prices[0 .. -1].min()) tradeAmount *= 0.90 // 3. 短时价格波动过大,减小力度 if (Math.abs(prices[-1] - prices[-2]) > burstPrice * 2) tradeAmount *= 0.90 if (Math.abs(prices[-1] - prices[-2]) > burstPrice * 3) tradeAmount *= 0.90 if (Math.abs(prices[-1] - prices[-2]) > burstPrice * 4) tradeAmount *= 0.90 // 4. 盘口价差过大,减少力度 if (orderBook.asks[0].limitPrice - orderBook.bids[0].limitPrice > burstPrice * 2) tradeAmount *= 0.90 if (orderBook.asks[0].limitPrice - orderBook.bids[0].limitPrice > burstPrice * 3) tradeAmount *= 0.90 if (orderBook.asks[0].limitPrice - orderBook.bids[0].limitPrice > burstPrice * 4) tradeAmount *= 0.90
J 1BTC跑这个策略,一天交易量大概50BTC
qinerg def prices = [trades[-1].price] * 15 原作者也是这么写的,用于初始化的变量
qinerg 嗯,看代码也发现这几个问题: 1、self.prices[i] = trades[trades.length - 1].Price 数组里的值都更新为最新价了? 2、self.prices.push(_N((orderBook.Bids[0].Price + orderBook.Asks[0].Price) * 0.35 这里的0.35+0.1+0.05合计为0.5,而原作者代码是0.7+0.2+0.1
louis sleep 60000是每隔一分钟清理一次没有成交的订单 BurstThresholdPct 估计是大数据算出来的一个成交量 国外哪些交易所免手续费?
羊鲤飞 这个策略是保证币种不崩塌的情况下,也就是不归零的情况下永远都是赚钱的,是后期发力。
羊鲤飞 请问是这个策略吗??
Arasaka Capital 荒坂资本 你好,请问还在跑吗?不知python版可否发我一份学习一下。。实在看不太来Javascript。 我是币安做市商账户,负手续费。 q。515051842
tmdsrt2 哈哈,效果如何
tmdsrt2 Fcoin手续费是收什么币,返什么币。跟FT价格没关系
我爱毛爷爷 目的可能是如果trades没获取到,就再获取一次吧。
我爱毛爷爷 有做什么优化吗,前面没赚钱,后面赚的越来越多
J 今天FT跌了,收益曲线就下降了。这个策略原来跑的是BTC,而且需要卖空持有的BTC,这样才能保证不受价格起伏的影响。 我还没有找到合适的交易所跑这个策略
swordhnj 需要提前垫付一天的手续费,如果第二天Ft跌了怎么处理?
Evon 之前不是说还可以赢利吗?
kouyou7035 感觉问题应该是发生在交易所上。zaif在日本论坛上口碑也特别不好。
htcc 有在实盘上跑吗, 有没有盈利?
J 这个策略只能实盘测试,botvs上跑模拟盘没有意义。 日本的几个大交易所应该都是免费的吧。 我没有吃透这个策略的模式,对一些参数也不很了解,放弃研究了。
jimupon 大神对这个策略还有研究吗? 最后有没有赚到钱? 最近刚学习量化,用python重新写了下这个策略。 发现已经没有免费的交易所了,放在botvs实盘模拟上运行看了下,收益基本跟着币价走,平衡策略不盈利, 趋势策略基本没法成交,都被撤了,可能是botvs上成交量太低的原因? 还有必要在实盘上试嘛?
J QQ:3171061
追梦人 能留个联系方式吗?
诺女也 这个策略,估计是阉割过的。没有有效的止损。
valennn 持有也会有收益变化的好吧,没在跑的意思的没有发生交易
imcoddy 明明是一直在收益你却说没在跑……
valennn 一开始启动是有交易的,能跑十分钟这样吧,后来就不会交易了,返回的日志是这样的 https://dn-filebox.qbox.me/05c78f1d854212a532ae90c3e110c6451ae99ecf.jpg
J 打印出返回的错误信息看看什么原因吧。你说的跑了两下是已经交易了还是根本就没有交易?如果一次也没交易,那是策略本身没写好了
valennn 我之前试过跑,不是高频策略吗,不知道为什么跑了两下就不交易,是不是请求速度过快被禁IP了?
J 这样啊,那可能没问题,不过如果有些交易吃单算上手续费那也会亏
valennn ok国际是 taker - maker 模式,挂单不用手续费啊
J 基本是挂单
valennn 这个策略以吃单为主?
J 这是高频策略,只能在免手续费的交易所跑
rajajack 你在哪个平台上跑的这个策略??感觉这个策略半年32倍有点夸张呀!
J 我的理解这些参数就是靠经验,根据当前交易所、市场行情等来不断优化的。
louis 计算账户资产
J 这我没查询过。不过 trade_history 返回的是已成交记录,与 active_orders 对比下,应该能计算出成交量了。
J https://corp.zaif.jp/api-docs-en/trade-api/ 其中的 active_orders 返回所有未成交订单,包括订单号
J 存入比特币就能交易了,不用填信用卡号码
louis Zaif,免手续费
xiahaohuan001 算上手续费?
J 那是我误解了。这种高频对时间当然很敏感,如果延迟太大,我觉得只能把第一个参数百分比的阈值调高。 不过这个策略我运行了半个月,调了很多参数都还不能盈利,目前放弃了。
xiahaohuan001 被动延迟还能设置?
J 我说的也是 :-)
xiahaohuan001 我指的的是被动延迟,tick to trade的延迟
J 这几天一共交易了2000BTC也还是没赚
J 延迟的设置对策略影响应该是非常大的,策略依赖的价格和交易量都会依据不同的延迟而变化。
xiahaohuan001 行情延迟对策略有影响吗?
louis 老哥,我1w进去,量刷上去了,可还是没赚,今天早上看净值换成RMB还是1w,哭晕了。。。。你怎么样呢?
J 手动买卖了几次,有点没折腾明白,就放弃了。
Honanbtvs bitmex 如何?为什么不用这个呢,是不是有坑?
louis 他对刷量的交易貌似要求也比较多,其中有一条差价太小的不算。
J 当然没这么简单。还是请Zero赶快把这些免费的交易所加到Botvs上。
J 想办法认证账号, 刷量的交易费每天也能赚个1%
wuqianming 把移植策略的交易函数替换成httpquery()可以吗?
wuqianming 请问怎么写API接口啊,谢谢老哥
louis 跑了一天,貌似量刷上来了,但是没盈利。纠结。。。
louis 改了下参数,但是效果不好,还改出BUG了。
J 你昨天的交易量增加蛮多的
J 自己写的接口
3263243y 问下这个是在 zaif 跑的? BotVS 好像没 zaif 接口,怎么解决的?
jxc6698 我也跑了一个,暂时没啥效果,看了你的,我也有信心了
J Google 的验证码,也许被墙了? https://dn-filebox.qbox.me/c40a79c3e00ca877ee495df19a9f79d283da2b0e.png
qinerg Zaif 每次登录的时候,总是提示 "reCAPTCHAを確認してください.", 但是界面上根本没有验证码输入的地方呀? 你是怎么登录的呢?
louis 看到你这个我就有信心了
J 他一个人每天就近1000BTC的交易量,韭菜都被他割走了
J 继续努力,我的开始赚钱了 https://dn-filebox.qbox.me/a5bbb7f57ab71363eab3e48d864a13e70971c121.png
louis 今天这么大的波动,结果还是不赚钱。我可能用的是假代码。
louis 秘密結社ふがふが 这哥们的交易记录简直完美。。
J Quoine 深度不行,还是别去了。 Zaif 的交易量排行在 https://zaif.jp/public_trade_user/btc_jpy/1 。公开自己的交易量,需要在 Social Settings 页面最下面打开。
louis 我还打算去quoine呢,结果认证始终过不了....人生难道就是折腾么。。。 我也赚不到钱,感觉就是刷交易量,貌似Zaif有交易返点,但是没日本的电话认证过不了。 交易量排名到哪里看?
J 我也转战Zaif了,效果比Quoine好。交易量不少,不到2天交易量就进入排名第二页了,但是也不赚钱。比比咋们谁的机器人割韭菜更快 :-)
J 我觉得就是为了得到一个最优化的买卖价格。用0.5也可以,但是用黄金分割率可以在买入和卖出时,对买入、卖出价格的侧重点有所不同。
J 有道理!
louis 我在每个if里加一个判断tradeAmount >= 0.1的判断,可以减少后面计算量。
J Quoine 我也没融币,但是收益是按照融币来计算的,跑了2天没有赚头
J 不赚
louis quoine 可以融资融币?! 我在zaif跑,很奇葩的市场,下单5日元一个单位...
louis 一个账号,2个API接口吧,我是这么理解的。
louis 我大概也是1BTC跑的,死磕了下日志,总结出的核心思想和你上面说的一样。But,跑的两天不赚呀,苦笑ing... 怀疑是自己移植的有问题,你跑的这两天效果怎么样?
J 策略的理念之一就是50%持仓,所以在买卖后就不断用 0.01 的订单来回归50%的仓位。 当然如果价格继续上升或者下降,还会通过趋势买入卖出。 这个策略有1BTC应该就能运行了,再少的话很难看到效果了。
wuqianming botvs不支持quoine啊,怎么办
louis 没有看懂他这个趋势策略,经常是趋势部分刚买完,平衡策略就开始卖。是不是自己量太小了导致的?
jxc6698 恩恩,我觉得这个策略只能做taker。没深度的话,效果应该不太好的
J 是的,在 1. 那里是赋初值,后面通过 shift 和 push 来更新数据
J quoine.com, 深度不怎么好
jxc6698 你在哪个平台测试的?市场深度够吗
jxc6698 原来是3个线程啊,我说我一直奇怪呢。我重写成了python代码,回头试试
jxc6698 你的 1. 那一行在循环里面的吧。。。是数组左移
J 昨天运行了一天,发现这平衡策略基本是不赚钱的,现在要看趋势交易能否赚钱了。
J 明白了,这初始化变量没问题
louis 0.7 前面还有一个/2 = 0.35
louis 源码上是3个线程,主线程做的趋势交易,一个线程做平衡策略,一个线程做清理。
J 哦,原来那些进程是同步运行的。Javascript 里好像没法这么执行,只能去判断订单的时间了。 BurstThresholdPct 在策略里用于判断价格是否出现方向上的突破,这么小的比例感觉不合适。也许以前在OK那种交易量下还行? 免交易费的交易所看这里的统计: https://coinmarketcap.com/exchanges/volume/24-hour/no-fees/