docker restart always 不起作用

Linux李魔佛 发表了文章 • 0 个评论 • 1448 次浏览 • 2021-10-25 13:56 • 来自相关话题

出错了可以看看docker的日志
docker logs xxxxxxxxxx
 
xxxxxxx 为该容器的sha哈希的ID值
 
然后发现,--restart=always 被识别为非正确参数。 
大概知道问题是 --restart 的位置不对, 它不能放在最后,
吧 --restart=always 放到前面 就可以了。
  查看全部
出错了可以看看docker的日志
docker logs xxxxxxxxxx
 
xxxxxxx 为该容器的sha哈希的ID值
 
然后发现,--restart=always 被识别为非正确参数。 
大概知道问题是 --restart 的位置不对, 它不能放在最后,
吧 --restart=always 放到前面 就可以了。
 

去除k-vim没什么用的插件

Linux李魔佛 发表了文章 • 0 个评论 • 1449 次浏览 • 2021-10-22 11:05 • 来自相关话题

估计不少人接触vim插件是使用k-vim入门的。
不过k-vim里面继承了很多对我们一般人来说没有多大用处的插件。
可以放心移除的。
 
1. 
vim-fugitive是vim编辑器中的Git包装器插件,它可以让我们在vim编辑器中完成git操作
一般很少在文件内操作
 
2.
sjl/gundo.vim 成熟健壮的 IDE 都有本地代码回滚的功能,gundo 也可以帮助 Vim 实现查看历史记录和回滚的功能预览  查看全部
估计不少人接触vim插件是使用k-vim入门的。
不过k-vim里面继承了很多对我们一般人来说没有多大用处的插件。
可以放心移除的。
 
1. 
vim-fugitive是vim编辑器中的Git包装器插件,它可以让我们在vim编辑器中完成git操作
一般很少在文件内操作
 
2.
sjl/gundo.vim 成熟健壮的 IDE 都有本地代码回滚的功能,gundo 也可以帮助 Vim 实现查看历史记录和回滚的功能预览 

go中的rand.Int() 为什么每次返回的都是同一个值,并不是随机?

Golang李魔佛 发表了文章 • 0 个评论 • 4255 次浏览 • 2021-10-21 17:38 • 来自相关话题

比如下面的代码:
package main

import "math/rand"

func GenRandom() chan int {
ch := make(chan int, 10)
go func() {
for {
ch <- rand.Int()
}
}()

return ch
}
func main() {
ch := GenRandom()
println(<-ch)
println("end of main")

}
返回的永远都是
5577006791947779410
 
原因是每次没有调用rand.Seed(xxxx), 导致随机种子都是 1 。 见官方文档Seed uses the provided seed value to initialize the default Source to a deterministic state. If Seed is not called, the generator behaves as if seeded by Seed(1).
  
所以如果想要每次随机值不一样
需要用时间戳作为随机种子
 
func GenRandom() chan int {
ch := make(chan int, 10)
go func() {
rand.Seed(time.Now().Unix())
for {
ch <- rand.Intn(200)
}
}()

return ch
} 查看全部
比如下面的代码:
package main

import "math/rand"

func GenRandom() chan int {
ch := make(chan int, 10)
go func() {
for {
ch <- rand.Int()
}
}()

return ch
}
func main() {
ch := GenRandom()
println(<-ch)
println("end of main")

}

返回的永远都是
5577006791947779410
 
原因是每次没有调用rand.Seed(xxxx), 导致随机种子都是 1 。 见官方文档
Seed uses the provided seed value to initialize the default Source to a deterministic state. If Seed is not called, the generator behaves as if seeded by Seed(1).

  
所以如果想要每次随机值不一样
需要用时间戳作为随机种子
 
func GenRandom() chan int {
ch := make(chan int, 10)
go func() {
rand.Seed(time.Now().Unix())
for {
ch <- rand.Intn(200)
}
}()

return ch
}

优矿的chgPct7 最近一周的涨幅 验证

股票绫波丽 发表了文章 • 0 个评论 • 1613 次浏览 • 2021-10-13 19:49 • 来自相关话题

感觉优矿社区很不好。基本没有人回复,接口文档写得也很垃圾。
有个返回字段 chgPct7 最近一周的涨幅
通过使用实际数据验证,
chgPct7 是包含当天的数据,然后是最近一周,以一周7天的自然算的,并不是算k线的根数。
比如当前是2021年 9月28日,那么chgPCt7 是从9月22日的收盘价算到28日的收盘价的数据。 查看全部
感觉优矿社区很不好。基本没有人回复,接口文档写得也很垃圾。
有个返回字段 chgPct7 最近一周的涨幅
通过使用实际数据验证,
chgPct7 是包含当天的数据,然后是最近一周,以一周7天的自然算的,并不是算k线的根数。
比如当前是2021年 9月28日,那么chgPCt7 是从9月22日的收盘价算到28日的收盘价的数据。

twitter视频地址是动态变化的

网络绫波丽 发表了文章 • 0 个评论 • 1461 次浏览 • 2021-10-12 14:57 • 来自相关话题

也就是说过一段时间改视频url是会失效的。
需要保证在一段时间内下载下来,不然404.
 
也就是说过一段时间改视频url是会失效的。
需要保证在一段时间内下载下来,不然404.
 

怎么使用控制台将动态加载数据刷新出来啊????

回复

pythonliwenyu 发起了问题 • 1 人关注 • 0 个回复 • 1979 次浏览 • 2021-10-12 14:54 • 来自相关话题

删除ubuntu snap上旧版本的app 节省硬盘空间

Linux李魔佛 发表了文章 • 0 个评论 • 2557 次浏览 • 2021-09-20 18:36 • 来自相关话题

可以先看看到底有多少老版本的应用在后台:
 
snap list --all
 

 
然后可以选择保存下面的作为一个脚本,清理不必要的老版本的app应用
 
笔者已经试过的,放心使用.人畜无害.
 
#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu

LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done 查看全部
可以先看看到底有多少老版本的应用在后台:
 
snap list --all
 

 
然后可以选择保存下面的作为一个脚本,清理不必要的老版本的app应用
 
笔者已经试过的,放心使用.人畜无害.
 
#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu

LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done

知识星球的客服系统和服务很烂

闲聊绫波丽 发表了文章 • 0 个评论 • 1699 次浏览 • 2021-09-12 20:21 • 来自相关话题

首先系统有问题,总是提示“草稿文档保存数目超过上限。” 以至于无法保存草稿。
可是本人就写了一篇文章,然后草稿箱也是空的。这是bug吧?
 
然后打算咨询客服。 每次想到要咨询的时候,要么一直排队。要么就是非工作时间。
  查看全部
首先系统有问题,总是提示“草稿文档保存数目超过上限。” 以至于无法保存草稿。
可是本人就写了一篇文章,然后草稿箱也是空的。这是bug吧?
 
然后打算咨询客服。 每次想到要咨询的时候,要么一直排队。要么就是非工作时间。
 

持有封基老师文章合集 word版【包含公众号所有文字】

股票绫波丽 发表了文章 • 0 个评论 • 2226 次浏览 • 2021-09-03 16:11 • 来自相关话题

 
用程序爬取的数据,不得不说,封基老师从18年开始写文章。坚持每天写一篇。
里面有不少理念都是很适合上班族的。
 
文章是word版
 

 
 
下载地址:
链接:https://pan.baidu.com/s/1EZwJ6tsFiS92ftAdeNKWDw 
提取码:dcp4
  查看全部

 
用程序爬取的数据,不得不说,封基老师从18年开始写文章。坚持每天写一篇。
里面有不少理念都是很适合上班族的。
 
文章是word版
 

 
 
