記錄自己平時學到的新東西,讓自己與其他人少走一些彎路
Gcloud 可以參考 官網 目前的最新版本
下載檔案 & 解壓縮 1 2 3 curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-452.0.1-linux-x86_64.tar.gz tar -xf google-cloud-cli-452.0.1-linux-x86_64.tar.gz 執行安裝 1 ./google-cloud-sdk/install.sh 初始化設定 1 ./google-cloud-sdk/bin/gcloud init Artifact Registry 可以參考 這篇 的 Artifact Registry 部分
首先需要進行身分驗證,可以在 ~/.docker/config.json 中看到目前有的 Region。其中 asia-east1-docker.pkg.dev 要根據自己當初建立 Artifact 所在的地區改寫 1 2 3 gcloud auth configure-docker asia-east1-docker.pkg.dev cat ~/.docker/config.json Image 結構 在 docker build 的時候需要命名為這種結構 asia-east1-docker.pkg.dev/<Project ID>/<Repo Name>/<Image Name>:<Version>,指令如下 1 docker build -t asia-east1-docker.pkg.dev/<Project ID>/<Repo Name>/<Image Name>:<Version> . <Project ID>: 可以透過 GCP 上看到目前專案的 ID <Repo Name>: 建立 Artifact Registry 時的名字 <Image Name>: Image 的名稱 <Version>: Image 的版本號 將 image 推上 Artifact 1 docker push asia-east1-docker.
Pod Pod 是可以在 Kubernetes 中創建和管理的、最小的可部署的單元。 Pod 並不是一個容器,而是容器的運行環境。每個 Pod 本身會帶著一個或多個不等的 標籤(label) 在身上,這在 service 設定的時候會使用到。
一個 Pod 內會有一個或多個 Container。但通常只會有一個主要執行的 container 而已,其餘的 container 主要是用於環境設定或輔助主 container 的作用。
在同一個 Pod 中,它們共享了儲存、網路、運算資源和設定。每一個 Pod 都有著自己的 IP 地址,其餘的程式或 Pod 都可以根據這個 IP 互相通訊。
Service Service 是運行在一個或一組 Pod 上將應用程式公開出去給其他人使用的方式。如果沒有 service,使用者在使用服務的時候會需要直接對 pod 進行溝通。可是 pod 本身是隨時可以捨棄並快速創建的,每次重新創建都會有不一樣的 IP,這樣使用者會需要不斷的修改溝通的 IP。
但有了 service 後,service 可以透過 pod 的 label 來選擇需要綁定那些 pod。將一個或多個 pod 打包在一起並提供一個持續存在的穩定 IP。service 會將 request 轉發到打包的 Pod 上。
使用者只需要連線 service IP 就可以正常的使用服務。即使打包的 pod 重新創建 IP 有變化使用者也不需要擔心。
前言 在之前的內容中,我們提到了如何在 GCP 的 VM 上建立 Telegram Bot,相較於在本機建立,這樣的管理效率更高、更有效率。但是,仍有維護上的困難,當要執行的程式變得複雜時,就會面臨著許多問題。為了解決這些問題,我們需要使用到 Docker 技術,將先前建立的 Bot 運行在 Docker 上。這樣做的好處在於,相較於在 VM 上運行,Docker 容器更易管理。在未來,當程式規模擴大時,也可以將不同功能的程式運行在不同的容器上,再讓這些容器互相溝通。
1. Overview 1.1 Container Container 是一種虛擬化技術,它共享了操作系統 ( linux、window 等等 ) 的底層資源。每個容器互相之間是相互隔離的,這種隔離方式能夠確保每個應用程式在運行時都擁有自己的運行環境。
1.2 Docker Docker 是一個開源的容器化平台,讓開發者能夠輕鬆地構建、部署和運行應用程式。它使用容器技術,將應用程式和相關依賴項打包到一個稱為 映像檔(image) 的獨立單元中。這些 image 可以在任何支援 Docker 的環境中執行,而不需要擔心底層環境的不同。
Dockerfile: 可以當作 image 的藍圖,用於定義如何構建 image。內容包含了設定環境、複製檔案、執行指令等等的內容。描述了應用程式的環境和運行時配置,我們可以透過 Dockerfile 來創建我們的 image。
Image: 它包含了執行應用程式所需的所有內容:程式碼、依賴項、庫和環境變數。不只可以自己建立 image 外,也可以透過 Docker Hub 來下載其他人或官方包裝好的 image
Container: 是 image 的一個 實例(instance),是輕量級、獨立和可移植的,比起將應用程式執行在 VM 中,在 container 中執行可以更快速地啟動、停止和刪除。每個容器都是隔離的,可以避免應用程式之間的干擾。但安全性方面則遜於 VM
流程大概可以總結成這樣
2. Build Image 由於 Container 的建立需要透過 Image,所以我們需要先將我們上一章寫出來的程式包裝成 Image
前言 Google Cloud Platform (GCP) 是由 Google 推出的雲端計算平台,提供各種雲端運算資源,包括虛擬機器、儲存等等。GCP 可以解決使用者本地電腦穩定性不足或是配備不夠的問題,使用者可以透過 GCP 創建屬於自己的虛擬機器,進而進行開發、分析資料或架設系統等等的工作。如果是新帳號使用者可以利用90天或300美金的體驗期來滿足自己短期的需求。
1. 準備 在 GCP 上建立虛擬機 進入到 GCP 網站 中開始使用, 啟用 Compute Engine 功能。 點選 VM 執行個體後建立執行個體,區域的部分就近選擇台灣即可 其餘我採用的配備是 e2-medium (2 個 vCPU,4 GB 記憶體) Ubuntu 20.04 LTS (x86/64) 硬碟大小 50GB 這邊會需要配置兩台 VM 來充當 K8s 的 Master Node 和 Worker Node,配置完成後應該會可以看到跟下圖一樣的畫面 Kubernetes 安裝版本為 1.26.0-00 點選 SSH 就可以進入到 VM 的終端機操作畫面 到這邊在 GCP 上建立 VM 的內容就結束了,接下來就是如何將 Kubernetes 安裝在這兩台 VM 上面運行
2. Master & Worker node 設定 2.
前言 如果你想要在 GCP 上建立一個免費的 Telegram Bot,需要準備以下幾個東西:
GCP VM 固定的 IP 位址 Flask nginx、ngrok 因為 Telegram 傳送給 Bot 的訊息需要走 HTTPS,所以還需要擁有自己的網域和 SSL 憑證。在這部份,我們可以透過使用 nip.io 以及 certbot 來達成。
1. GCP 在 GCP 上,每個 Google 帳號都可以免費試用 90 天或 300 美元的額度,因此我們可以在 GCP 上建立 VM 或 Kubernetes 而不需要花費任何費用。
首先,我們需要在 GCP 上建立一個 VM 作為我們的開發環境,同時作為 Bot 的執行地方,並使用 Ubuntu 20.04 作為軟體平台。在建立 VM 後,VM 的外部 IP 位址預設是臨時的,這意味著每當 VM 重啟時 IP 位址可能會更改。這會導致每次都需要重新設定 Webhook 的位置。因此,我們可以按照下圖所示的方式進行修改。
進去之後就依照妳想要的做填寫,“連接到:” 的部分則選擇妳剛剛創建的 VM ,最後就可以看到如第一張圖一樣 “外部 IP 位址” 已經變成固定的。
前言 我的第一筆投資是在大一的時候,當初買了第一張股票,根本不知道那個東西是什麼鬼,但是沒過幾天就突然漲上去了,還記得當初賣掉就賺了6000元,心想「挖靠 ! 這個東西真的可以賺錢 ???」我相信這個應該是每個人第一次投資賺錢或賠錢的第一個想法XDD。
但因為都是無腦買所以開始慢慢賠錢,後面決定開始學習。從一般的基本面再到籌碼分析最後又到了技術分析,通通學了一遍,但始終覺得缺少了一點什麼。大概就是那種數學課學了很多的數學公式,也都會用,但就是不懂推導過程的感覺。這個情況一直到我最近學了訂單流的交易才慢慢瞭解這些技術分析背後的含意,而且發現南出來討論的人也沒有特別多,所以希望可以讓想要學的人少走彎路,順便自己也可以把自己學習的東西記錄下來 !
提醒
貼心提示: 以下的內容只是自己的學習紀錄,並非完全正確,如果有錯誤歡迎大家討論 !! 1. 什麼叫做訂單流交易 ? 就我的理解是透過 K 線找出有 相對較強的買/賣單的位置 ,更白話來說其實就是平常所說的那些支撐/壓力,但找出來有什麼幫助呢 ?
因為這些點位可能有著一些銀行或機構 (或著可以稱他們為主力) 參與其中,我們的目的就是希望跟隨著這些主力一起獲利。 因為靠近這些相對強的點位,所以可以擁有更好的盈虧比1 後面我會介紹一些在訂單流交易中常用到的一些名詞,以及它所代表的內涵意義。
2. 流動性 (Liquidity) 是什麼 ? 流動性表示那些未成交的訂單,這些訂單會掛在上面等著價格抵達來消耗。
當價格上漲力度不夠的時候可能造成無法消耗上方的流動性的時候就會造成價格下跌。反之當下跌力度不夠無法消耗下方的流動性則會造成反彈。
注意
流動性可說是在交易市場中的戰略物資,基本上後面的文章都會圍繞在流動性的討論。至於為什麼流動性會是戰略物資呢 ? 這部分會在下面的流動性池中討論到
流動性池 (Liquidity Pool) 剛剛介紹完流動性的定義,接下來要講一下流動性池又是什麼,流動性代表著掛在上面的未成交訂單,那顧名思義流動性池就表示著堆積很多流動性的地方。
至於這些堆積的流動性是由什麼樣的人組成呢 ?,它大致可以由以下兩種人所組成 :
停損的人 做突破交易的人 至於要怎麼找到那些可能是流動性池的地方呢 ? 我覺得這個就有點偏主觀的尋找,大致的思路就是往當價格突破或跌破某個價位時,哪邊會有最多人停損的方面來思考。
可以從下圖中這個結構是由兩個黃色圈圈所形成的雙頂結構。
先講第一類停損的人,一般來說,有持倉做空的人當價格往上漲突破了雙頂的最高點代表著這個結構被破壞了,可能會有一波上漲的行情。因此這些人往往會先採取停損的作法以免損失過大。這些做空停損的人會為市場帶來大量買單。 第二類做突破交易的人,如同第一點一樣,當這個結構被突破後被認為可能會有一波上漲行情,因此他們會直接買入帶來大量買單。 這兩種人同時都會在突破破雙頂結構的時候產生大量的買單,因此上方就會堆積許多的流動性,這種地方我們就稱為 流動性池 (Liquidity Pool) 。由於這些都是大量的買單,因此也稱為買方流動性(Buy side liquidity; BSL)。反之,如果都是賣單的話則稱為賣方流動性(Sell side liquidity; SSL)。
剛剛在流動性的地方有說到流動性是一個戰略物資,它是受到主力爭相掠奪的,原因是這些主力的資金較為龐大,如果一次完成交易會造成價滑並且讓它的成本變高,因此它需要掠奪流動性高的地方以完成它的交易,像是這種流動性池就很有可能是他的目標。以紫色的圈圈為例,這種掠奪流動性池的方式稱之為獵取止損(Stop Hunt)。獵取止損後續會再介紹到,以更白話的方式形容的話就是一個假突破。
可以看到當Stop Hunt之後價格就直線往下掉,但這也並非一定會這樣,會需要依照不同的情況來判斷。
3. 總結 大概統整一下這篇文章所講的一些東西 :
1. Admonition 主要可以用來 Highlight 一些重要的東西,需要自行補兩個{{ }},如下圖
1 2 3 < admonition type=tip title="This is a tip" open=true > Some tips... < /admonition > Admonition type 允許的類別 note This is a Note
Some Note... abstract This is a Abstract
Some Abstract... info This is a Info
Some Info... tip This is a Tip
Some Tip... success This is a Success
Some Success... question This is a Question
Some Question... Warning This is a Warning
Some Warning.
1. 如何修改圖片大小 有時候在上傳圖片的時候時常遇到上傳的圖片要嘛太大、要嘛太小的情況。一開始我都是將圖片先調整成適當大小再貼上,但實在是耗時又麻煩,過程中還需要一直反覆調整大小,有時候真的會用到很不爽啊
因此紀錄一下目前如何修改圖片的大小,這邊的圖片位置可以放網址或是本地的圖片位置都可以,但注意的是本地圖片必須放在 /static 資料夾內
提醒
也可以透過下面的連結去試試看,這個採用了 Hugo 的 Shortcodes 的方式,並且是使用figure而非下面的src,但不確定是不是主題的原因,我使用的時候會無法修改圖片大小。
🔗Shortcodes | Hugo (gohugo.io)
1 <img src="圖片位置" width="400" alt="圖片名稱"> 如果需要將圖片置中,可以改成這樣
1 <center><img src="圖片位置" width="400" alt="圖片名稱"></center> 下圖分別為 width="300"、width="400"
2. 如何設定文章縮圖 注意
此文以 `loveit` 主題為例,每個主題可能會有不同的方式修改 首先需要先找出要設定成文章縮圖的圖片,最好選擇長方形的圖片,這樣比例才不會跑掉。 在 .md 檔案中的前綴寫下 1 2 featuredImage: "圖片位置" featuredImagePreview: "圖片位置" featuredImage: 在文章的一開始要放上什麼樣的圖片,如下圖會在文章內的紅色框框的一開始出現圖片,如果不希望出現,就不用設定即可。 featuredImagePreview: 文章的縮圖,設定後就會如下圖。