将 Markdown 转换为 X Articles 富文本格式。 代码块渲染为图片,表格和 Mermaid 图表一键复制,AI 生成封面图,自动拆分 thread markdown2x.com
将 Markdown 转换为 X Articles 富文本格式。 代码块渲染为图片,表格和 Mermaid 图表一键复制,AI 生成封面图,自动拆分 thread markdown2x.com
从短线图表看A股还没跌到位置。最起码,目前还没止跌。 长期看今年应该是上涨的最后一年,下一个长线买点应该在3500左右,大概是后年。等等总会到的。 加密货币方面,依旧半死不活。这波行情涨多少又跌回去了。死鱼行情,撞死吧。 1 个帖子 - 1 位参与者 阅读完整话题
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
最近在优化一个量化策略,需要用到交易所图表里的一些指标,比如 smc 1 、官方 api 一开始我想得很简单:我联系了该交易所的工作人员询问技术指标的 api 。 他说交易指标是没有单独 api 的,建议我拉取 k 线自己计算 2 、自己算 于是我打算自己算,于是找到了 py 相关的库 smartmoneyconcepts ,但是我发现自己拉取 k 线算的和交易所有很大的出入,完全不一样,根本用不了啊 2 、网站爬 于是我决定还是从交易所网页上爬取 我发现点击交易指标时候,是没有新的接口调用的,说明是前端渲染的 实际就是 前端渲染的 canvas ,那就有很有可能获取到 js 最终发现了 F12 → Sources → Page ,通过 search 搜索到了对应算法 78686-fa6ec3f3500b6300.js ,通过 gpt 把这个 6000 多行的算法转化成了 py ,以为这样就结束了,但是最坑的来了! 3 、坑 一样的算法但是计算指标算出来就是不一样! 算出结果还是和交易所的不吻合,然后我打印发现交易所给的公开 k 线 api 和网页上实时的 api 相同时间数据不一样(有比如)!!! 如果你用交易所公开的 api 永远算不出相同的指标! 下面是细节,相同的时间戳 k 线值不一样~! 公开 K 线接口返回的是: Open: 0.5316 High: 0.5354 Low : 0.5251 Close: 0.5274 但网页图表接口返回的是: Open: 0.5311 High: 0.5349 Low : 0.5263 Close: 0.5316 然后我把公开接口换成了内部接口,我改成模拟网页请求,requests.Session(),这样算法一样,数据一样总一样了吧 但问题还没完全结束。 因为 SMC 这种指标不是只看最后几根 K 线,它还会记住前面的结构。 比如前面哪里形成了高点、低点,哪里有 OB ,哪些 OB 已经失效,当前 K 线有没有临时结构。这些都是隐藏的规则 所以我又发现一个细节:网页如果只加载 limit=1000 根 K 线,那 Python 也要按 1000 根去算。 如果我自己多拉 60 天、90 天,历史起点不一样,后面的结构也会跟网页不一样。 后面又对齐了几个小隐藏的规则,比如: 网页用 limit=1000 ,Python 也用 1000 根 OB 的 ATR 处理要和网页一致 BOS / CHoCH 在网页上显示的是一条结构线,不是单根 K 线 最后基本对齐了: K 线对齐 Order Block 对齐 BOS / CHoCH 基本对齐 也就是说,最后 Python 算出来的 SMC ,已经和交易所图上的 SMC 完全一致了。哇! 这次最大的收获是: 以后这个交易所网页上的基本所有的技术指标,就算官方不给 API ,也可以用类似方法,还原出来。
大家好,现在使用 CLI 的 ai agent ,用它通过各种图表、流程图的方式来展示解决方案 但因为中英文混搭,所以 ascii 输出的时候经常会出现漂移 请问大家碰到这种情况是怎么解决的 ps.单独的 mermaid/excalidraw 这种暂时不考虑,我只想在终端下能够快速展示
大家好,现在使用 CLI 的 ai agent ,用它通过各种图表、流程图的方式来展示解决方案 但因为中英文混搭,所以 ascii 输出的时候经常会出现漂移 请问大家碰到这种情况是怎么解决的 ps.单独的 mermaid/excalidraw 这种暂时不考虑,我只想在终端下能够快速展示
大家好,现在使用 CLI 的 ai agent ,用它通过各种图表、流程图的方式来展示解决方案 但因为中英文混搭,所以 ascii 输出的时候经常会出现漂移 请问大家碰到这种情况是怎么解决的 ps.单独的 mermaid/excalidraw 这种暂时不考虑,我只想在终端下能够快速展示
大家好,现在使用 CLI 的 ai agent ,用它通过各种图表、流程图的方式来展示解决方案 但因为中英文混搭,所以 ascii 输出的时候经常会出现漂移 请问大家碰到这种情况是怎么解决的 ps.单独的 mermaid/excalidraw 这种暂时不考虑,我只想在终端下能够快速展示
有份 PDF ,内容如下图所示。本来也有中文翻译版,但是翻译的太差了。 我曾经自己写脚本,调用 LLM API 翻译 EPUB 文件。 但这种 PDF ,还是文图表混排的 PDF ,完全没头绪。
有份 PDF ,内容如下图所示。本来也有中文翻译版,但是翻译的太差了。 我曾经自己写脚本,调用 LLM API 翻译 EPUB 文件。 但这种 PDF ,还是文图表混排的 PDF ,完全没头绪。