下载地址:
链接:https://pan.baidu.com/s/1EZwJ6tsFiS92ftAdeNKWDw 
提取码:dcp4
 

这种拿别人代码和数据改点东西 还弄错结果,挺搞笑的

股票绫波丽 发表了文章 • 0 个评论 • 2098 次浏览 • 2021-08-31 23:25 • 来自相关话题

 
这个ylxwyj纯属一个装逼犯。 简单的道理,洋洋洒洒写一大篇八股文,什么alpha,信息比率,对,很专业。 实际对文中的结论有任何作用吗? 提出来就是装逼用的。
 
更为搞笑的是自己结论弄错了,还不谦虚。 
 
这种人就像项目组里面,把你代码剽窃了,然后去外面跟别人说一通大道理。 然后最后发现无法自圆其说。 然后他说,哦 是xxx的代码有问题,是xxx的数据有问题。
  查看全部

 
这个ylxwyj纯属一个装逼犯。 简单的道理,洋洋洒洒写一大篇八股文,什么alpha,信息比率,对,很专业。 实际对文中的结论有任何作用吗? 提出来就是装逼用的。
 
更为搞笑的是自己结论弄错了,还不谦虚。 
 
这种人就像项目组里面,把你代码剽窃了,然后去外面跟别人说一通大道理。 然后最后发现无法自圆其说。 然后他说,哦 是xxx的代码有问题,是xxx的数据有问题。
 

敬畏市场 市场里没有永恒的圣杯

可转债绫波丽 发表了文章 • 0 个评论 • 1980 次浏览 • 2021-08-27 19:59 • 来自相关话题

无论回测,还是最近的实际盈利。可转债低溢价策略最近风头还是很猛的
 
实际上发力时间是在6月中旬
无论回测,还是最近的实际盈利。可转债低溢价策略最近风头还是很猛的
 
实际上发力时间是在6月中旬

有一个非常好用的油猴脚本

网络安全绫波丽 发表了文章 • 0 个评论 • 1933 次浏览 • 2021-08-27 17:01 • 来自相关话题

名字叫userscript+
 
这个脚本很简单,就是你打开某个网页后,会自动搜索这个网站相关的油猴脚本 !
也就是有了这个脚本后,以后找脚本就及其方便了。直接用一个脚本找其他剩余的。
 
比如装了这个脚本后,打开iqiyi
 
 
右下角会出现一个所有油猴脚本的地方 查看全部
名字叫userscript+
 
这个脚本很简单,就是你打开某个网页后,会自动搜索这个网站相关的油猴脚本 !
也就是有了这个脚本后,以后找脚本就及其方便了。直接用一个脚本找其他剩余的。
 
比如装了这个脚本后,打开iqiyi
 
 
右下角会出现一个所有油猴脚本的地方

可转债 攻守 读后感

书籍绫波丽 发表了文章 • 0 个评论 • 1707 次浏览 • 2021-08-27 03:13 • 来自相关话题

其实书本里很多内容在网上都可以找到。偏向规则解析与介绍,加一些案例。 实在没有很多新颖的东西。
 
大部分是拿企业的可转债发行公告的内容贴上去的。 或者拿饕餮海在雪球上的回复。
 
评分 1/5. 满分5分的话,得分为1分。 不推荐。 
 
我读的是PDF电子书
PS: 原来饕餮海是一名医生。也很难得,去年疫情的情况下,居然还能抽空写出一本书,不过也可以知道,如此仓促下写的书质量实在不行的。
 
  查看全部
其实书本里很多内容在网上都可以找到。偏向规则解析与介绍,加一些案例。 实在没有很多新颖的东西。
 
大部分是拿企业的可转债发行公告的内容贴上去的。 或者拿饕餮海在雪球上的回复。
 
评分 1/5. 满分5分的话,得分为1分。 不推荐。 
 
我读的是PDF电子书
PS: 原来饕餮海是一名医生。也很难得,去年疫情的情况下,居然还能抽空写出一本书,不过也可以知道,如此仓促下写的书质量实在不行的。
 
 

挺讨厌那些标题不写内容,只写个惊怵标题,然后需要用户点进去看的内容

闲聊绫波丽 发表了文章 • 0 个评论 • 1651 次浏览 • 2021-08-22 18:43 • 来自相关话题

对着这样的视频,如果下载在本地,看完后完全没有办法检索其内容的。
 
所以需要养成一个习惯,把它的标题加入新的内容。
 
个人的习惯是加入一个 viewed 标记,表示看完了。
一个分数。 表示这个视频的得分。
一个主要内容简介
 
比如
一个命名的视频文件为:
 
一个闷声发大财的行业【小Lin干货】
 
最后改为:
 
咨询 - 一个闷声发大财的行业【小Lin干货】  咨询行业 viewed.mp4
 
  查看全部
对着这样的视频,如果下载在本地,看完后完全没有办法检索其内容的。
 
所以需要养成一个习惯,把它的标题加入新的内容。
 
个人的习惯是加入一个 viewed 标记,表示看完了。
一个分数。 表示这个视频的得分。
一个主要内容简介
 
比如
一个命名的视频文件为:
 
一个闷声发大财的行业【小Lin干货】
 
最后改为:
 
咨询 - 一个闷声发大财的行业【小Lin干货】  咨询行业 viewed.mp4
 
 

腾讯云几十块一年的服务器只能拿来做玩具

闲聊绫波丽 发表了文章 • 0 个评论 • 1855 次浏览 • 2021-08-20 23:41 • 来自相关话题

真心垃圾。因为价格摆在那里。
但是做活动,几百块买了几年的。实际用下来,体验就是垃圾。
用sftp,下载文件,然后ssh就无法通入。
系统完全卡死了。
真心垃圾。因为价格摆在那里。
但是做活动,几百块买了几年的。实际用下来,体验就是垃圾。
用sftp,下载文件,然后ssh就无法通入。
系统完全卡死了。

知乎上的某些大v可以肆无忌惮的贴公众号营销,而那些普通作者则会被封号删帖

闲聊绫波丽 发表了文章 • 0 个评论 • 1819 次浏览 • 2021-08-17 01:10 • 来自相关话题

之前发的文章其实都很正常。后面为了引流,看到一些大v都在文末留公众号名称引流。故模仿之。
 
结果直接的号就被封了好几天。
 

 
后来得知,原来知乎并不是一视同仁。
 
一些粉丝多的用户,可以无视条款,疯狂引流推广,发二维码,发公众号。
并且你投诉举报他,完全是没有任何作用的。
 
而一旦你留言几个,比如“后台私信”这样的字眼,都会被无情的删帖。
 
个人举报的一些贴公众号的文章:
 

 
明摆着贴了公众号的,然后还是可以不被处理。
 
所以就知乎88啦。我玩B站去了。 反正你们也不在乎一个可有可无的用户。
  查看全部
之前发的文章其实都很正常。后面为了引流,看到一些大v都在文末留公众号名称引流。故模仿之。
 
结果直接的号就被封了好几天。
 

 
后来得知,原来知乎并不是一视同仁。
 
一些粉丝多的用户,可以无视条款,疯狂引流推广,发二维码,发公众号。
并且你投诉举报他,完全是没有任何作用的。
 
而一旦你留言几个,比如“后台私信”这样的字眼,都会被无情的删帖。
 
个人举报的一些贴公众号的文章:
 

 
明摆着贴了公众号的,然后还是可以不被处理。
 
所以就知乎88啦。我玩B站去了。 反正你们也不在乎一个可有可无的用户。
 

go env 与go path,go module 的设置

Golang量化大师 发表了文章 • 0 个评论 • 4532 次浏览 • 2021-08-16 16:56 • 来自相关话题

一、GOROOT

