跳到主要內容

把 Gekko 交易機器人安裝到雲端 (Amazon EC2、Google Cloud) 上,免開機就能 24HR 操盤



雖然在官網其實有教學如何 Installing Gekko on a server,不過都沒講到伺服器方面要怎麼設定或是雲端服務怎麼用,所以就稍微來介紹一下怎麼把 Gekko 裝上雲端,這樣以後要使用就不用一直開著電腦了,隨時可以透過伺服器的 ip 連上操作介面。

其實這類雲端服務也很多,比較有名的就是像 Google CloudAmazon EC2...等,基本上都是需要收費的,也千萬不要找沒有信譽的雲端主機,畢竟你等於把交易所的 API Key 放在那裡面運作,安全絕對是最重要的。

我會選擇用 Amazon EC2 來裝 Gekko,因為它有 12 個月免費試用還有部分服務是永久免費的,其實 Google 也是一年免費,想用哪個可以自己比較看看後續的費率。



Amazon EC2
官方網站 : https://aws.amazon.com/tw/ec2


要注意的是註冊時需要提供信用卡資訊,但在免費流量用完前是不會扣款的。註冊完後點選右上方的登入主控台。


選啟動虛擬機。可以看到 AWS 的服務也是非常多,不但能裝機器人還可以順便架個網站之類的。


選 EC2 方案,Lightsail 是要錢的,任誰都會選免錢的吧。


取個大吉大利的好名字。


 選 Amazon Linux AMI 就好。


實例類型就 t2.micro,它免費的也沒太多給你選,基本上不會跑太多運算夠用就可以了。


密鑰是一個 .pem 檔,下載回來要好好留著等會還要用。 那這樣你的 EC2 伺服器就正式上線了,現在要做的是從本機電腦連線到伺服器。


連線到你的 Linux 主機會需要用到 PuTTY 這個程式,可以到官網去下載,建議下載 .zip 版本的省的還要安裝。


下載回來後先開啟 PUTTYGEN.EXE要先把剛剛的 .pem 密鑰轉檔。


Load 剛剛下載回來的 .pem 密鑰,記得將檔案類型改成 All Files 不然看不到。


然後 Save private key 把它存成 .ppk 檔。


再來就可以開啟 PUTTY.EXE,Host Name 的格式是「用戶名@公有 DNS (IPv4)」,如果都是用 EC2 這個方案的話用戶名統一都是 ec2-user,公有 DNS 可以在主控版介面看到,如下。



同個介面展開 Connection > SSH > AuthBrowse 剛剛轉檔的 .pkk 密鑰,然後就可以 Open 開啟終端機了。

隨後就可以看到終端機的畫面,接下來要做的事就跟在自己電腦的步驟一樣,先裝 Node,js。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
用上述指令安裝 nvm v0.33.6。

. ~/.nvm/nvm.sh
安裝完後再用上述指令啟動 nvm。


nvm install 8.9.4
安裝 8.9.4 版(最新)的 Node.js,跑完後就裝好 Node.js 了


接著就可以裝 Gekko 了,先去 GitHub 下載乾淨的 Gekko 回來,因為需要改 config 才能上傳到伺服器。


打開資料夾中 gekko-develop/web/vue/ 的 UIconfig.js,將它修改成如下。host 記得自己改成自己的 IPv4 公有 IP


const CONFIG = {
    headless: true,
    api: {
        host: '0.0.0.0',
        port: 3000,
    },
    ui: {
        ssl: false,
        host: '你的 IPv4 公有 IP',
        port: 3000,
        path: '/' 
    },
    adapter: 'sqlite'
}

if(typeof window === 'undefined')
  module.exports = CONFIG;
else
  window.CONFIG = CONFIG;



pscp -i C:\Gekko.ppk -r C:\gekko ec2-user@ec2-13-231-67-37.ap-northeast-1.compute.amazonaws.com:/home/ec2-user/
接著按 Win+R > CMD,開啟Windows command line,把本機的 Gekko 上傳到伺服器。請自行調整路徑,紅體字分別是本機的 .ppk 密鑰路徑和 Gekko 資料夾路徑,藍體字則是登入需要的資訊。


screen
首先在終端機鍵入 screen 這個指令,之後即使你把 PUTTY 關掉後 Gekko 才會繼續執行,如果不想一直執行可以用 screen -r 取消。


