操控趋势策略 笔记

最近一直在琢磨操控趋势策略,玩的好一波能赚数千u,玩的不好就亏个几百一千u
会亏钱,搞得我很不爽,玩了几十笔到现在赚了3w6,其中有1wu被冻结了….
反反复复让我提交了一个礼拜各种资料,到现在还没解开,交易所就是这样,亏钱笑嘻嘻,赚钱mmp

还在精进中,努力想办法不会亏钱,让每一次都能赚5ku以上
主要就是我拉盘有人砸盘,我跟着砸盘又拖底买入,太烦了
然后遇到btc动,其他币也会跟着动,得要没行情的时候才行

靠这个策略至少赚1m


苏慕白 发布于  2023-8-24 23:35 

今年计划 to 上海 随笔

8月月初会在上海租一个小办公室,再配上三四台电脑,由我朋友在上海坐班监督打卡和效率。

今年把团队做起来,等团队起来后去香港拿牌照,募资,发行基金。


苏慕白 发布于  2023-7-30 15:41 

微擎后台getshell,低权限也可以 Web渗透

/web/index.php?c=site&a=editor

这个文件可以编辑html,然后前台会解析成php
没测试最新版

比如编辑专题:/web/index.php?c=site&a=editor&do=page&multiid=0

上架抓包

改html内容为php

复制前台url

访问之


苏慕白 发布于  2023-7-11 16:17 

之前做黑客的日子.... 黑客

初二拿着很烂的一体机,sqlmao 啊d 学c++当脚本小子,学习?学个屁
成绩一开始前十然后中位数,然后就是稳定倒数
那电脑打cf第一次启动凭概率加载完游戏,要等好几分钟,记忆犹深

两三年没做网络安全了
有点怀念哈哈


苏慕白 发布于  2023-7-11 16:17 

【招聘】量化团队组队中 量化交易

资金和策略太多一个人管理不过来
地点江西赣州,欢迎加入

一、高频做市商

  1. 网络延迟架构师
  2. 数学建模并优化
  3. 系统内延迟优化
  4. 精通Python,熟悉Rust或C++

二、套利

  1. Python异步策略开发
  2. 熟悉交易所

三、交易员

  1. 监控套利运行状态
  2. 对做市商机器人及时调整参数

四、链上

  1. 智能合约开发
  2. 节点搭建并优化低层
  3. 熟悉Python nodejs c++

五、渗透测试

  1. 对量化系统进行风险评估
  2. 技术过硬

如果你会其中一项,那么我们就可以聊聊啦~


苏慕白 发布于  2023-7-6 11:31 

两台Linux之间拷贝文件

使用ssh登录,下载远程目录到本地目录下

方法1
scp:
scp -r -p -P 22 root@127.0.0.1/www/wwwroot/file /home/file
-P 设置端口
-r 保存目录

方法2:
rsync -auvH --progress '-e ssh -p 22' root@127.0.0.1:/www/wwwroot/file /home/file

方法2可以跳过已经存在的文件,但是如果二级文件夹里的文件没同步完也会跳过,不会去检查


苏慕白 发布于  2023-5-17 16:59 

Dydx使用c++下单签名 教程

dydx python下单发现耗时了150ms
定位源码发现是签名耗时了90ms

垃圾python,官方说可以用c++的签名
弄了一晚上,终于编译出来了

不熟练Linux的劝退

编译:

  1. 下载并解压
    https://github.com/starkware-libs/crypto-cpp

  2. sudo apt install golang-go

  3. ./presubmit.sh


坑1:nodejs版本太低,编译失败
升级:
sudo npm install n -g
sudo n stable
hash -r


坑2:gmock不存在,gmock最新版本还编译失败,CNM
下载并解压
https://github.com/google/googletest/tree/release-1.8.0

安装:
./travis.sh
cmake ./CMakeLists.txt
make
sudo make install


苏慕白 发布于  2023-4-23 20:06 

必胜方法,矩阵堆量 教程

0x1 问题

今天不讲量化,来聊聊其他的

铁废柴一年到头也想不明白,那些几万人用的程序,几百万人关注的自媒体账号
到底是怎么做出来的啊

为什么我发一百个视频才赚100块钱
我要怎么才可以过上小康生活?

0x2 答案

矩阵,堆数量
万物一切问题都可以靠堆数量来解决

废柴一个视频能赚一块钱,那如果他一天发1000个视频呢?
废柴一个闲鱼号一天能赚10元,那如果他有100个闲鱼号呢?
废柴一个陌陌账号,一天能加10个老色批,那如果他有10个陌陌呢?
.............