GOROOT指的Golang语言的安装路径,即Golang语言内置程序库所在的位置。通常在安装时环境变量会设置好GOROOT路径。当开发时,import标准库时并不需要额外安装,当程序运行后,也会去GOROOT路径下寻找相应程序。

二、GOPATH

GOPATH即存放第三方库的位置。通常开发时,会把GOPATH重新设置。

2.1 GOPATH目录

bin:放置编译后生成的可执行文件。

pkg:放置编译后生成的包/库的归档文件

src:放置项目和库的源文件;

2.1.1 src

用于以包(package)的形式组织并存放 Go 源文件,这里的包与 src 下的每个子目录是一一对应。例如,若一个源文件被声明属于 log 包,那么它就应当保存在 src/log 目录中。

并不是说 src 目录下不能存放 Go 源文件,一般在测试或演示的时候也可以把 Go 源文件直接放在 src目录下,但是这么做的话就只能声明该源文件属于 main 包了。正常开发中还是建议大家把 Go 源文件放入特定的目录中。

另外需要注意的是,Go语言会把通过go get命令获取到的库源文件下载到 src 目录下对应的文件夹当中。

2.1.2 pkg

用于存放通过go install命令安装某个包后的归档文件。归档文件是指那些名称以“.a”结尾的文件。

该目录与 GOROOT 目录(也就是Go语言的安装目录)下的 pkg 目录功能类似,区别在于这里的 pkg 目录专门用来存放项目代码的归档文件。

编译和安装项目代码的过程一般会以代码包为单位进行,比如 log 包被编译安装后,将生成一个名为 log.a 的归档文件,并存放在当前项目的 pkg 目录下。

2.1.3 bin

与 pkg 目录类似,在通过go install命令完成安装后,保存由 Go 命令源文件生成的可执行文件。在类 Unix 操作系统下,这个可执行文件的名称与命令源文件的文件名相同。

而在 Windows 操作系统下,这个可执行文件的名称则是命令源文件的文件名加 .exe 后缀。

2.2 设置和使用GOPATH
2.2.1 windows设置

在环境变量中添加GOPATH变量,将目录添加即可。

2.2.2 linux设置

设置当前目录为GOPATH:选择一个目录,在目录的命令行下执行
export GOPATH='pwd'
 
2.3 GOPATH缺点

只要第三方库不是官方程序库,都要放置到$GOPATH/src下才可以使用.

三 Go Modules

Golang从1.13版本开始有Go Modules.

3.1 使用Go Modules的好处

Go Modules可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等 使用Go Modules之后我们可不用将代码放置在src下了

3.2 使用Go Modules

官方github关于Modules的WIKI:https://github.com/golang/go/wiki/Modules 
使用 Go Modules 管理依赖后会在项目根目录下生成两个文件 go.mod 和 go.sum go.mod会记录当前项目的所有依赖项module test go 1.15 require http://github.com/gin-gonic/gin v1.6.3go.sum
会记录每个依赖库的版本和哈希值
 
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=3.3 如何开启Go Modules


要使用Go Modules首先要设置Go111Modules = on, GO111MODULE有三个值 on:开启 off:关闭 auto根据当前目录下是否有go.mod文件来判断是否使用modules功能

注意:**无论使用那种模式,module功能默认不在GOPATH目录下查找依赖文件,所以使用modules功能时请设置好代理

设置
GO111MODULE
# windows set GO111MODULE=on 
# linux export GO111MODULE=on
然后使用go env查看

3.4 初始化Go Modules进入项目文件夹test 
# 初始化路径 go mod init test 
# 检测依赖 go mod tidy 
# 如果有些依赖项未下载则需要下载 go mod download 
# 导入依赖 go mod vendor3.5 GoLand开启Go Modules

文件(File) 设置(Setting) 在GO选项下选择GO MODULES 启用Go Modules 设置代理服务器

3.6 更新依赖# 检测依赖 go mod tidy # 如果有些依赖项未下载则需要下载 go mod download # 导入依赖 go mod vendor3.7 Git使用GO MODULES注意事项

在git中需要把vendor文件夹放入白名单中,不然项目体积会很大。 git设置白名单方式为在git托管的项目根目录新建 .gitignore 文件,设置忽略即可,但是 go.mod 和 go.sum 不要忽略。 
另一人clone项目后在本地进行依赖更新(同上方依赖更新)即可

3.8 Go Module常用命令go mod init 
# 初始化go.mod go mod tidy 
# 更新依赖文件 go mod download 
# 下载依赖文件 go mod vendor 
# 将依赖转移至本地的vendor文件 go mod edit 
# 手动修改依赖文件 go mod graph 
# 打印依赖图 go mod verify 
# 校验依赖 go mod why 
# 解释为什么需要依赖四、GO PROXY

GOPROXY 是Go语言官方提供的一种通过中间代理商来为用户提供包下载服务的方式。要使用 GOPROXY 只需要设置环境变量 GOPROXY 即可。

4.1 国内镜像

// 阿里云镜像

GOPROXY=https://mirrors.aliyun.com/goproxy/ // 中国golang镜像

GOPROXY=https://goproxy.io

// 七牛云为中国的gopher提供了一个免费合法的代理goproxy.cn,其已经开源。只需一条简单命令就可以使用该代理:go env -w GOPROXY=https://goproxy.cn,direct五、Go Get

执行go get命令,在下载依赖包的同时还可以指定依赖包的版本。

运行go get -u命令会将项目中的包升级到最新的次要版本或者修订版本;

运行go get -u=patch命令会将项目中的包升级到最新的修订版本;

运行go get [包名]@[版本号]命令会下载对应包的指定版本或者将对应包升级到指定的版本。

提示:go get [包名]@[版本号]命令中版本号可以是 x.y.z 的形式,

例如 go get foo@v1.2.3,也可以是 git 上的分支或 tag,例如 go get foo@master,还可以是 git 提交时的哈希值,例如 go get foo@e3702bed2。

六、godep

godep 是一个Go语言官方提供的通过 vender 模式来管理第三方依赖的工具,类似的还有由社区维护的准官方包管理工具 dep。

Go语言从 1.5 版本开始开始引入 vendor 模式,如果项目目录下有 vendor 目录,那么Go语言编译器会优先使用 vendor 内的包进行编译、测试等。

6.1 安装godepgo get github.com/tools/godep命令执行成功后会将 godep 工具的源码下载到 GOPATH 的 src 录下对应的文件夹中,同时还会在 GOPATH 的 bin 目录下生成一个名为 godep.exe 的可执行文件。

6.2 配置环境变量


6.3 godep基本命令

命令 说明godep save 将依赖包的信息保存到Godeps.json文件中 godep go 使用保存的依赖项运行go工具 godep get 下载并安装指定的包 godep path 打印依赖的GOPATH路径 godep restore 在GOPATH中拉取依赖的版本 godep update 更新选定的包或go版本 godep diff 显示当前和以前保存的依赖项集之间的差异 godep version 查看版本信息6.4 使用godep

执行godep save命令,会在当前目录中创建 Godeps 和 vender 两个文件夹。

Godeps 文件夹下会生成一个 Godeps.json 文件,用来记录项目中所依赖的包信息;vender 目录则是用来保存当前项目所依赖的所有第三方包。生成的 Godeps.json 文件的结构如下所示:{
"ImportPath": "main",//项目路径信息
"GoVersion": "go1.13",//go语言版本号
"GodepVersion": "v80",//godep版本号
"Deps": [//当前引用的包
{
"ImportPath": "github.com/go-gomail/gomail",//依赖包路径
"Comment": "2.0.0-23-g81ebce5",//版本号
"Rev": "81ebce5c23dfd25c6c67194b37d3dd3f338c98b1"//哈希值
}
]
}
当所引用的第三方包要升级只需要修改Godep.json里面的依赖包的版本号,让后执行godep save命令即可。