cd /home/ec2-user/gekko
用指令 cd 到剛剛上傳的路徑,如果你的 Gekko 資料夾不叫 gekko 要自己改。


npm install --only=production
後面就跟在 Windows 一樣了,打指令讓它安裝。

node gekko --ui
開啟 Gekko,恭喜你雲端版的 Gekko 正式上線了,24HR 隨時為你操盤。





留言



這個網誌中的熱門文章

WinRAR - 繁體中文版、免費版,別再破解了,老牌壓縮軟體直接免費給你用

WinRAR 應該對於所有 Windows 使用者一點都不陌生,可能也是很多人壓縮、解壓縮檔案的首選,舉凡 RAR、ZIP、7-Zip、TAR ...等檔案格式都可以處理,製作自解壓縮 (.EXE) 檔也沒問題,也算是最老牌的解壓縮軟體之一。 WinRAR 官方網站 :  https://www.win-rar.com 繁體中文版 :  https://rar.tw/download.html 永久免費簡體版 :  http://www.winrar.com.cn/download.htm 其實我也不太理解為什麼一個 WinRAR 可以有這麼多版本、不同語系的官網,畢竟在最原始的官網內也有「漢語」(簡體中文) 的選項,所以其他的國家自己的官網算代理商嗎? 如果真的要說我會比較建議到 英文版的官網 下載,畢竟這種軟體轉了一手又一手,加了什麼都不知道。

鍵盤按鍵壞了怎麼辦?用 Sharpkeys 換一個鍵來用就好啦 (重新設定 / 配置鍵盤按鍵 / Key Mapping)

我有一個壞習慣就是很常按 Alt+Tab,有時候即使沒要跳畫面還是偶爾會手癢按個幾下,尤其 Alt 又是大拇指按的,可能我的大拇指特別有力所以最近把 Alt 真的按壞了,我是用青軸的機械式鍵盤,所以每個軸都是獨立的應該是可以更換,但如果是用薄膜式鍵盤呢?那可能只能整把換掉了, 或是交換一下鍵位拿一個平常沒在用的鍵頂替一下,也就是今天要介紹的「Sharpkeys」。 Sharpkeys 官方網站 :  http://www.randyrants.com/category/sharpkeys GitHub :  https://github.com/randyrants/sharpkeys 使用 Sharpkeys 會需要 .NET Framework 4.0,如果還沒有安裝的可以到 微軟官方 下載。 開啟 Sharpkeys 後點選 「Add」 ,左方是選擇 「被重新分配的鍵位」 ,右方是 「替代的鍵位」 ,你也可以按 Type Key 直接用打的讓系統偵測。 像我就做了兩個 Key Mapping,其實就是 Win 鍵和 Alt 鍵互換啦,設定完成後就按「Write to Registry」寫入註冊表, 然後重開機或重新登入就可以生效囉。

Facebook 臉書按「讚」小工具 (讚按鈕),把程式碼置入網站、Blogger 讓人隨時按讚 (一分鐘安裝完成)

Facebook 的按「讚」小工具大概是所有社交外掛程式裡面最受歡迎的了,除了按讚功能外還有結合「分享」,很適合放在網站的文章內讓讀者能把好的東西推薦給別人,而且安裝使用這個小工具並不需要建立獨立的應用程式,只要將程式碼貼進網站內就可以了。同樣是 Facebook 社交小工具的還有 留言板 (Comments) 可以參考 這篇 。 到 Facebook 社交外掛頁面選擇自己想要的按鈕形式, 建議可以把按讚網址留白,這樣它就會自動抓取當下的網址按讚 ,之後點擊取得程式碼。 <div id="fb-root"></div> <script>(function(d, s, id) {   var js, fjs = d.getElementsByTagName(s)[0];   if (d.getElementById(id)) return;   js = d.createElement(s); js.id = id;   js.src = 'https://connect.facebook.net/zh_TW/sdk.js#xfbml=1&version=v2.12';   fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));</script> 之後會得到兩段程式碼, 上方的這種貼進 <body> 的開頭 ,如果網站已經安裝過類似的社交小工具可以不必再安裝這段程式碼,它是可以共用的。 <div class="fb-like" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="true"></div> 這段則貼到想要讓 按鈕顯示的位置 ,可以自行決定。 如果是使用 B...