白哥,我知道了,但是账号要怎么解决呀?

  1. 无忧卡,5元一个月月租
  2. 招很多代理小白,分销,让他帮你操作,你供货,55分
  3. 同学、死党、父母,七大姑不大姨,社交不会差很好解决
  4. 接吗平台,一毛钱一条短信
  5. 二手手机,300元一台

白哥,我不但是个废柴,还是个懒狗,咋办?
我可真服你了,去找个三流程序员,把发视频发帖流程化,一天发1000000+帖

有资本后可以全程让代理操作,收徒,998,你买不了吃亏买不了上当
轻轻松松比小白领过的滋润


0x3 结

SEM推流小说推文一天,广告消耗100元,产出150元。有价差利润可以图,那么只管放大

万物都可以用堆量来解决,必胜的公式
如果你不是精英,早点认清自己早点找出自己的路




苏慕白 发布于  2023-4-11 19:37 

可以帮助你的圣杯策略:Ma8 策略

1# 屁话

偶然发现的一款策略,能神奇的不改参数适应市场
并且2018年到现在不改参数都是盈利的
比所谓的拟合策略强不知道多少倍,哈哈

后来这个策略作为一个因子伴随了我几个月的时间用于实盘

总比一直放在收藏夹吃灰,还不如分享给你们让我赚点流量
仅供分享思路,真要实盘赚钱,你要做的还很多
仅供分享思路,真要实盘赚钱,你要做的还很多

2# 原理

开仓:连续8根收盘价大于均线,最后一根收盘价小于均线
平仓:持仓3根k线,或突破最高点,或ATR,或固定止盈止损

3# 回测


4# 源码

原版:
https://www.tradingview.com/script/gl17fzdf-8-Day-Extended-Runs/

自己修改的:

import talib
import pandas as pd
from main.zhibiao import *

seting =                                                  {
    "备注": "禁用",
    "name": "Ma8",
    "symbol": "BTCUSDT_1h_Buy",
    "kTime": "1h",
    "ma_len": 29,
    "ma_type": "lsma",
    "ma_src": "o+h+l+c",
    "pianli": 14,
    "pingcang": 4,
    "tupo": 34,
    "atr_len": 43,
    "atr_mult": 2.871,
    "atr_type": "rma",
    "buy": 1,
    "buyZhiying": 96.216,
    "buyZhisun": 12.06,
    "sell": 0,
    "sellZhiying": 0,
    "sellZhisun": 0,
    "kai": 100
}

