温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

FMZ怎么对接Tradingview实现下单

发布时间:2022-03-22 16:16:40 来源:亿速云 阅读:529 作者:iii 栏目:互联网科技

本篇内容主要讲解“FMZ怎么对接Tradingview实现下单”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“FMZ怎么对接Tradingview实现下单”吧!

本系统webhook特性如下:

1、标准化json消息传递

2、加入try..except..异常处理

3、加入with..as..内存回收

4、采用async异步

5、采用ASGI协议

6、采用AUTO HTTP1.X-2.0协议

7、代码经过 100% test coverage

8、装饰器的运用使程序简洁、执行效率高、稳定可靠

一、准备工作

您需要安装 python 3.8.2 或以上版本

您需要安装pip包管理器 

安装必要的包

FMZ怎么对接Tradingview实现下单

原理及实现

我们要做的事情很简单,就是接收tradingview post过来的数据再编码发送http get传递给FMZ的托管者。有点类似中间件服务。

FMZ终端接收器

我们要去fmz建立一个python策略,具体代码如下:

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

接下去我们把机器人运行起来

FMZ怎么对接Tradingview实现下单

这里要非常注意 机器人ID要填写到python代码中

webhook server 服务端搭建

第一步

新建一个python文件。起个名字 fz1.py

第二步

编写导入模块

FMZ怎么对接Tradingview实现下单

第三步

在fmz主页注册api

并找到托管主机ID

并定义到 python代码中。

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

这里的RobotID需要在前面的托管策略中获得ID

第四步

定义一个api函数来提交CMD指令给fmz托管。

FMZ怎么对接Tradingview实现下单

第四步

自定义数据类型(json格式)

使用pydantic模块的BaseModel方法来定义一个类型

当然你也可以自己定义更多的字段,这完全取决于你自己想要达到的效果。

FMZ怎么对接Tradingview实现下单

以上全部是非空字段,传参如果缺少一个会报错,

第五步

编写Tradingview接收模块(webhook server)

webhook 的协议使用的是http post方法。

所以我们需要定义一个http server端并接受post传递过来的数据。

FMZ怎么对接Tradingview实现下单

python服务端全部代码

以上就是全部核心代码的实现。

我略微处理了一下异常处理模块以及重试机制。将所有代码整合。

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

服务端的启动

记住要讲文件保存成fz1的文件名

接着我们打开命令行工具。启动python服务端

命令如下:

FMZ怎么对接Tradingview实现下单

其中代表使用fz1的py文件并调用webhook任务。

host 表示接收0.0.0.0的ip访问,也就是全部。

port 表示将端口设定为8001 (这里需要注意的是,tradingview只通过80端口访问,你需要在防火墙做好端口映射,或者直接使用80)

reload 表示如果py主文件有迭代,服务端自动重载最新版本。

FMZ怎么对接Tradingview实现下单

当你看到如图所示,Application startup complete就代表启动成功了

这时候你可以打开浏览器,访问 http://127.0.0.1:8001/redoc

FMZ怎么对接Tradingview实现下单

fast api 已经为你实现了api接口文档,和自动调试器。

本地调试

我们使用的是chrome 插件 TALEND API TESTER

你也可以用其他的http调试工具完成。

模拟本地tradingview发送webhook消息。

FMZ怎么对接Tradingview实现下单

将模式调整为post

url地址是 127.0.0.1:8001/tv/

post的body字段写上json

FMZ怎么对接Tradingview实现下单

同时在HEADER中会自动生成application/json

完成以后点击发送

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

如图所示。本地测试已经完成了。

我们从本地模拟发送到webhook的数据通过python 传递到托管设备,并顺利获取到了相关数据。

将webhook部署到外网

本段落部分属于个人网络环境,每个人不一样。

登陆Juniper 终端

FMZ怎么对接Tradingview实现下单

增加rule-set outside-to-inside

指定链路走向 from untruset to trust

增加tradingview 源地址IP断 source-address [ 58.35.162.147/32 52.89.214.238/32 34.212.75.30/32 54.218.53.128/32 52.32.178.7/32 ];

指定目的地址(本机外网ip) destination-address xxx.xxx.xxx.xxx/32;

指定目的端口(本机外网port) destination-port 80;

做端口重定向 destination-nat pool inside-8001;

FMZ怎么对接Tradingview实现下单

这些步骤主要是允许 tradingview 访问我的外网ip,

并指定80端口重定向到本地设备的8001端口。

将设备规则执行以后。tradingview就能顺利推送消息给我们了。

tradingvew 消息测试

我们打开tradingview 并在一个高级指标上新建一个报警,

这个方法可以用于tradingview各种高级指标自动下单。

FMZ怎么对接Tradingview实现下单

勾选webhook,并填写服务端地址http://xxx.xxx.xxx.xxx/tv/

下方消息框填入字段消息。

{"apikey": "FMZ", "exchange": "bybit", "symbol": "BTC-USD", "side": "buy", "amount": "100"}

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

如图所示 在指标上已经显示了我们的预警信息

当价格穿越指标以后,tradingview产生报警

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

FMZ怎么对接Tradingview实现下单

到此,相信大家对“FMZ怎么对接Tradingview实现下单”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI