您好,登錄后才能下訂單哦!
本篇內容主要講解“FMZ怎么對接Tradingview實現下單”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“FMZ怎么對接Tradingview實現下單”吧!
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包管理器
安裝必要的包
我們要做的事情很簡單,就是接收tradingview post過來的數據再編碼發送http get傳遞給FMZ的托管者。有點類似中間件服務。
我們要去fmz建立一個python策略,具體代碼如下:
接下去我們把機器人運行起來
這里要非常注意 機器人ID要填寫到python代碼中
webhook server 服務端搭建
第一步
新建一個python文件。起個名字 fz1.py
第二步
編寫導入模塊
第三步
在fmz主頁注冊api
并找到托管主機ID
并定義到 python代碼中。
這里的RobotID需要在前面的托管策略中獲得ID
第四步
定義一個api函數來提交CMD指令給fmz托管。
第四步
自定義數據類型(json格式)
使用pydantic模塊的BaseModel方法來定義一個類型
當然你也可以自己定義更多的字段,這完全取決于你自己想要達到的效果。
以上全部是非空字段,傳參如果缺少一個會報錯,
第五步
編寫Tradingview接收模塊(webhook server)
webhook 的協議使用的是http post方法。
所以我們需要定義一個http server端并接受post傳遞過來的數據。
以上就是全部核心代碼的實現。
我略微處理了一下異常處理模塊以及重試機制。將所有代碼整合。
記住要講文件保存成fz1的文件名
接著我們打開命令行工具。啟動python服務端
命令如下:
其中代表使用fz1的py文件并調用webhook任務。
host 表示接收0.0.0.0的ip訪問,也就是全部。
port 表示將端口設定為8001 (這里需要注意的是,tradingview只通過80端口訪問,你需要在防火墻做好端口映射,或者直接使用80)
reload 表示如果py主文件有迭代,服務端自動重載最新版本。
當你看到如圖所示,Application startup complete就代表啟動成功了
這時候你可以打開瀏覽器,訪問 http://127.0.0.1:8001/redoc
fast api 已經為你實現了api接口文檔,和自動調試器。
我們使用的是chrome 插件 TALEND API TESTER
你也可以用其他的http調試工具完成。
模擬本地tradingview發送webhook消息。
將模式調整為post
url地址是 127.0.0.1:8001/tv/
post的body字段寫上json
同時在HEADER中會自動生成application/json
完成以后點擊發送
如圖所示。本地測試已經完成了。
我們從本地模擬發送到webhook的數據通過python 傳遞到托管設備,并順利獲取到了相關數據。
本段落部分屬于個人網絡環境,每個人不一樣。
登陸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 ];
指定目的地址(本機外網ip) destination-address xxx.xxx.xxx.xxx/32;
指定目的端口(本機外網port) destination-port 80;
做端口重定向 destination-nat pool inside-8001;
這些步驟主要是允許 tradingview 訪問我的外網ip,
并指定80端口重定向到本地設備的8001端口。
將設備規則執行以后。tradingview就能順利推送消息給我們了。
tradingvew 消息測試
我們打開tradingview 并在一個高級指標上新建一個報警,
這個方法可以用于tradingview各種高級指標自動下單。
勾選webhook,并填寫服務端地址http://xxx.xxx.xxx.xxx/tv/
下方消息框填入字段消息。
{"apikey": "FMZ", "exchange": "bybit", "symbol": "BTC-USD", "side": "buy", "amount": "100"}
如圖所示 在指標上已經顯示了我們的預警信息
當價格穿越指標以后,tradingview產生報警
到此,相信大家對“FMZ怎么對接Tradingview實現下單”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。