主页 > imtoken新版app官网下载 > 币圈量化交易试水

币圈量化交易试水

imtoken新版app官网下载 2023-11-01 05:11:40

script

script

点击“指标与策略”,然后点击您最喜欢的“SuperTrend”策略脚本。 这时候你看图中的数字3,盘面上就会出现该策略的趋势应用图。 例如,箭头所指的卖出就是给出卖出信号的策略。

script

看上图,没想到今天这个攻略还挺准的。 如果你在它给的点位上买卖,或者做多做空,应该是可以赚钱的。

注意:我没有将其用作实盘策略,如果要使用请自行评估。

添加信号警报

这一步是本文的重点,也就是如何使用tradingview的Webhook连接python web程序。 我在下面调用 tradingview tv,打字太长了。

script

单击“警报”图标,将弹出一个对话框。

script

单击下拉菜单并选择超趋势策略。

script

注意我在红框中选择的是什么,第一个框是选择的策略,第二个框是策略的买入信号(后面我们会创建一个卖出信号警告),第三个框是“每根K线一次》,简单的解释就是可以一直跑,一旦达到指标就会提示,其他的选项都是用过一次就停止,我就不多解释了。 最后,单击创建。 如果你不访问 webhook,手动使用它来监控磁盘就足够了。

但是量化的重点是webhook,下面会介绍如何访问。

先给出python web程序代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
'''
@File : huobi.py
@Time : 2020/01/10 00:07:06
@Author : pirogue
@Version : 1.0
@Contact : [email protected]
@License : (C)Copyright 2019-2020, Pirogue
@Desc : Tradingview webhook通知webserver对接火币交易所进行现货买卖
'''

import ccxt
import time
import json
import tornado.web
import tornado.ioloop

ex = ccxt.huobipro({
'apiKey': '填自己的',
'secret': '填自己的',
'options': {
'createMarketBuyOrderRequiresPrice': False, # switch off
},
})

def get_assets():
btc_count = ex.fetch_balance()["BTC"]
print(btc_count)
# 账户正在使用的btc
#btc_used = btc_count["used"]
btc_free = btc_count["free"]
return btc_free

def sell_btc():
btc_count = get_assets()
symbol = 'BTC/USDT'
ex.create_market_sell_order(symbol,btc_count)


def buy_btc():
symbol = 'BTC/USDT'
amount = 0.9 # BTC
price = 9000 # USDT
cost = amount*price
ex.createMarketBuyOrder(symbol, cost)


class MainHandler(tornado.web.RequestHandler):
def get(self):
buy = self.get_arguments("buy")
sell = self.get_arguments("sell")
if buy:
buy_btc()
if sell:
sell_btc()
self.write("Hello,Tornado.")
def post(self):
buy = self.get_arguments("buy")
sell = self.get_arguments("sell")
if buy:
buy_btc()
if sell:
sell_btc()
self.write("Hello,Tornado.")
# def make_app():
# return tornado.web.Application([
# (r"/btc",MainHandler),
# ])

if __name__=="__main__":
app = tornado.web.Application([(r'/btc',MainHandler)])
app.listen(80)
tornado.ioloop.IOLoop.current().start()

本程序使用了两个python类库,一个是web的tornado,一个是对接exchange api的ccxt。

ccxt是github上最流行的加密货币交易库,包括近百个交易所API。 支持Python、JavaScript、PHP三种语言调用。 对于这个行业来说,各个交易所的API签名方式和数据结构都不一样。 如果说一个一个的访问适配可以说是费时费力的话,ccxt的出现就解决了这个问题。

简单来说,ccxt封装了所有交易所不同的api接口。 只需要在代码中配置自己交易所的api key,就可以使用统一的函数实现交易。 这样做的好处是勤劳的策略代码。 如果你想移植到火币btc盯盘软件,你可以更改火币的API密钥。 如果你想移植到币安,你可以更改币安的密钥。 其他代码根本不需要更改。

注:ccxt目前没有封装火币的季度合约接口。 如果你想做合约量化交易,可能要等官方实现或者自己实现。 做现货是没有问题的。

上面的程序是如何工作的:

1

python huobi.py

这将运行,如果你想在后台运行,只需

1

nohup python huobi.py &

假设你购买的服务器ip是123.123.123.123,你运行之后,post请求

会去

1
2
3
4
5
6
7
8

def post(self):
buy = self.get_arguments("buy")
sell = self.get_arguments("sell")
if buy:
buy_btc()
if sell:
sell_btc()
self.write("Hello,Tornado.")

函数中程序判断post请求中有buy参数,然后执行buy_btc()购买btc。

1
2
3
4
5
6

def buy_btc():
symbol = 'BTC/USDT'
amount = 0.9 # BTC
price = 9000 # USDT
cost = amount*price
ex.createMarketBuyOrder(symbol, cost)

在buy_btc函数中,我写了以市价购买btc(createMarketBuyOrder),你可以查看createMarketBuyOrder这个函数。 为什么是 0.9*9000? 因为我按市价买的时候,只能买那么多usdt btc。 购买逻辑需要自己设计,我当时只是举个例子……

卖出的逻辑和买入是一样的,可以自己看代码理解。 Web程序的运行逻辑如上所述。

如何连接webhook? 看到上面其实已经很明显了,只要webhook可以请求我们服务端web程序的post接口带买卖参数即可。所以在webhook处配置

script

单击创建,这是一个配置了 webhook 的警报。 这样当策略触发告警时,就会执行告警配置中的内容,比如触发Webhook。

请注意,当 Webhook 触发请求时,它是一个 POST 请求btc盯盘软件,而不是 GET 请求。 忽略我代码中的get请求方法即可。 . POST请求也可以携带下表形式的数据集,我在demo中有详细说明。

然后创建一个sell alert,步骤和上面创建一个alert的步骤一样,只是选择相反如下图,没有文字说明

script

这样tv的webhook通知python连接exchange,就完成了。

对了,webhook功能是要收费的,电视收费也有点贵。。。

币圈友情提示

“同根同源,何必互相煎熬呢?” 同样是韭菜,我已经亏了小县城半间房子的钱。 如果你还没有踏入这个市场,最好不要进来。稳稳买买基金,保本理财还是很不错的。 币圈满是庄家用镰刀砍你。

以上代码只是一个demo,为tv接入真实offer提供参考。 tv也可以通过webhook连接到fmz.com发明家的量化交易平台。 听说tv也有chrome插件等等。

我不再使用这种略显笨拙的方法来回测和连接真实报价。

因为不懂金融和交易,我和朋友在电视上或者网上优化了别人的开源攻略,然后把电视上用pine脚本语言写的脚本重写成python。 在fmz上回测更准,在fmz上更容易拿到real offer,咬人牙(好可怜)~

script

script

script

我没有赚到钱,但我收集了很多表情包! 我还有几个麻烦的兄弟等着我的致富攻略呢~更何况,我们跑半年看看吧……