最近再研究 BTC 的一些指數,有一個東西叫做 RSI (相對強弱指數 是一種技術分析指標,用於即時價格波動的速度和幅度。)
因為需要這指數判斷一些東西,後來上網查一下,似乎不是很困難,所以筆記一下
給之後有需要用到的人..

這網址有給出很清楚的公式 : https://www.oanda.com/bvi-ft/lab-education/technical_analysis/what_is_rsi/
中間我也參考了 ChatGPT 來做參考..
這邊就直接給程式碼吧,這邊我有查一下通常都是使用收盤價格來當作該數據的依據,不過你怎麼定義那數字就看你自己的使用場景
var btcPrices = new List
{
51437m,
51858m,
52263m,
51783.6m,
52117.5m,
51646m,
52134.2m,
51901.3m,
51782.4m,
49716.0m,
49941.3m,
48277.3m,
47758.2m,
47127.5m,
};
//反轉,因為我是用最新價格往前紀錄
//如果你順序是從舊到新則不用反轉
btcPrices.Reverse();
var priceChanges = new List();
for (int i = 1; i < btcPrices.Count; i++)
{
var change = btcPrices[i] - btcPrices[i - 1];
priceChanges.Add(change);
}
var upChanges = new List();
var downChanges = new List();
foreach (var change in priceChanges)
{
if (change >= 0)
upChanges.Add(change);
else
downChanges.Add(Math.Abs(change));
}
//計算平均上漲還是下跌
var avgUp = upChanges.Sum() / upChanges.Count();
var avgDown = downChanges.Sum() / downChanges.Count();
//計算 RSI
var rs = avgUp / avgDown;
var rsi = 100 - (100 / (1 + rs));
Console.WriteLine("RSI: " + rsi);
//RSI: 67.34935743120623632571185177
大概就是紀錄到這裡,透過 RSI 指數
本文章純技術分享,不構成投資建議