"""
MA连续偏离8次入场,十根K线后出场
"""
def Ma8(r, df, seting):

    c = len(df)
    df['ma_src'] = GetSrc(r, seting['ma_src'])
    df['ma'] = GetMa(df['ma_src'], seting['ma_len'], seting['ma_type'])
    df['atr'] = ATR(r, seting['atr_len'], seting['atr_type'])
    df['zhisun'] = 0.0
    if seting['buy']:
        df['h'] = df['High'].rolling(seting['tupo']).max()
        df['l2'] = df['Low'].rolling(seting['pianli']).min()

    if seting['sell']:
        df['l'] = df['Low'].rolling(seting['tupo']).min()
        df['h2'] = df['High'].rolling(seting['pianli']).max()

    df['da'] = 0
    df['xiao'] = 0
    df['buy'] = 0
    # df['pingtime'] = 0
    for i in range(c):
        if i > seting['ma_len']:
            if df['Close'][i] > df['ma'][i] and (df['Close'][i-1] < df['ma'][i-1] or df['da'][i-1]):
                df['da'].values[i] = df['da'][i-1] + 1

            if df['Close'][i] < df['ma'][i] and (df['Close'][i-1] > df['ma'][i-1] or df['xiao'][i-1]):
                df['xiao'].values[i] = df['xiao'][i-1] + 1

    preSide = 0
    preZhisun = 0
    preZhisunBili = 0
    preZhiYingBili = 0

    buy = 0
    sell = 0
    for i in range(c):
        if i > seting['ma_len'] and i+1 < c:
            if seting['buy']:
                #连续多少根 大于 均线之上
                if df['Close'][i] < df['ma'][i] and df['da'][i-1] > seting['pianli']: #and df['Close'][i] > df['l2'][i]
                    df['side'].values[i] = 'BUY'

                    if preSide != 'BUY':
                        preSide = 'BUY'
                        preZhisun = df['Open'][i+1] - seting['atr_mult'] * df['atr'][i]
                        preZhisunBili = GetRoeJia(-seting['buyZhisun'], {'liang': 1, 'jiage': df['Open'][i+1]})
                        preZhiYingBili = GetRoeJia(seting['buyZhiying'], {'liang': 1, 'jiage': df['Open'][i+1]})

                    # if not buy:
                    #     df['pingtime'].values[i] = df['Time'][i] + (df['Time'][1] - df['Time'][0]) * (seting['pingcang'] + 2)
                        # df['pingtime'].values[i] = GetTime(df['pingtime'].values[i], '%Y-%m-%d %H:%M')

                    buy += 1

                elif buy:
                    buy += 1

                if buy > seting['pingcang']+1 or (seting['tupo'] and df['Close'][i] >= df['h'][i-1]):
                    df['close'].values[i] = 'BUY'
                    buy = 0
                    if preSide == "BUY":
                        preSide = 0

                df['buy'].values[i] = buy

            if seting['sell']:
                if df['Close'][i] > df['ma'][i] and df['xiao'][i-1] > seting['pianli']: # and df['Close'][i] < df['h2'][i]
                    df['side'].values[i] = 'SELL'

                    if preSide != 'SELL':
                        preSide = 'SELL'
                        preZhisun = df['Open'][i+1] + seting['atr_mult'] * df['atr'][i]
                        preZhisunBili = GetRoeJia(-seting['sellZhisun'], {'liang': -1, 'jiage': df['Open'][i+1]})
                        preZhiYingBili = GetRoeJia(seting['sellZhiying'], {'liang': -1, 'jiage': df['Open'][i+1]})

                    # if not sell:
                    #     df['pingtime'].values[i] = df['Time'][i] + (df['Time'][1] - df['Time'][0]) * (seting['pingcang'] + 2)
                        # df['pingtime'].values[i] = GetTime(df['pingtime'].values[i], '%Y-%m-%d %H:%M')
                    sell += 1

                elif sell:
                    sell += 1

                if sell > seting['pingcang']+1 or (seting['tupo'] and df['Close'][i] <= df['l'][i-1]):
                    df['close'].values[i] = 'SELL'
                    sell = 0
                    if preSide == "SELL":
                        preSide = 0

            df['zhisun'].values[i] = preZhisun
            if (preSide == 'BUY' and df['Low'][i] <= preZhisun) or (preSide == 'SELL' and df['High'][i] >= preZhisun) or \
               (preSide == 'BUY' and df['Low'][i] <= preZhisunBili) or (preSide == 'SELL' and df['High'][i] >= preZhisunBili) or \
               (preSide == 'BUY' and df['High'][i] >= preZhiYingBili) or (preSide == 'SELL' and df['Low'][i] <= preZhiYingBili):
                preSide = 0
                buy = 0
                sell = 0

    return df
标签: ma8 圣杯

苏慕白 发布于  2023-4-1 21:01 

Python 高频量化异步协程 笔记

1.踩坑

在我刚开始用异步协程框架写策略框架爽的飞起的时候
小数据没什么问题,流畅无延迟

后面加大数据量同时创建N个任务(loop.create_task)
那么最后面创建的这个任务,会延迟好几秒才执行,直接给我整懵逼了
任务越多,延迟情况越严重,我测试,任务很少,也会有0.00几秒的延迟

再使用多线程同时创建多个任务执行就不会有延迟的问题出现

但是一个新问题出现了,不使用异步协程又没办法使用aiohttp??

答案:用threading多线程调用含asyncio异步函数
相关资料:https://blog.csdn.net/LeKZzz/article/details/127343128

2. uvloop

import uvloop

uvloop.new_event_loop()
loop.create_task(print_money())
loop.run_forever()

Ps:使用uvloop 可以使 asyncio 更快。事实上,它至少比 nodejs、gevent 和其他 Python 异步框架要快 两倍 。基于 uvloop 的 asyncio 的速度几乎接近了 Go 程序的速度。

3. 目前结构

目前我的策略框架为:

  1. 异步协程
  2. aiohttp http请求
  3. 多线程
  4. Websocket更新触发策略,而非轮训

我不但要在网络延迟和手续费上卷你们,还要在策略框架上卷你们,哇哈哈哈哈
不过还是得向c++低头
可惜c++写起来太麻烦了,c++100行,python1行
后面慢慢把核心功能用c++实现,然后用python去调用


苏慕白 发布于  2023-3-22 23:06 

Python 高频量化Http网络请求速度优化 笔记

第一:c++为底层的python库
第二:异步携程 + aiohttp + Session
第三:urllib3 PoolManager
第四:requests + Session
第五:requests

说个小知识,requests并发请求使用多线程网络请求会阻塞,多进程才不会
总结:垃圾requests