godep查找依赖顺序: 在项目路径下的vender文件夹中查找 到GOPATH/src目录查找 查看全部
一、GOROOT

GOROOT指的Golang语言的安装路径,即Golang语言内置程序库所在的位置。通常在安装时环境变量会设置好GOROOT路径。当开发时,import标准库时并不需要额外安装,当程序运行后,也会去GOROOT路径下寻找相应程序。

二、GOPATH

GOPATH即存放第三方库的位置。通常开发时,会把GOPATH重新设置。

2.1 GOPATH目录

bin:放置编译后生成的可执行文件。

pkg:放置编译后生成的包/库的归档文件

src:放置项目和库的源文件;

2.1.1 src

用于以包(package)的形式组织并存放 Go 源文件,这里的包与 src 下的每个子目录是一一对应。例如,若一个源文件被声明属于 log 包,那么它就应当保存在 src/log 目录中。

并不是说 src 目录下不能存放 Go 源文件,一般在测试或演示的时候也可以把 Go 源文件直接放在 src目录下,但是这么做的话就只能声明该源文件属于 main 包了。正常开发中还是建议大家把 Go 源文件放入特定的目录中。

另外需要注意的是,Go语言会把通过go get命令获取到的库源文件下载到 src 目录下对应的文件夹当中。

2.1.2 pkg

用于存放通过go install命令安装某个包后的归档文件。归档文件是指那些名称以“.a”结尾的文件。

该目录与 GOROOT 目录(也就是Go语言的安装目录)下的 pkg 目录功能类似,区别在于这里的 pkg 目录专门用来存放项目代码的归档文件。

编译和安装项目代码的过程一般会以代码包为单位进行,比如 log 包被编译安装后,将生成一个名为 log.a 的归档文件,并存放在当前项目的 pkg 目录下。

2.1.3 bin

与 pkg 目录类似,在通过go install命令完成安装后,保存由 Go 命令源文件生成的可执行文件。在类 Unix 操作系统下,这个可执行文件的名称与命令源文件的文件名相同。

而在 Windows 操作系统下,这个可执行文件的名称则是命令源文件的文件名加 .exe 后缀。

2.2 设置和使用GOPATH
2.2.1 windows设置

在环境变量中添加GOPATH变量,将目录添加即可。

2.2.2 linux设置

设置当前目录为GOPATH:选择一个目录,在目录的命令行下执行
export GOPATH='pwd'
 
2.3 GOPATH缺点

只要第三方库不是官方程序库,都要放置到$GOPATH/src下才可以使用.

三 Go Modules

Golang从1.13版本开始有Go Modules.

3.1 使用Go Modules的好处

Go Modules可以将某个项目(文件夹)下的所有依赖整理成一个 go.mod 文件,里面写入了依赖的版本等 使用Go Modules之后我们可不用将代码放置在src下了

3.2 使用Go Modules

官方github关于Modules的WIKI:https://github.com/golang/go/wiki/Modules 
使用 Go Modules 管理依赖后会在项目根目录下生成两个文件 go.mod 和 go.sum go.mod会记录当前项目的所有依赖项module test go 1.15 require http://github.com/gin-gonic/gin v1.6.3go.sum
会记录每个依赖库的版本和哈希值
 
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=3.3 如何开启Go Modules


要使用Go Modules首先要设置Go111Modules = on, GO111MODULE有三个值 on:开启 off:关闭 auto根据当前目录下是否有go.mod文件来判断是否使用modules功能

注意:**无论使用那种模式,module功能默认不在GOPATH目录下查找依赖文件,所以使用modules功能时请设置好代理

设置
GO111MODULE
# windows set GO111MODULE=on 
# linux export GO111MODULE=on
然后使用go env查看

3.4 初始化Go Modules进入项目文件夹test 
# 初始化路径 go mod init test 
# 检测依赖 go mod tidy 
# 如果有些依赖项未下载则需要下载 go mod download 
# 导入依赖 go mod vendor3.5 GoLand开启Go Modules

文件(File) 设置(Setting) 在GO选项下选择GO MODULES 启用Go Modules 设置代理服务器

3.6 更新依赖# 检测依赖 go mod tidy # 如果有些依赖项未下载则需要下载 go mod download # 导入依赖 go mod vendor3.7 Git使用GO MODULES注意事项

在git中需要把vendor文件夹放入白名单中,不然项目体积会很大。 git设置白名单方式为在git托管的项目根目录新建 .gitignore 文件,设置忽略即可,但是 go.mod 和 go.sum 不要忽略。 
另一人clone项目后在本地进行依赖更新(同上方依赖更新)即可

3.8 Go Module常用命令go mod init 
# 初始化go.mod go mod tidy 
# 更新依赖文件 go mod download 
# 下载依赖文件 go mod vendor 
# 将依赖转移至本地的vendor文件 go mod edit 
# 手动修改依赖文件 go mod graph 
# 打印依赖图 go mod verify 
# 校验依赖 go mod why 
# 解释为什么需要依赖四、GO PROXY

GOPROXY 是Go语言官方提供的一种通过中间代理商来为用户提供包下载服务的方式。要使用 GOPROXY 只需要设置环境变量 GOPROXY 即可。

4.1 国内镜像

// 阿里云镜像

GOPROXY=https://mirrors.aliyun.com/goproxy/ // 中国golang镜像

GOPROXY=https://goproxy.io

// 七牛云为中国的gopher提供了一个免费合法的代理goproxy.cn,其已经开源。只需一条简单命令就可以使用该代理:go env -w GOPROXY=https://goproxy.cn,direct五、Go Get

执行go get命令,在下载依赖包的同时还可以指定依赖包的版本。

运行go get -u命令会将项目中的包升级到最新的次要版本或者修订版本;

运行go get -u=patch命令会将项目中的包升级到最新的修订版本;

运行go get [包名]@[版本号]命令会下载对应包的指定版本或者将对应包升级到指定的版本。

提示:go get [包名]@[版本号]命令中版本号可以是 x.y.z 的形式,

例如 go get foo@v1.2.3,也可以是 git 上的分支或 tag,例如 go get foo@master,还可以是 git 提交时的哈希值,例如 go get foo@e3702bed2。

六、godep

godep 是一个Go语言官方提供的通过 vender 模式来管理第三方依赖的工具,类似的还有由社区维护的准官方包管理工具 dep。

Go语言从 1.5 版本开始开始引入 vendor 模式,如果项目目录下有 vendor 目录,那么Go语言编译器会优先使用 vendor 内的包进行编译、测试等。

6.1 安装godepgo get github.com/tools/godep命令执行成功后会将 godep 工具的源码下载到 GOPATH 的 src 录下对应的文件夹中,同时还会在 GOPATH 的 bin 目录下生成一个名为 godep.exe 的可执行文件。

6.2 配置环境变量


6.3 godep基本命令

命令 说明godep save 将依赖包的信息保存到Godeps.json文件中 godep go 使用保存的依赖项运行go工具 godep get 下载并安装指定的包 godep path 打印依赖的GOPATH路径 godep restore 在GOPATH中拉取依赖的版本 godep update 更新选定的包或go版本 godep diff 显示当前和以前保存的依赖项集之间的差异 godep version 查看版本信息6.4 使用godep

执行godep save命令,会在当前目录中创建 Godeps 和 vender 两个文件夹。

Godeps 文件夹下会生成一个 Godeps.json 文件,用来记录项目中所依赖的包信息;vender 目录则是用来保存当前项目所依赖的所有第三方包。生成的 Godeps.json 文件的结构如下所示:
{
"ImportPath": "main",//项目路径信息
"GoVersion": "go1.13",//go语言版本号
"GodepVersion": "v80",//godep版本号
"Deps": [//当前引用的包
{
"ImportPath": "github.com/go-gomail/gomail",//依赖包路径
"Comment": "2.0.0-23-g81ebce5",//版本号
"Rev": "81ebce5c23dfd25c6c67194b37d3dd3f338c98b1"//哈希值
}
]
}

