跳到主要內容

Gekko 交易機器人Command-line 介面 (CLI ) 如何使用 Telegram bot 來查詢價格、收益



Gekko 交易機器人的 Command-line 介面非常適合拿來跑運算量較大的策略或回測 (Backtest) 大量數據,占用資源低而且速度快,我用到目前從來沒有 Crash 過,也沒出過 child process died 的錯誤,但 CLI 缺點就是沒辦法產生交易圖表,而且要即時監控也比較困難,所以能用 Gekko 的 Plugins 來補足這點。Telegram bot 就是能直接向 Telegram 你所創的機器人查詢目前價格、交易收益,雖然現在功能還很陽春,但至少比要開啟 CMD 來看收益要方便得多。


首先你要登入自己的 Telegram 帳號,然後跟 BotFather 用 /newbot 要求一個新的機器人,接著它會詢問你機器人的名字、帳號,都回答完了就會產生一個 Bot Token,這串等會就會拿來填到 config.js 裡。


config.telegrambot = {
  enabled: true,
  emitUpdates: true,
  token: '你的 Bot Token',
  botName: '你的 Bot Username'
}
接著把上述的 Code 置入到 Gekko 資料夾的 config.js 中,將 token 改成剛剛得到的 Bot Token,botName 則是剛剛的 Bot Username。



npm install moment
npm install lodash
npm install node-telegram-bot-api
在執行 Gekko 之前得要先安裝這三個套件,telegrambot.js 會需要這三個套件才能正常啟用,記得安裝前要先 CD 到 Gekko 目錄。



接著就能用 CLI 開始 Gekko 跑策略啦。


然後能在 http://t.me/你的BotUsername 找到你的 Telegram Bot,目前一共只有兩個指令分別是 /price/advice,分別查詢目前的價錢和策略提供的建議。


不過目前一個 Telegram Bot 只能和一個 Gekko 作連動,意思就是如果你開了兩個 Gekko 就得綁定兩個不同的 Telegram Bot,這點是目前比較麻煩的部分,但就湊著用吧。



留言



這個網誌中的熱門文章

Linux (Ubuntu) 查詢硬碟容量、剩餘大小指令

在 Ubuntu Desktop 版本或有安裝 GUI 像 Xfce 的 Server 版本當然可以直接從圖形介面查看硬碟容量和已經使用的大小, 但如果是在純 CLI 版本或使用 SSH 連線時呢?那就需要用到指令了。 顯示硬碟容量、已使用、可用大小。 df -h 查詢資料夾所占硬碟的大小。 du -h 查詢檔案大小 ls -l

吃光硬碟讀寫的大怪獸 - Superfetch 是什麼?可以關嗎?

Superfetch 是 Windows 內建的硬碟快取功能,它會預先將檔案讀取起來到 Ram 裡方便稍後做使用,所以常常在工作管理員內都可以看到 Superfetch 往往占掉了不少的硬碟使用量,那這樣的情形是好的嗎?其實理論上並不會有太大影響,畢竟 Superfetch 只是將等會要讀取的內容先預置在 Ram 中,如果不趁硬碟負載小的時候優先讀取,之後反而可能忙不過來呢。當然如果你是使用 SSD 的話可能會為使用壽命擔心, 高頻率的讀取可能加速固態硬碟老化,那在讀取速度原本就很快的 SSD 當然就相對的沒有必要開啟 Superfetch 了。 Superfetch 在電腦待機時吃掉大部分硬碟使用量是很常有的事。 要關閉也很簡單, Win+R > services.msc 打開「服務」,找到 Superfetch。 右鍵 > 內容,將它更改為「 已停用 」後確定即可。

TLS / SSL 金鑰轉檔,「.crt / .key」如何轉成「.pem」?( OpenSSL 教學)

不管是哪個 Certificate Authority (CA) 發的憑證多半金鑰檔都是給「.crt / .key」格式的檔案,像是「ca_bundle.crt」、「 certificate.crt」和「.private.key」這種檔案, 但是在實際使用 (Nginx、Apache...等伺服器) 卻會需要的是「.pem」檔 ,那要怎麼轉換呢?其實可以直接使用 OpenSSL 這個軟體和幾行指令來達成。 OpenSSL 官方網站 :  https://www.openssl.org 下載頁面 :  https://www.openssl.org/source sudo apt-get install openssl 以 Linux (Ubuntu / Debian ...等) 為例,可以直接使用 apt-get 指令下載安裝 OpenSSL,如果是其他系統可以參考官方網站的說明。 openssl rsa -in private.key -text > private.pem openssl x509 -inform PEM -in certificate.crt > certificate.pem openssl x509 -inform PEM -in ca_bundle.crt > ca_bundle.pem 以前述所提到的「ca_bundle.crt」、「 certificate.crt」和「.private.key」三個檔案為例,就可以用上方的指令完成轉檔,其實同副檔名的轉檔指令都相同,所以兩個「.crt」的指令其實是重複的,也要記得套換成自己的檔案名稱。 如果需要申請免費的 SSL 憑證也可以參考之前介紹過的 SSL For Free ,它是使用「Let's Encrypt」核發的憑證,以及如果覺得申請憑證和定期更新太麻煩,也可以考慮自動化的 Caddy Server 能自動幫網站升級 HTTPS。