部分交易所支持Websocket下单,比http请求步骤更少,不需要再连接,理论上速度更快

相关资料:

  1. https://www.cnblogs.com/ydf0509/p/14655383.html
  2. https://zhuanlan.zhihu.com/p/338093584?ivk_sa=1024320u
  3. https://github.com/ydf0509/nb_http_client

苏慕白 发布于  2023-3-22 22:33 

苏慕白 发布于  2023-3-22 13:53 

量化小资金日化10%很难吗 笔记

期权,合约对合约。现货对合约,币本位。链上提现,有波动就能赚钱
这是除了高频之外,最适合普通人的一条路了
达到顶级手续费顶级速度,你也可以的


苏慕白 发布于  2023-3-21 12:03 

ETH RPC搭建 笔记

配置选择

先是看了aws、谷歌云、阿里云
这个配置都要1-2wrmb一个月,太贵了
问了很多朋友,打算用hetzner,50欧一个月足以

我选的配置:64gb,2tb ssd
开好后在邮箱收到信息

链接后
按以下步骤安装系统:https://0o0.me/server/hetzner-reinstall-with-raid0.html
系统选ubuntu 22


搭建RPC节点

搭建eth rpc指令:

mkdir /data
cd /data

wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.11.2-73b01f40.tar.gz
tar -zxvf geth-linux-amd64-1.11.2-73b01f40.tar.gz

mkdir prysm
cd prysm
curl https://raw.githubusercontent.com/prysmaticlabs/prysm/master/prysm.sh --output prysm.sh
chmod +x prysm.sh
./prysm.sh beacon-chain generate-auth-secret

cd /data/
cd geth-linux-amd64-1.11.2-73b01f40

输入完,按两次回车:
nohup ./geth  --datadir "/data/eth/" --maxpeers 75  --cache=2048 --authrpc.jwtsecret /data/prysm/jwt.hex  --http --http.addr "127.0.0.1" --http.port "18181" >&1 &

cd /data/prysm/
输入完,按两次回车:
nohup ./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=./jwt.hex --suggested-fee-recipient=0x91a0982397BEB2B65DFF9a6436695e362135cBa6  --accept-terms-of-use   &

查看eth执行层日志 tail -f /data/geth-linux-amd64-1.11.2-73b01f40/nohup.out
查看eth共识层日志 tail -f /data/prysm/nohup.out

等待同步最新块,over~
大概要1周内


使用老版本执行层同步

eth执行层如果只想太慢可以用老版本
用老版本同步到分叉的那个块,再运行新版本
运行老版本之前要先关掉新版本的进程并且删除eth文件夹

ps -ef | grep geth
kill -9 123456
rm -rf /data/eth
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.24-972007a5.tar.gz
tar -zxvf geth-linux-amd64-1.10.24-972007a5.tar.gz
cd geth-linux-amd64-1.10.24-972007a5/
nohup ./geth --datadir "/data/eth/" --maxpeers 75 --cache=2048 --http --http.addr "127.0.0.1" --http.port "18181" 1>&1 &

使用Python3执行脚本

等两个层都同步完成之后
就可以用python3来调用自己的rpc节点了
像我搭建的节点
ipc地址:/data/eth/geth.ipc
http地址:http://127.0.0.1:18181/

这里会出现pip3不存在的情况
需要先安装pip3
然后再安装web3

wget https://bootstrap.pypa.io/get-pip.py get-pip.py && sudo python3 get-pip.py
pip3 -V
pip3 install web3

python3 demo 代码:

from web3 import Web3

my_provider = Web3.IPCProvider('/data/eth/geth.ipc')
my_provider = Web3.HTTPProvider("http://127.0.0.1:18181/")

w3 = Web3(my_provider)
# 当前区块高度
blockNumber = w3.eth.blockNumber
print(blockNumber)

更多的操作可以在网上找资料
还可以用nodejs写,用golong的话最快


苏慕白 发布于  2023-3-2 12:21 

高频量化网络延迟速度优化 笔记

  1. aws c区最快,a区11ms,c区7ms,且系统差距就差很多延迟,最快的是ubuntu20
  2. python的aiohttp内部几百微妙,要用c++,招一个c++开发
  3. aws c5类型的cpu能快一点点

交易所:

  1. bian 在东京A区和C区,老服务器在C区,负载均衡达到一定程度就到A区,平时C区块
  2. coinex 东京C区
  3. okx 在阿里云香港
  4. bybit 在新加坡
  5. 火币 东京D区

苏慕白 发布于  2023-2-19 23:58