跳到主要內容

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。 右鍵 > 內容,將它更改為「 已停用 」後確定即可。

Ubuntu Server 16.04 免密碼自動登入 (Auto Login),沒有圖形化介面 (GUI) 也可以達成

在用 Ubuntu Desktop 的時候要做到帳號免密碼自動登入非常簡單,只要到設定內將使用者帳戶的 Automatic Login 打開以後就不再需要輸入密碼了,但如果是用 Ubuntu Server 而且沒有裝 GUI 呢? 其實還有更簡單的辦法可以純用 CLI 就達成自動登入的目標,即便在遠端使用 SSH 操控機器也可以很輕鬆地達成。 (Ubuntu Desktop 版本的自動登入) sudo mkdir /etc/systemd/system/getty@tty1.service.d sudo vim /etc/systemd/system/getty@tty1.service.d/override.conf 首先建立 getty@tty1.service.d 目錄以及 override.conf 設定檔。 [Service] ExecStart= ExecStart=-/sbin/agetty --noissue --autologin 帳戶名稱 %I $TERM Type=idle 將上述內容貼至設定檔內,記得換成自己的帳戶名稱,並使用 :wq 指令儲存。 之後就可以試試看 sudo reboot 重開機就會自動登入了。