当所引用的第三方包要升级只需要修改Godep.json里面的依赖包的版本号,让后执行godep save命令即可。

godep查找依赖顺序: 在项目路径下的vender文件夹中查找 到GOPATH/src目录查找

通达信公式转python代码

股票量化大师 发表了文章 • 0 个评论 • 2597 次浏览 • 2021-08-12 18:10 • 来自相关话题

本人目前正在做这个转换工作。并定期更新发布在这里。有兴趣的可以参与。
本人目前正在做这个转换工作。并定期更新发布在这里。有兴趣的可以参与。

不用任何软件 快速下载知乎视频

网络量化大师 发表了文章 • 0 个评论 • 2912 次浏览 • 2021-08-11 12:51 • 来自相关话题

最近看到一些知乎上的视频不错,准备下载下来学习的。

 
 
怎样才可以不需要使用任何工具下载下来呢?
 
这里以chrome浏览器为例。
 
首先打开视频播放页面:
以上面截图的视频为例
https://www.zhihu.com/question/417763830/answer/2036676961
 
鼠标右键,点击查看源码,搜索MP4字符
找到这里的字符串:

然后复制url:后面的字符串,这个就是视频url的真实地址。"https:\u002F\u002Fvdn3.vzuu.com\u002FSD\u002F5f477b70-f37d-11eb-8aae-264209b0c9bf-v4_t111-vicRmYPff3.mp4?disable_local_cache=1&auth_key=1628660373-0-0-63bfc4cfa197dbe658ae186fa0cb4d05&f=mp4&bu=answer&expiration=1628660373&v=tx"
 
但是url的编码是显示有问题的,用的是uncode字符,所以我们要转为utf8,我们平时看得见的字符
 
按下F12,然后在控制台里面把刚才的url复制过来,然后按下enter
 
返回的就是已经编码好的视频地址了:

 
 
然后复制到浏览器,就可以直接看到视频啦。 然后用鼠标右键,直接另存视频为本地文件就可以了。

 
原创文章,转载请注明出处:
http://www.30daydo.com/article/44255
  查看全部
最近看到一些知乎上的视频不错,准备下载下来学习的。

 
 
怎样才可以不需要使用任何工具下载下来呢?
 
这里以chrome浏览器为例。
 
首先打开视频播放页面:
以上面截图的视频为例
https://www.zhihu.com/question/417763830/answer/2036676961
 
鼠标右键,点击查看源码,搜索MP4字符
找到这里的字符串:

然后复制url:后面的字符串,这个就是视频url的真实地址。
"https:\u002F\u002Fvdn3.vzuu.com\u002FSD\u002F5f477b70-f37d-11eb-8aae-264209b0c9bf-v4_t111-vicRmYPff3.mp4?disable_local_cache=1&auth_key=1628660373-0-0-63bfc4cfa197dbe658ae186fa0cb4d05&f=mp4&bu=answer&expiration=1628660373&v=tx"

 
但是url的编码是显示有问题的,用的是uncode字符,所以我们要转为utf8,我们平时看得见的字符
 
按下F12,然后在控制台里面把刚才的url复制过来,然后按下enter
 
返回的就是已经编码好的视频地址了:

 
 
然后复制到浏览器,就可以直接看到视频啦。 然后用鼠标右键,直接另存视频为本地文件就可以了。

 
原创文章,转载请注明出处:
http://www.30daydo.com/article/44255
 

为什么我宁愿用谷歌而放弃百度

网络李魔佛 发表了文章 • 0 个评论 • 1812 次浏览 • 2021-08-10 20:57 • 来自相关话题

同样的关键字,和你的文章完全匹配。 看看百度搜索出来的是什么玩意?
 
关键字: 通达信无法导入或者监控到可转债的代码
 
百度的结果如下:
 

完全不相关的搜索结果。
 
 
谷歌的搜索结果是这样的:

 
不得不说,百度收录的都是些什么鬼。
一生黑了。 查看全部
同样的关键字,和你的文章完全匹配。 看看百度搜索出来的是什么玩意?
 
关键字: 通达信无法导入或者监控到可转债的代码
 
百度的结果如下:
 

完全不相关的搜索结果。
 
 
谷歌的搜索结果是这样的:

 
不得不说,百度收录的都是些什么鬼。
一生黑了。

windows githbash 中的vim 配置

闲聊量化大师 发表了文章 • 0 个评论 • 1909 次浏览 • 2021-08-10 20:43 • 来自相关话题

windows githbash 中的vim 配置
打开git-bash
cd ~
vim .vimrc
 
然后就可以设置常用的vim配置了
 
比如显示行号:
set number
"语法高亮 
syntax on 
  查看全部
windows githbash 中的vim 配置
打开git-bash
cd ~
vim .vimrc
 
然后就可以设置常用的vim配置了
 
比如显示行号:
set number
"语法高亮 
syntax on 
 

Go的包管理比python烂得多,不知道为啥还要被吹捧

python李魔佛 发表了文章 • 0 个评论 • 1776 次浏览 • 2021-08-07 23:53 • 来自相关话题

1. 不兼容
GO111MODULE与GOPATH不兼容
 
2. 竟然要搞动系统的环境变量。
主要本人使用vim开发,编译运行都在shell底下,windows也是在cmd下跑的
 
3. 下载包的地址被墙,需要设置国内的地址。并且官方的包镜像也在github,其下载速度,你懂的。
蜗牛一样的。 查看全部
1. 不兼容
GO111MODULE与GOPATH不兼容
 
2. 竟然要搞动系统的环境变量。
主要本人使用vim开发,编译运行都在shell底下,windows也是在cmd下跑的
 
3. 下载包的地址被墙,需要设置国内的地址。并且官方的包镜像也在github,其下载速度,你懂的。
蜗牛一样的。

知乎的技术很烂,一个视频重新上传的功能都没做好

闲聊李魔佛 发表了文章 • 0 个评论 • 1282 次浏览 • 2021-08-07 23:08 • 来自相关话题

技术不咋地。
视频上传失败了,然后点击重新上传,一点反应都没有。
只能刷新页面,把已经填好的标题,内容等重新填过过。
 
 
技术不咋地。
视频上传失败了,然后点击重新上传,一点反应都没有。
只能刷新页面,把已经填好的标题,内容等重新填过过。
 
 

python 上传文件夹内图片到七牛,同时加入批量删除,单个删除

python李魔佛 发表了文章 • 0 个评论 • 1909 次浏览 • 2021-08-07 17:08 • 来自相关话题

先注册好七牛的账户,那都AK和SK两个key
 
然后把key写入到环境变量或者写到下面的python文件里面from qiniu import Auth, put_file,BucketManager,build_batch_delete
import os
import fire

access_key = os.getenv('qiniu_access_key')
secret_key = os.getenv('qiniu_secret_key')

bucket_name = '' # 你的空间名称

HOST ='[url]http://xximg.xxx.com/{}'[/url] # 可以不用填

TEMPLATE = '\n![{}]({})\n\n\n'

def upload(file,category=''):

    #构建鉴权对象
    q = Auth(access_key, secret_key)
    #要上传的空间

    #上传后保存的文件名
    key = category +'/' + os.path.split(file)[1]
    #生成上传 Token,可以指定过期时间等
    token = q.upload_token(bucket_name, key) # 永不过期

    #要上传文件的本地路径
    ret, info = put_file(token, key, file, version='v1') 
    print(ret)
    print(info)
    return HOST.format(ret['key'])

