本篇內(nèi)容主要講解“FMZ怎么對(duì)接Tradingview實(shí)現(xiàn)下單”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“FMZ怎么對(duì)接Tradingview實(shí)現(xiàn)下單”吧!
創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為達(dá)坂城等服務(wù)建站,達(dá)坂城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為達(dá)坂城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、標(biāo)準(zhǔn)化json消息傳遞
2、加入try..except..異常處理
3、加入with..as..內(nèi)存回收
4、采用async異步
5、采用ASGI協(xié)議
6、采用AUTO HTTP1.X-2.0協(xié)議
7、代碼經(jīng)過 100% test coverage
8、裝飾器的運(yùn)用使程序簡(jiǎn)潔、執(zhí)行效率高、穩(wěn)定可靠
您需要安裝 python 3.8.2 或以上版本
您需要安裝pip包管理器
安裝必要的包
我們要做的事情很簡(jiǎn)單,就是接收tradingview post過來的數(shù)據(jù)再編碼發(fā)送http get傳遞給FMZ的托管者。有點(diǎn)類似中間件服務(wù)。
我們要去fmz建立一個(gè)python策略,具體代碼如下:
接下去我們把機(jī)器人運(yùn)行起來
這里要非常注意 機(jī)器人ID要填寫到python代碼中
webhook server 服務(wù)端搭建
第一步
新建一個(gè)python文件。起個(gè)名字 fz1.py
第二步
編寫導(dǎo)入模塊
第三步
在fmz主頁注冊(cè)api
并找到托管主機(jī)ID
并定義到 python代碼中。
這里的RobotID需要在前面的托管策略中獲得ID
第四步
定義一個(gè)api函數(shù)來提交CMD指令給fmz托管。
第四步
自定義數(shù)據(jù)類型(json格式)
使用pydantic模塊的BaseModel方法來定義一個(gè)類型
當(dāng)然你也可以自己定義更多的字段,這完全取決于你自己想要達(dá)到的效果。
以上全部是非空字段,傳參如果缺少一個(gè)會(huì)報(bào)錯(cuò),
第五步
編寫Tradingview接收模塊(webhook server)
webhook 的協(xié)議使用的是http post方法。
所以我們需要定義一個(gè)http server端并接受post傳遞過來的數(shù)據(jù)。
以上就是全部核心代碼的實(shí)現(xiàn)。
我略微處理了一下異常處理模塊以及重試機(jī)制。將所有代碼整合。
記住要講文件保存成fz1的文件名
接著我們打開命令行工具。啟動(dòng)python服務(wù)端
命令如下:
其中代表使用fz1的py文件并調(diào)用webhook任務(wù)。
host 表示接收0.0.0.0的ip訪問,也就是全部。
port 表示將端口設(shè)定為8001 (這里需要注意的是,tradingview只通過80端口訪問,你需要在防火墻做好端口映射,或者直接使用80)
reload 表示如果py主文件有迭代,服務(wù)端自動(dòng)重載最新版本。
當(dāng)你看到如圖所示,Application startup complete就代表啟動(dòng)成功了
這時(shí)候你可以打開瀏覽器,訪問 http://127.0.0.1:8001/redoc
fast api 已經(jīng)為你實(shí)現(xiàn)了api接口文檔,和自動(dòng)調(diào)試器。
我們使用的是chrome 插件 TALEND API TESTER
你也可以用其他的http調(diào)試工具完成。
模擬本地tradingview發(fā)送webhook消息。
將模式調(diào)整為post
url地址是 127.0.0.1:8001/tv/
post的body字段寫上json
同時(shí)在HEADER中會(huì)自動(dòng)生成application/json
完成以后點(diǎn)擊發(fā)送
如圖所示。本地測(cè)試已經(jīng)完成了。
我們從本地模擬發(fā)送到webhook的數(shù)據(jù)通過python 傳遞到托管設(shè)備,并順利獲取到了相關(guān)數(shù)據(jù)。
本段落部分屬于個(gè)人網(wǎng)絡(luò)環(huán)境,每個(gè)人不一樣。
登陸Juniper 終端
增加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 ];
指定目的地址(本機(jī)外網(wǎng)ip) destination-address xxx.xxx.xxx.xxx/32;
指定目的端口(本機(jī)外網(wǎng)port) destination-port 80;
做端口重定向 destination-nat pool inside-8001;
這些步驟主要是允許 tradingview 訪問我的外網(wǎng)ip,
并指定80端口重定向到本地設(shè)備的8001端口。
將設(shè)備規(guī)則執(zhí)行以后。tradingview就能順利推送消息給我們了。
tradingvew 消息測(cè)試
我們打開tradingview 并在一個(gè)高級(jí)指標(biāo)上新建一個(gè)報(bào)警,
這個(gè)方法可以用于tradingview各種高級(jí)指標(biāo)自動(dòng)下單。
勾選webhook,并填寫服務(wù)端地址http://xxx.xxx.xxx.xxx/tv/
下方消息框填入字段消息。
{"apikey": "FMZ", "exchange": "bybit", "symbol": "BTC-USD", "side": "buy", "amount": "100"}
如圖所示 在指標(biāo)上已經(jīng)顯示了我們的預(yù)警信息
當(dāng)價(jià)格穿越指標(biāo)以后,tradingview產(chǎn)生報(bào)警
到此,相信大家對(duì)“FMZ怎么對(duì)接Tradingview實(shí)現(xiàn)下單”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!