def bulk_upload(path,category=''):
    with open('qiniu_image.md','a+') as fp:
        for file in os.listdir(path):
            full_path = os.path.join(path,file)
            if os.path.isfile(full_path):

                host_url = upload(full_path,category)
                fp.write(TEMPLATE.format(host_url,host_url))


def get_file_info(prefix,limit = 10):
    q = Auth(access_key, secret_key)
    bucket = BucketManager(q)

    delimiter = None
    marker = None
    ret, eof, info = bucket.list(bucket_name, prefix, marker, limit, delimiter)

    # assert len(ret.get('items')) is not None
    url_list=[]
    for item in ret.get('items',):
        url_list.append(item['key'])
    # print(url_list)
    # print(len(url_list))
    return url_list,len(url_list)

def bulk_delete(prefix,limit=None):
    url_list,lens = get_file_info(prefix,limit=limit)
    q = Auth(access_key, secret_key)
    bucket = BucketManager(q)
    ops = build_batch_delete(bucket_name, url_list)
    ret, info = bucket.batch(ops)
    print(info)
    print(ret)

def delete_one(key):
    q = Auth(access_key, secret_key)
    #初始化BucketManager
    bucket = BucketManager(q)
    #你要测试的空间, 并且这个key在你空间中存在
    # key = 'python-logo.png'
    #删除bucket_name 中的文件 key
    ret, info = bucket.delete(bucket_name, key)
    print(info)
    print(ret)
    # assert ret == {}


def bulk_delete_ones(prefix):
    url_list,lens = get_file_info(prefix,limit=10)
    for url in url_list:
        delete_one(url)
        # print(url)

def main(path,category):

    if os.path.isdir(path):

         bulk_upload(path,category)
    elif os.path.isfile(path):
         upload(path,category)
    else:
         raise ValueError('文件不存在')

    get_file_info()
    bulk_delete('resource')
    bulk_delete_ones('resource')
    delete_one('resource/data_beauty.png')

if __name__ == '__main__':
    fire.Fire(main)



然后运行:
python main.py --path='C:\Photo' --category='person'
运行后会上传到七牛的虚拟目录 person目录下
 
如果要删除,bulk_delete批量删除某个前缀或者文件夹的  查看全部
先注册好七牛的账户,那都AK和SK两个key
 
然后把key写入到环境变量或者写到下面的python文件里面
from qiniu import Auth, put_file,BucketManager,build_batch_delete
import os
import fire

access_key = os.getenv('qiniu_access_key')
secret_key = os.getenv('qiniu_secret_key')

bucket_name = '' # 你的空间名称

HOST ='[url]http://xximg.xxx.com/{}'[/url] # 可以不用填

TEMPLATE = '\n![{}]({})\n\n\n'

def upload(file,category=''):

    #构建鉴权对象
    q = Auth(access_key, secret_key)
    #要上传的空间

    #上传后保存的文件名
    key = category +'/' + os.path.split(file)[1]
    #生成上传 Token,可以指定过期时间等
    token = q.upload_token(bucket_name, key) # 永不过期

    #要上传文件的本地路径
    ret, info = put_file(token, key, file, version='v1') 
    print(ret)
    print(info)
    return HOST.format(ret['key'])

def bulk_upload(path,category=''):
    with open('qiniu_image.md','a+') as fp:
        for file in os.listdir(path):
            full_path = os.path.join(path,file)
            if os.path.isfile(full_path):

                host_url = upload(full_path,category)
                fp.write(TEMPLATE.format(host_url,host_url))


def get_file_info(prefix,limit = 10):
    q = Auth(access_key, secret_key)
    bucket = BucketManager(q)

    delimiter = None
    marker = None
    ret, eof, info = bucket.list(bucket_name, prefix, marker, limit, delimiter)

    # assert len(ret.get('items')) is not None
    url_list=[]
    for item in ret.get('items',):
        url_list.append(item['key'])
    # print(url_list)
    # print(len(url_list))
    return url_list,len(url_list)

def bulk_delete(prefix,limit=None):
    url_list,lens = get_file_info(prefix,limit=limit)
    q = Auth(access_key, secret_key)
    bucket = BucketManager(q)
    ops = build_batch_delete(bucket_name, url_list)
    ret, info = bucket.batch(ops)
    print(info)
    print(ret)

def delete_one(key):
    q = Auth(access_key, secret_key)
    #初始化BucketManager
    bucket = BucketManager(q)
    #你要测试的空间, 并且这个key在你空间中存在
    # key = 'python-logo.png'
    #删除bucket_name 中的文件 key
    ret, info = bucket.delete(bucket_name, key)
    print(info)
    print(ret)
    # assert ret == {}


def bulk_delete_ones(prefix):
    url_list,lens = get_file_info(prefix,limit=10)
    for url in url_list:
        delete_one(url)
        # print(url)

def main(path,category):

    if os.path.isdir(path):

         bulk_upload(path,category)
    elif os.path.isfile(path):
         upload(path,category)
    else:
         raise ValueError('文件不存在')

    get_file_info()
    bulk_delete('resource')
    bulk_delete_ones('resource')
    delete_one('resource/data_beauty.png')

if __name__ == '__main__':
    fire.Fire(main)



然后运行:
python main.py --path='C:\Photo' --category='person'
运行后会上传到七牛的虚拟目录 person目录下
 
如果要删除,bulk_delete批量删除某个前缀或者文件夹的 

通达信无法导入或者监控到可转债的代码

股票绫波丽 发表了文章 • 0 个评论 • 1927 次浏览 • 2021-08-06 13:02 • 来自相关话题

第一次用, 以为那里出问题了。
原来本身就不支持导入可转债代码
只能导入正股代码
第一次用, 以为那里出问题了。
原来本身就不支持导入可转债代码
只能导入正股代码

30天掌握Golang 教程系列 第一课 基础知识

量化交易-Ptrade-QMT量化大师 发表了文章 • 0 个评论 • 1987 次浏览 • 2021-08-04 01:15 • 来自相关话题

基础练习:
这里有一个Golang的练习库,输入基础入门的资料。 大家可以先练习练习:
https://github.com/Rockyzsu/GolangLearning/tree/master/Go-Notes
 

基础语法是没办法绕过的,如果前期不打扎实,后期也会不断来回折腾。除非你做的项目只是一次性的,否则,磨刀不误砍柴工,还是打扎实。 把上面的github的例子弄懂,这个Go-notes的好处是,如果遇到你不懂的,可以马上查找相关的资料。如果全部都懂的话,可以进阶到第二阶段。
个人觉得还是得要多看看别人的代码,看多了,其实你写代码也会有灵感。(虽然有些人写的代码很烂,但是也可以自己做过标号,避免自己以后写出同样的代码。) 

PS: 本来我想从0开始写教程,不过网上其实也有很多教程,很多视频。 也有不少的书籍可以学。所以就没有必要重复造轮子了。
 
而实际的情况是,入门的人数需求是100个人,而进阶的需求是只有60个人,而深入理解并需要对应的教程的,可能只有20人不到。
 
所以想着写golang教程,最受欢迎的其实是hello world教程。
 
实际写起来也很容易,无法就是if - else,for, 切片,数组,通道,goroutine,结构体等。
不过对于笔者的能力提升是没有一点点用处的,当日提升知名度除外。
 
所以入门系列的基础课,我这里就一比带过。可以留一些比较容易踩到的坑。
 
当然这个基础知识不可能 第一天就全部搞定。 可以多花几天甚至一周的时间。
  查看全部
基础练习:
这里有一个Golang的练习库,输入基础入门的资料。 大家可以先练习练习:
https://github.com/Rockyzsu/GolangLearning/tree/master/Go-Notes
 

基础语法是没办法绕过的,如果前期不打扎实,后期也会不断来回折腾。除非你做的项目只是一次性的,否则,磨刀不误砍柴工,还是打扎实。 把上面的github的例子弄懂,这个Go-notes的好处是,如果遇到你不懂的,可以马上查找相关的资料。如果全部都懂的话,可以进阶到第二阶段。
个人觉得还是得要多看看别人的代码,看多了,其实你写代码也会有灵感。(虽然有些人写的代码很烂,但是也可以自己做过标号,避免自己以后写出同样的代码。) 

PS: 本来我想从0开始写教程,不过网上其实也有很多教程,很多视频。 也有不少的书籍可以学。所以就没有必要重复造轮子了。
 
而实际的情况是,入门的人数需求是100个人,而进阶的需求是只有60个人,而深入理解并需要对应的教程的,可能只有20人不到。
 
所以想着写golang教程,最受欢迎的其实是hello world教程。
 
实际写起来也很容易,无法就是if - else,for, 切片,数组,通道,goroutine,结构体等。
不过对于笔者的能力提升是没有一点点用处的,当日提升知名度除外。
 
所以入门系列的基础课,我这里就一比带过。可以留一些比较容易踩到的坑。
 
当然这个基础知识不可能 第一天就全部搞定。 可以多花几天甚至一周的时间。
 

Ptrade开户门槛

股票绫波丽 发表了文章 • 0 个评论 • 2158 次浏览 • 2021-08-01 01:27 • 来自相关话题

Ptrade目前的开通门槛。 开通国金证券, 然后入金50W左右,存放1天时间。 然后就可以开通Ptrade的交易权限, 开通权限后,资金可以取出不再限制。
 
使用ptrade不收取任何费用,属于券商提供的接口服务。 可以使用ptrade回测历史数据,模拟盘下单, 实盘下单。
使用python语言开发。 使用模式和优矿这一些平台类似。
 
目前交易费率也是很低的,股票万1,转债是沪市百万分之二,深市十万分之五,没有最低收费。 etf基金费率 万0.6,没有最低起步。
 
需要开通的联系:


 
备注:开户
非诚勿扰,费率固定,要讲价什么的一律拉黑。
本身市面上能提供的接口券商很少,并且费率还这么低的。
  查看全部
Ptrade目前的开通门槛。 开通国金证券, 然后入金50W左右,存放1天时间。 然后就可以开通Ptrade的交易权限, 开通权限后,资金可以取出不再限制。
 
使用ptrade不收取任何费用,属于券商提供的接口服务。 可以使用ptrade回测历史数据,模拟盘下单, 实盘下单。
使用python语言开发。 使用模式和优矿这一些平台类似。
 
目前交易费率也是很低的,股票万1,转债是沪市百万分之二,深市十万分之五,没有最低收费。 etf基金费率 万0.6,没有最低起步
 
需要开通的联系:


 
备注:开户
非诚勿扰,费率固定,要讲价什么的一律拉黑。
本身市面上能提供的接口券商很少,并且费率还这么低的。
 

绫波丽 发表了文章 • %s 个评论 • %s 次浏览 • 1970-01-01 08:00 • 来自相关话题

他人 中概互联 被深套 却以套利为由 捡回一点颜面

闲聊绫波丽 发表了文章 • 0 个评论 • 1747 次浏览 • 2021-07-30 00:28 • 来自相关话题

 
看到的一篇文章: 
 

中国互联,两天套利收益3712元,我却很难过
最近一段时间,网络科技股遭遇了大幅调整。
三只主流互联网基金中(中概互联513050,中国互联164906,恒生互联513330),中国互联164906,跌幅超大,半年左右时间,从高点2.6元,跌到当前的1.36元,跌幅为48.8%。(21.7.28)
现在没必要讨论是否应该抄底的问题,想抄底的人,早就买在半山腰了。现在更应该想的是,已经持有这些基金的人,怎么尽快摆脱困境。
相比另外两只ETF基金,中国互联是LOF基金,可以通过套利减少亏损。2021年7月23日,1.598元,卖出15500股,申购成本1.5元,去除手续费,收益1472元。
2021年7月26日,1.504元,卖出17500股,申购成本1.374元,去除手续费,收益2240元。
两天套利收益3712元,我却难过的想哭
为什么这样说?因为申购套利份额三天到账,每天只能使用1/3的仓位参与。1/3仓位,参与套利,这两天少亏了3712元,另外2/3的仓位,实实在在的下跌,至少亏了 3712x2=7424元。
事实上就是如此,7万多元的底仓,已经亏损了8000多元,如果没做套利,真实的亏损,是12000元。
从这件事情上,我们可以得到如下启示:
1,三天跌去20%,6个月跌掉将近50%,这是普通投资者不能接受的。尽量少参与QDII基金,外围市场更加不稳定,风险偏大。如果想投资QDII基金,首选有套利机制的LOF
2,QDII基金要严格控制仓位占比,不要超过总仓位的20%,并且,不要在同一个价格大笔买入,最好用定投,或者越跌越买的方法,分批建仓。
3,在这几天的大跌中,可转债的跌幅相对较小,不足指数跌幅的1/4。作为稳健的投资者,今后应该提高可转债的配置比例。这里也顺便说一下,对三只中概互联网基金,后市的看法。
最悲观的时刻也许已经过去,反弹之后,将迎来二次探底,重新进入上升通道,需要三个月或者更长的时间。
站在当前的角度,已经跌去了这么多,相信这些互联网龙头企业,未来会有不错的业绩表现,此时的投资价值,已经大大提高。
没有仓位的投资者,远离风险,不去抄底买入,是正确的,但已经有持仓的投资者,更不应该在如此低的位置卖出。切记!
本文仅供参考,并非投资建议
 

原文:





 
看完觉得这个人还在骄傲, 我的操作让我少亏了3千大洋. 洋洋洒洒说自己的套利操作. 其实无非就是割自己大腿肉而已.
相信他还会有下一次为了套利而被套的操作.
 
就如我的标题而言. 查看全部
 
看到的一篇文章: 
 


中国互联,两天套利收益3712元,我却很难过
最近一段时间,网络科技股遭遇了大幅调整。
三只主流互联网基金中(中概互联513050,中国互联164906,恒生互联513330),中国互联164906,跌幅超大,半年左右时间,从高点2.6元,跌到当前的1.36元,跌幅为48.8%。(21.7.28)
现在没必要讨论是否应该抄底的问题,想抄底的人,早就买在半山腰了。现在更应该想的是,已经持有这些基金的人,怎么尽快摆脱困境。
相比另外两只ETF基金,中国互联是LOF基金,可以通过套利减少亏损。2021年7月23日,1.598元,卖出15500股,申购成本1.5元,去除手续费,收益1472元。
2021年7月26日,1.504元,卖出17500股,申购成本1.374元,去除手续费,收益2240元。
两天套利收益3712元,我却难过的想哭
为什么这样说?因为申购套利份额三天到账,每天只能使用1/3的仓位参与。1/3仓位,参与套利,这两天少亏了3712元,另外2/3的仓位,实实在在的下跌,至少亏了 3712x2=7424元。
事实上就是如此,7万多元的底仓,已经亏损了8000多元,如果没做套利,真实的亏损,是12000元。
从这件事情上,我们可以得到如下启示:
1,三天跌去20%,6个月跌掉将近50%,这是普通投资者不能接受的。尽量少参与QDII基金,外围市场更加不稳定,风险偏大。如果想投资QDII基金,首选有套利机制的LOF
2,QDII基金要严格控制仓位占比,不要超过总仓位的20%,并且,不要在同一个价格大笔买入,最好用定投,或者越跌越买的方法,分批建仓。
3,在这几天的大跌中,可转债的跌幅相对较小,不足指数跌幅的1/4。作为稳健的投资者,今后应该提高可转债的配置比例。这里也顺便说一下,对三只中概互联网基金,后市的看法。
最悲观的时刻也许已经过去,反弹之后,将迎来二次探底,重新进入上升通道,需要三个月或者更长的时间。
站在当前的角度,已经跌去了这么多,相信这些互联网龙头企业,未来会有不错的业绩表现,此时的投资价值,已经大大提高。
没有仓位的投资者,远离风险,不去抄底买入,是正确的,但已经有持仓的投资者,更不应该在如此低的位置卖出。切记!
本文仅供参考,并非投资建议
 


原文:

Selection_073.png

 
看完觉得这个人还在骄傲, 我的操作让我少亏了3千大洋. 洋洋洒洒说自己的套利操作. 其实无非就是割自己大腿肉而已.
相信他还会有下一次为了套利而被套的操作.
 
就如我的标题而言.

穷人思维

闲聊绫波丽 发表了文章 • 0 个评论 • 1515 次浏览 • 2021-07-29 05:24 • 来自相关话题

夜 04:59
喝了太多茶叶, 难以入睡.
失眠
 
让你帮忙推广一些开户的事情, 完全也是当做是耳边风.
让你帮忙做一个推广的链接, 写成一个腾讯文档类似的, 合集. 以后就不用每句话 每句话这样的回复. 没做
写一些文章, 大一些主流论坛博客上推广, 或者在本网站推广. 也是完全没做. 甚至不会问, 要怎么发,发哪些内容.
 
永远想不清对方, 是怎样的人生经历, 才会造就这样的做事方式. 完全是一个不讲理的状态. 
 
一件事情做的不对, 也不会主动承认. 第一反应永远就是反驳我. 拿做了其他事情来说: 我做到了.
为什么没做我分配的任务 ? 答: 家里我做了很多家务, 没有我, 家里就很乱
 
一直不会聆听别人的话语, 急着说自己的想法. 哪怕完整听完别人一句话. 正面回复一句别人, 比如, "哦 你说的事情是因为xxxxx" , 也让人好受很多. 而不是, "哎呀, 我下班回来, 又要卖菜做饭, 很累." 永远急于表达你很累, 要照顾小孩,你怎样怎样.
 
事情这样永远不会有好转. 
 
如果你觉得生活需要改变,就需要行动, 而不是找借口.
 
当一个人习惯了总是找借口. 似乎已经找不到任何理由让他完成一件简单的事情了.  无论多么简单一件事情. 总能有一万个不完成的理由. 并且这些理由都是外部原因. 她自身是完全满分, 不是她的问题.
嗯, 因为早上老板老是开会.
嗯, 早上帮客户解决xxx问题
嗯, 早上想呕吐.
嗯,昨晚没睡好
嗯, 不知道你要推广什么内容
嗯, 不知道怎么发贴
嗯,不知道要发在那里
嗯,担心这个手机号公司会回收. 
 
书借给你,让你看. 你翻几番就说看完.
手把手教你如何做xxx. 最后就是浪费我的时间教你, 这时间同样的事情还不如我自己做,可以完成10次.
你给我的答复也是, "哦 我能力不如你xxxx"
 
可是真的原因不是不会. 如果你去背一个单词, 背了100次, 还不会, 那的确是你笨, 不会了.
可是你根本不去背, 然后就说不会. 这个是态度的问题了. 做都没去做, 然后就一直在借口,理由中徘徊.

试问, 任何一个小事情, 让你去做, 得到的都是没有去做, 然后原因就是上面的借口中的一个. 生活真的让人很绝望.
我也很累, 带不动了.
我不会的, 至少我会到网上找答案.
而不是心安理得的拿来做借口.
一个人找一次借口还能过得去, 可是总是找借口,你当被人是傻子吗? 说多了,别人都烦了. 怎么这人老有这样,那样的理由.
 
 实在想不出来人与人的区别会那么大.
 
我也很累. 我也想改变现状. 不想蜗居在这样的环境里.
这种真是低级的问题, 谁不想big house ? 谁不想吃喝有保姆照顾 ?
天天挂着嘴边有用吗? 天天说,而不去做, 改变, change , 行动, 给人觉得你只是在发白日梦.
像这个网站的文章.






有50多页, 每页十多篇文章. 是谁坚持写着堆积下来的? 
 
装睡的人是叫不醒的. 查看全部
夜 04:59
喝了太多茶叶, 难以入睡.
失眠
 
让你帮忙推广一些开户的事情, 完全也是当做是耳边风.
让你帮忙做一个推广的链接, 写成一个腾讯文档类似的, 合集. 以后就不用每句话 每句话这样的回复. 没做
写一些文章, 大一些主流论坛博客上推广, 或者在本网站推广. 也是完全没做. 甚至不会问, 要怎么发,发哪些内容.
 
永远想不清对方, 是怎样的人生经历, 才会造就这样的做事方式. 完全是一个不讲理的状态. 
 
一件事情做的不对, 也不会主动承认. 第一反应永远就是反驳我. 拿做了其他事情来说: 我做到了.
为什么没做我分配的任务 ? 答: 家里我做了很多家务, 没有我, 家里就很乱
 
一直不会聆听别人的话语, 急着说自己的想法. 哪怕完整听完别人一句话. 正面回复一句别人, 比如, "哦 你说的事情是因为xxxxx" , 也让人好受很多. 而不是, "哎呀, 我下班回来, 又要卖菜做饭, 很累." 永远急于表达你很累, 要照顾小孩,你怎样怎样.
 
事情这样永远不会有好转. 
 
如果你觉得生活需要改变,就需要行动, 而不是找借口.
 
当一个人习惯了总是找借口. 似乎已经找不到任何理由让他完成一件简单的事情了.  无论多么简单一件事情. 总能有一万个不完成的理由. 并且这些理由都是外部原因. 她自身是完全满分, 不是她的问题.
嗯, 因为早上老板老是开会.
嗯, 早上帮客户解决xxx问题
嗯, 早上想呕吐.
嗯,昨晚没睡好
嗯, 不知道你要推广什么内容
嗯, 不知道怎么发贴
嗯,不知道要发在那里
嗯,担心这个手机号公司会回收. 
 
书借给你,让你看. 你翻几番就说看完.
手把手教你如何做xxx. 最后就是浪费我的时间教你, 这时间同样的事情还不如我自己做,可以完成10次.
你给我的答复也是, "哦 我能力不如你xxxx"
 
可是真的原因不是不会. 如果你去背一个单词, 背了100次, 还不会, 那的确是你笨, 不会了.
可是你根本不去背, 然后就说不会. 这个是态度的问题了. 做都没去做, 然后就一直在借口,理由中徘徊.

试问, 任何一个小事情, 让你去做, 得到的都是没有去做, 然后原因就是上面的借口中的一个. 生活真的让人很绝望.
我也很累, 带不动了.
我不会的, 至少我会到网上找答案.
而不是心安理得的拿来做借口.
一个人找一次借口还能过得去, 可是总是找借口,你当被人是傻子吗? 说多了,别人都烦了. 怎么这人老有这样,那样的理由.
 
 实在想不出来人与人的区别会那么大.
 
我也很累. 我也想改变现状. 不想蜗居在这样的环境里.
这种真是低级的问题, 谁不想big house ? 谁不想吃喝有保姆照顾 ?
天天挂着嘴边有用吗? 天天说,而不去做, 改变, change , 行动, 给人觉得你只是在发白日梦.
像这个网站的文章.

Selection_072.png


有50多页, 每页十多篇文章. 是谁坚持写着堆积下来的? 
 
装睡的人是叫不醒的.