็พไปฃๅ่ทจๅนณๅฐๆก้ข่ช้ธ่ก็ฎก็ๅทฅๅ ท๏ผๆฏๆด่ก็ฅจใๆๆธใETFใๅคๅฏใๅ ๅฏ่ฒจๅนฃใๆก็จ Tauri 2.x + React 18 + TypeScript ๅปบๆง๏ผๅ งๅปบๅฐๆฅญ K ็ทๅใๅนๆ ผๆ้ใๅค่ช็ณปๅไน็จฎไธป้กใ
โ ๏ธ ๅ ่ฒฌ่ฒๆ๏ผ Yahoo Finance ๅ ฑๅน้ๅธธๅปถ้ฒ 15 ่ณ 20 ๅ้ใ่ณๆๅ ไพๅ่๏ผไธๆไฝ็บไปปไฝๆ่ณๆฑบ็ญไนไพๆใ
| ็น้ซไธญๆ | English |
|---|
- ๅ่ฝ็ธฝ่ฆฝ
- ็ณป็ตฑ้ๆฑ
- ๅฎ่ฃๆญฅ้ฉ
- ๅท่กๆ็จ็จๅผ
- ๅปบ็ฝฎ็ผๅธ็ๆฌ
- ๅฟซ้้ๅง
- ๆ ธๅฟๅ่ฝ
- ไธป้ก็ณป็ตฑ
- ๅค่ช็ณปๆฏๆด
- ๅไบบๅ่จญๅฎ
- ่ณๆๅฒๅญๆฉๅถ
- ๆ่กๆถๆง
- ๅธธ่ฆๅ้ก
| ๅ่ฝ | ่ชชๆ |
|---|---|
| ๐ ๅคๆธ ๅฎ็ฎก็ | ๅปบ็ซใ้ๆฐๅฝๅใๅช้คใๆด็็ก้ๅ่ช้ธ่กๆธ ๅฎ |
| ๐น ๅปถ้ฒๅ ฑๅน | Yahoo Finance ๅณๆๅ ฑๅน๏ผๆฏๆด่ชๅ/ๆๅๆดๆฐ |
| ๐ฏ๏ธ K ็ทๅ | ๅฐๆฅญ่ ็ญๅ๏ผๆฏๆดๅ็ทใKDใMACD ๆๆจ |
| ๐ ๅบๆฌ้ขๅๆ | 30+ ่ฒกๅๆๆจ๏ผๆถต่ไธๅคง้กๅฅ |
| ๐ ๅนๆ ผๆ้ | ้ซ/ไฝๅนๆ้๏ผ่งธ็ผๆ็ผ้ Windows ็ณป็ตฑ้็ฅ |
| ๐ ๆบๆ งๆๅฐ | ้ข็ทๆฌๅฐ็ดขๅผ + Yahoo ็ทไธๆๅฐ้้ๅๆด |
| ๐จ ไน็จฎไธป้ก | DarkใOceanใForestใSunsetใNeonใElegantใFrosted Purple/Blue/Cyan |
| ๐ ๅ ญ็จฎ่ช่จ | ็น้ซไธญๆใ็ฐก้ซไธญๆใEnglishใๆฅๆฌ่ชใํ๊ตญ์ดใEspaรฑol |
| โจ๏ธ ๅฟซๆท้ต | Ctrl+K ็ซๅณ้ๅๆๅฐ |
- ไฝๆฅญ็ณป็ตฑ๏ผ Windows 10 / 11๏ผ64 ไฝๅ ๏ผ
- WebView2๏ผ Windows 10/11 ๅทฒๅ งๅปบ๏ผ่ฅ็ก่ซๅพ Microsoft ๅฎๆน ไธ่ผๅฎ่ฃ
็ดๆฅไธ่ผ Releases ไธญ็ yWatchlist_1.0.1_x64-setup.exe๏ผๅท่กๅณๅฏ๏ผ็ก้ๅ
ถไปๆชๆกใ
- Node.js๏ผ v18 ไปฅไธ
- Rust ๅทฅๅ
ท้๏ผ ๅปบ่ญฐไฝฟ็จ
rustup
- Clone ๅฐๆก
git clone https://github.com/aneterw/yWatchlist.git- ไธ่ผ Python ้่กๆ
ๅพ Releases ไธ่ผ
python-embed-full.zip๏ผ่งฃๅฃ็ธฎๅฐๅฐๆกๆ น็ฎ้๏ผ
yWatchlist/
โโโ python-embed-full/ โ ่งฃๅฃ็ธฎๅฐ้่ฃก
โโโ src/
โโโ src-tauri/
โโโ ...
- ๅฎ่ฃๅ็ซฏ็ธไพๅฅไปถ
npm install- ๅท่กๆๅปบ็ฝฎ
# ้็ผๆจกๅผ
npm run tauri dev
# ๅปบ็ฝฎ็ผๅธ็ๆฌ
npm run tauri build1. ๅฎ่ฃ็ธไพๅฅไปถ๏ผnpm install
2. ๅๅๆ็จ็จๅผ๏ผnpm run tauri dev
3. ๅทฆๅด้ๆฌ้ ่จญ้กฏ็คบใGlobal Indicesใๅ
จ็ๆๆธๆธ
ๅฎ
4. ้ปๆใRefresh Currentใๆๅๆดๆฐ๏ผๆ็ญๅพ
ๆฏ 10 ๅ้่ชๅๆดๆฐ
5. ้ๆไปปไธๅๅ๏ผ้ๅๅฐๆฅญ K ็ทๅ
6. ้ปๆ ๐ ๅ็คบ๏ผๆๅณ้ต๏ผ๏ผ้ๅๅบๆฌ้ขๅๆ้ขๆฟ
7. ไฝฟ็จ Ctrl+K ๆๆๅฐๆ้๏ผๆฐๅขๆฐ่ก็ฅจ่ณๆธ
ๅฎ
8. ๅจไธๆนๅทฅๅ
ทๅๅๆไธป้กใ่ช่จ่ๅญๅ
ๆ็จ็จๅผๅๅๆ่ชๅๅปบ็ซๅ ฉ็ต้ ่จญๆธ ๅฎ๏ผ
| ๆธ ๅฎๅ็จฑ | ๅ งๅฎน |
|---|---|
| Global Indices | ้็ (^DJI)ใๆจๆฎ 500 (^GSPC)ใ็ดๆฏ้ๅ (^IXIC)ใ่ฒปๅๅๅฐ้ซ (^SOX)ใๅฐ็ฃๅ ๆฌ (^TWII)ใไธๆตท่ญๅธ็ถๅ (000001.SS)ใๆทฑ่ญๆๅ (399001.SZ)ใๆ็ (^HSI)ใๆฅ็ถ 225 (^N225)ใ้ๅ KOSPI (^KS11)ใๆฐๅ ๅก STI (^STI)ใๅพทๅ DAX (^GDAXI)ใๆณๅ CAC 40 (^FCHI)ใ่ฑๅ FTSE 100 (^FTSE) |
| Tech ETF | QQQ๏ผ้ฃๆฏ้ๅ 100๏ผใVGT๏ผ็งๆ SPDR๏ผ |
- ๅปบ็ซๆธ
ๅฎ โ ้ปๆๅทฆๅด้ๆฌ็
+ๆ้ - ้ๆฐๅฝๅ โ ๆป้ผ ๆธๅๆผๆธ ๅฎๅ็จฑไธ๏ผ้ปๆ้็ญๅ็คบ
- ๅช้คๆธ ๅฎ โ ้ปๆๅๅพๆกถๅ็คบ๏ผๆๅฝๅบ็ขบ่ชๅฐ่ฉฑๆก๏ผ
- ่ชฟๆด้ ๅบ โ ๆฏๅๅณๅดๆไธ็งป/ไธ็งป็ฎญ้ ญๆ้
- ็งป้ค่ก็ฅจ โ ็ฌฌไธๆฌก้ปๆ้ธไธญ๏ผๅๆฌก้ปๆ็ขบ่ชๅช้ค
- ๆฐๅข่ก็ฅจ โ ้ปๆใๆฐๅข่ก็ฅจใๆ้ใๆๅฐ Modal๏ผๆๆ
Ctrl+K
- ๅ ฑๅน่ณๆไพๆบ็บ Yahoo Finance๏ผ็ถ็ฑ Python ๅพ็ซฏๅๅพ
- ๆฏ็ญๅ ฑๅนๅ ๅซ๏ผ็ฎๅๅนๆ ผใๆผฒ่ท้ปๆธใๆผฒ่ทๅน ็พๅๆฏใๆไบค้
- ้ก่ฒๆ็คบ๏ผ็ถ ่ฒไปฃ่กจไธๆผฒใ็ด ่ฒไปฃ่กจไธ่ทใ็ฐ่ฒไปฃ่กจๆๅนณ
- ่ชๅๆดๆฐ้ ่จญ้ๅ๏ผ้้ๅฏ่ชฟ๏ผ
- ๆฏ 5 ๅ้
- ๆฏ 10 ๅ้๏ผ้ ่จญ๏ผ
- ๆฏ 30 ๅ้
- ๆฏ 60 ๅ้
- ้ปๆไธๆนๆ้ๆ้ๅฏ้้่ชๅๆดๆฐ
- ๆๅๆดๆฐ้ธ้
๏ผ
- ๅทๆฐ็ฎๅๆธ ๅฎ โ ๅ ๆดๆฐ็ถๅ้ธๅ็ๆธ ๅฎ
- ๅทๆฐๅ จ้จ โ ๆดๆฐๆๆๆธ ๅฎไธญ็ๆๆ่ก็ฅจ
ๆฏๆดๅ ฉ็จฎ้ๅๆนๅผ๏ผ้ๆ่ก็ฅจ๏ผๆ้ปๆ ๐ ๅ็คบใ
ๆ้้ฑๆ๏ผ
| ้ฑๆ | ่ณๆ็ฏๅ |
|---|---|
| ๆฅ็ท | 2 ๅนด |
| ้ฑ็ท | 10 ๅนด |
| ๆ็ท | 30 ๅนด |
ๅ่กจ้กๅ๏ผ
| ้กๅ | ่ชชๆ |
|---|---|
| ่ ็ญๅ | ็ด่ ็ญๅ + ๆไบค้ |
| ๅ็ทๅ | ่ ็ญๅ + 10 ๆฅๅ็ท |
| KD ๆๆจ | ่ ็ญๅ + KDJ ๅฏๅ |
| MACD | ่ ็ญๅ + MACD ๆฑ็ๅใ่จ่็ทใMACD ็ท |
ๆไฝๆนๅผ๏ผ
- ๆป้ผ ๆปพ่ผช็ธฎๆพ
- ๆๆณๅนณ็งป
- ๆธธๆจๆธๅ้กฏ็คบ OHLCV ่ๆๆจๆธๅผ
- ่ชๅ้ฉๆ่ฆ็ชๅคงๅฐ
ๅณ้ต้ปๆ่ก็ฅจ๏ผๆ้ปๆ ๐ ๅ็คบ้ๅๅๆ้ขๆฟใ่ณๆ็ฑ Yahoo Finance ้้ Python ๅพ็ซฏๅๅพใ
ๅ ฌๅธ่ณ่จๅก็๏ผ
- ๅ ฌๅธๅ็จฑใๆๅฑฌ็ขๆฅญ่็ดฐๅ้ ๅ
- ็ฎๅๅนๆ ผใๆจๆถใไปๆฅ้ซไฝ้ป
- ๆไบค้ใๅธๅผใๆฌ็ๆฏใๆฎๅฉ็ใ52 ้ฑ้ซไฝใBetaใEPS
ไธๅคงๆๆจ้กๅฅ๏ผ30+ ้ ๆๆจ๏ผ๏ผ
| ้กๅฅ | ๆๆจ |
|---|---|
| ไผฐๅผๆๆจ | ๅธๅผใ้ๆ ๆฌ็ๆฏใๅๆ ๆฌ็ๆฏใPEGใ่กๅนๆทจๅผๆฏใEV/EBITDA |
| ็ฒๅฉๆๆจ | EPSใROEใROAใROICใ็ๆฅญๅฉๆฝค็ใๅฉๆฝค็ |
| ๆฎๅฉ็่้ขจ้ช | ๆฎๅฉ็ใฮฒ ๅผใFCF ๆฎๅฉ็ใ้ๅๆฏ็ใๆพ็ฉบๆฏไพ |
| ๅๆๅธซ่ๆ่ก | ็ฎๆจๅๅนใ็ฎๆจไธญไฝๅนใๅๆๅธซไบบๆธใ่ฉ็ดใๅ ง้จไบบๆ่กใๆฉๆงๆ่ก |
| 52 ้ฑๅ้ | 52 ้ฑๆ้ซใ52 ้ฑๆไฝใๅ้ไฝ็ฝฎ |
| ็พ้ๆต | ่ช็ฑ็พ้ๆตใ็ๆฅญ็พ้ๆตใFCF ่กๅฉ่ฆ่็ |
| ็ๆถ่ๆ้ท | ็ธฝ็ๆถใ็ธฝ่ฒ ๅตใ็ธฝ็พ้ใ็้คๆ้ท็ใ็ๆถๆ้ท็ |
่ก็ฅจๆฐ่๏ผ ๆๆฐๆฐ่ๆจ้ก๏ผๅซ็ผๅธ่ ใๆฅๆ๏ผๅฏ้ปๆ้ฃ็ต่ทณ่ฝๅๆใ
Cookie ๅๆ่จญๅฎ๏ผ ๆไพ Yahoo Finance Cookie ๅๆ็ฎก็ๅฐ่ฉฑๆกใ
็บๆฏๆฏ่ก็ฅจ่จญๅฎ้ซๅน่ไฝๅน้ๆชป๏ผ
- ้ปๆ่ก็ฅจๅไธ็้ด้บๅ็คบ
- ่ผธๅ ฅ้ซๅน้ๆชป๏ผๅนๆ ผ้ซๆผๆญคๅผๆ้็ฅ๏ผๆไฝๅน้ๆชป๏ผๅนๆ ผไฝๆผๆญคๅผๆ้็ฅ๏ผ
- ๅฒๅญ โ ๆ้่จญๅฎๆ่ทจๆ่ฉฑๆไน ไฟๅญ
้็ฅ่ก็บ๏ผ
- ่งธ็ผๆ็ผ้ Windows ็ณป็ตฑ้็ฅ๏ผ12 ็ง่ชๅๆถๅคฑ๏ผ
- ๅทฒ่จญๅฎๆ้็้ด้บ่ฎ็บ้ป่ฒ
- ๆธๅ้ด้บๅฏๆฅ็็ถๅ้ๆชป๏ผ่งธ็ผๆ้กฏ็คบ โ ๅพ่
- ๅช้คๆ้๏ผๆธๅ้ด้บๅพ้ปๆๅๅพๆกถๅ็คบ
ๆ Ctrl+K ๆ้ปๆๆๅฐๆ้้ๅใ
ๆๅฐไพๆบ๏ผไพๅชๅ ็ดๆๅ๏ผ๏ผ
- ็จๆถ่ช่จ่ฆๅฏซ โ ่ชๅฎ็พฉไปฃ็ขผ-ๅ็จฑๅฐ๏ผโญ ๆจ็คบ๏ผ
- ๆฌๅฐไปฃ็ขผ็ดขๅผ โ ๅ งๅปบ้ข็ท็ฑ้ไปฃ็ขผๅบซ
- Yahoo Finance ๆๅฐ โ ็ทไธๆๅฐๅๆด
- ๅธธ็จไปฃ็ขผ โ ็ฒพ้ธ็็พ่กใไบๆดฒ่กใๅ ๅฏ่ฒจๅนฃใๅ็ฉๆๆธ ๅฎ
็น่ฒๅ่ฝ๏ผ
- Yahoo ๆๅฐๅธถ 400ms ้ฒๆๅ
- ๆๅฐ็ตๆๅฏไธ้ตๅ ๅ ฅๆฌๅฐ่ฆๅฏซ็ดขๅผ
- ็ดๆฅ่ผธๅ ฅไปฃ็ขผๆ Enter ๅณๅฏๆๅๆฐๅข
- ๅ ๅ ฅ่ฆๅฏซ็ดขๅผๅพๅฏ้ข็ทๆๅฐ
- ้ๆ็ตๆๅฏ็ซๅณๅ ๅ ฅ็ฎๅๆธ ๅฎ
้ปๆไธๆนๅทฅๅ ทๅ็ โ๏ธ ๅ็คบ้ฒๅ ฅ็ดขๅผ็ถญ่ญท้ ้ขใ
- ๆๅฐ โ ๅจๆฌๆฉ็ดขๅผๆ Yahoo ไธญๆฅๆพไปฃ็ขผ
- ๆฐๅข โ ๅฐๆฐ็ไปฃ็ขผ-ๅ็จฑๅฐๅ ๅ ฅ่ฆๅฏซๆธ ๅฎ
- ็ทจ่ผฏ โ ไฟฎๆนๆขๆๆข็ฎ
- ๅช้ค โ ็งป้ค่ฆๅฏซๆข็ฎ๏ผๅ งๅปบๆฌๅฐไปฃ็ขผ็กๆณๅช้ค๏ผ
- ็ฏฉ้ธ โ ไพไปฃ็ขผๆๅ็จฑ้ๆฟพๅ่กจ
- ่ฆๅฏซๆข็ฎๅจๆๅฐ็ตๆไธญๅชๅ ๆผๅ งๅปบ็ดขๅผ้กฏ็คบ
ไน็จฎไธป้ก๏ผ่จญๅฎๆ่ชๅไฟๅญ๏ผ
| ไธป้ก | ้ขจๆ ผ |
|---|---|
| Dark | ็ถๅ ธๆทฑ่ฒ โ ็ตฑไธ่ๆฏ้ ็ฝ่ฒๆๅญ |
| Ocean | ๆทฑๆตท่้ ้่ฒๅผท่ชฟ |
| Forest | ๆฃฎๆ็ถ ้ ๅคงๅฐ่ฒ่ชฟ |
| Sunset | ๅค้ฝ็ดซๆ่ฒ่ชฟ |
| Neon | ้่น้ขจๆดปๆฝๅฐๆฏ |
| Elegant | ้ป้ๅฅข่ฏ้ ่ฒ |
| Frosted Purple โ๏ธ | ๆทฑ่ฒๅบ็ ็ปๅฝฉ็ปใๆผธๅฑค่ๆฏใ12px ๆฏ็ป็ๆจก็ณ |
| Frosted Blue โ๏ธ | ๆทฑ่ฒๅบๅฐ่็ป็ใๆธ ๆฐ้้ใ12px ๆฏ็ป็ๆจก็ณ |
| Frosted Cyan โ๏ธ | ๆทฑ่ฒๅบ้็ถ ็ป็ใ่ช็ถ่็ทฉใ12px ๆฏ็ป็ๆจก็ณ |
้ๅฝฉ็ป็ไธป้ก็น่ฒ๏ผ
- ๅ้ๆ็ป็้ขๆฟๆๆ
- ๅพๅๆผธๅฑค + ็ดฐๅพฎๅช่ฒ็ด็่ๆฏ
- 12px ๆฏ็ป็ๆจก็ณ๏ผbackdrop-filter๏ผ
- ๆๅ้ฐๅฝฑ่็ผๅ ้ๆก
ๅจไธๆนๅทฅๅ ทๅ็้กฏ็คบๅจๅ็คบไธๆ้ธๅฎไธญๅๆไธป้กใ
ๅ ญ็จฎ่ช่จ๏ผๅๅๆ่ชๅๅตๆธฌ็่ฆฝๅจ่จญๅฎ๏ผ
| ไปฃ็ขผ | ่ช่จ |
|---|---|
zh-TW |
็น้ซไธญๆ |
zh-CN |
็ฎไฝไธญๆ |
en |
English |
ja |
ๆฅๆฌ่ช |
ko |
ํ๊ตญ์ด |
es |
Espaรฑol |
่ช่จๅๅฅฝๆ่ชๅไฟๅญ๏ผไธๆฌกๅๅๆๆขๅพฉใๅตๆธฌ้่ผฏๆฏๆดๅๅๅ็ถดๅน้
๏ผไพๅฆ zh-HK โ zh-TW๏ผzh-SG โ zh-CN๏ผใ
ๆฏๆด 13 ็จฎ้ ่จญๅญๅ๏ผไนๅฏ่ผธๅ ฅ Windows ๅทฒๅฎ่ฃ็ไปปๆๅญๅๅ็จฑ๏ผ
็ณป็ตฑ้ ่จญใๆๆบ้ป้ซใๅพฎ่ปๆญฃ้ป้ซใArialใSegoe UIใCambriaใVerdanaใTahomaใๆจๆฅท้ซใ็ดฐๆ้ซใๆฐ็ดฐๆ้ซใCourier NewใConsolas
่ช่จๅญๅๆๅฅ็จ่ณๆ นๅฑค็ด๏ผ่ทจๆ่ฉฑไฟๅญใ
ไบ็จฎ้ ่จญ็ธฎๆพ๏ผ75%ใ87.5%ใ100%ใ112.5%ใ125%
้้ไฟฎๆนๆ นๅฑค็ด font-size ๅฏฆ็พๆด้ซ UI ็ญๆฏ็ธฎๆพใ
ๆๆไฝฟ็จ่ ่ณๆๅฒๅญๆผ browser localStorage๏ผ
| ๅฒๅญ่ณๆ | Key |
|---|---|
| ่ช้ธ่กๆธ ๅฎ + ็ฎๅ้ธๅ | ywatchlist_data |
| ่ช่จ่จญๅฎ | ywatchlist_language |
| ไธป้ก่จญๅฎ | ywatchlist_theme |
| ๅญๅ่จญๅฎ | ywatchlist_font |
| ็ธฎๆพ็ญ็ด | ๅ
ๅซๆผ ywatchlist_data |
| ่ชๅๆดๆฐ็ๆ | ywatchlist_auto_refresh |
| ่ชๅๆดๆฐ้้ | ywatchlist_auto_refresh_interval |
| ๅนๆ ผๆ้ | ywatchlist_alerts |
| ไปฃ็ขผ่ฆๅฏซ็ดขๅผ | ywatchlist_index_overrides |
้ ่จญๆธ ๅฎๆฐธไธ่ฆ่ โ ๆฏๆฌกๅๅๆ๏ผไฝฟ็จ่ ๅปบ็ซ็ๆธ ๅฎๆๅไฝตๅจ้ ่จญๆธ ๅฎไนไธใ
| ๅฑค้ข | ๆ่ก |
|---|---|
| ๆก้ขๆกๆถ | Tauri 2.x |
| ๅ็ซฏ | React 18 + TypeScript + Vite 5 |
| ๆจฃๅผ | Tailwind CSS 3 + CSS Variables |
| ๅ่กจ | lightweight-charts 5.x |
| UI ๅ ไปถ | Radix UI + cmdk๏ผๅฝไปค้ขๆฟ๏ผ+ Lucide icons |
| ๅค่ช็ณป | i18next + react-i18next |
| ๅพ็ซฏ | Python โ yfinance, pandas, numpy |
| ้็ฅ | @tauri-apps/plugin-notification |
่ณๆๆตๅ๏ผ
React UI โ Tauri Rust ๅพ็ซฏ โ Python ่
ณๆฌ๏ผyfinance๏ผโ JSON ๅๆ โ React ็ๆ
โ localStorage
- ๅ่ฉฆ็ดๆฅ่ผธๅ
ฅ Yahoo Finance ๆ ผๅผ๏ผๅฆ
2330.TWใ0700.HKใ601318.SS - ๅ ๅฏ่ฒจๅนฃๆ ผๅผ็บ
BTC-USDใETH-USD - ไฝฟ็จๆๅฐๅ่ฝ โ ๆไปฅ Yahoo Finance ไฝ็บ็ทไธๅๆด
- ๅจ็ดขๅผ็ถญ่ญทไธญๅฐไปฃ็ขผๅ ๅ ฅๆฌๅฐ็ดขๅผ๏ผๆชไพๅณๅฏ้ข็ทๆๅฐ
- ็ขบ่ช็ถฒ่ทฏ้ฃ็ทๆญฃๅธธ
- Yahoo Finance ๅถ็พๆ้ๅถๆต้๏ผ็จๅพๅ่ฉฆ
- ่ฅ Python ๅพ็ซฏไธๅฏ็จ๏ผๆ็จ็จๅผๆ่ชๅๅ้่ณๆจกๆฌ่ณๆ
- ้จๅๅ ๅฏ่ฒจๅนฃ่ๅคๅฏ็ๆญทๅฒ่ณๆ่ผๆ้
- ๅปบ่ญฐๅ ๅ่ฉฆไธป่ฆ่ก็ฅจๆๆๆธ
- ่ฆ็ช้ ้จๆๅบ็พ้ป่ฒ่ญฆๅๆฉซๅน
- ้ปๆไธ่ผ้ฃ็ตๅๅพ Python ้่กๆ๏ผ่งฃๅฃ็ธฎๅฐๅฐๆกๆ น็ฎ้
- ๅณไฝฟๆฒๆ Python๏ผๆ็จ็จๅผไปๅฏๆญฃๅธธไฝฟ็จๆจกๆฌ่ณๆ
ๆธ ้ค็่ฆฝๅจ localStorage ไธญ่ฉฒๆ็จ็จๅผ็่ณๆ๏ผๆๆ่ช้ธ่กใ่จญๅฎ่ๆ้ๅฐๆ้บๅคฑ๏ผ๏ผ
- ้ๅ็่ฆฝๅจ้็ผ่
ๅทฅๅ
ท โ Application โ Local Storage โ ๆธ
้คๆๆ
ywatchlist_*้้ ญ็ key
A modern cross-platform desktop watchlist manager for stocks, indices, ETFs, forex, and cryptocurrencies. Built with Tauri 2.x + React 18 + TypeScript, featuring professional K-line charts, real-time price alerts, multi-language support, and nine customizable themes.
โ ๏ธ Disclaimer: Yahoo Finance quotes are typically delayed by 15โ20 minutes. Data is for reference only and should not be used as the basis for any investment decisions.
- Features Overview
- System Requirements
- Installation
- Running the App
- Building for Distribution
- Getting Started
- Core Features
- Theming System
- Multi-Language Support
- Customization
- Data Persistence
- Technical Architecture
- Troubleshooting
| Feature | Description |
|---|---|
| ๐ Multi-watchlist | Create, rename, delete, and organize unlimited watchlists |
| ๐น Live Quotes | Delayed quotes from Yahoo Finance with auto/manual refresh |
| ๐ฏ๏ธ K-Line Charts | Professional candlestick charts with MA, KD, MACD indicators |
| ๐ Fundamental Analysis | 30+ financial metrics across 7 categories |
| ๐ Price Alerts | High/low price alerts with system notifications |
| ๐ Smart Search | Offline local index + Yahoo fallback search |
| ๐จ 9 Themes | Dark, Ocean, Forest, Sunset, Neon, Elegant, Frosted Purple/Blue/Cyan |
| ๐ 6 Languages | zh-TW, zh-CN, en, ja, ko, es |
| โจ๏ธ Keyboard Shortcuts | Ctrl+K to open search instantly |
- OS: Windows 10/11 (64-bit)
- WebView2: Pre-installed on Windows 10/11; otherwise install from Microsoft
Download yWatchlist_1.0.1_x64-setup.exe from Releases and run it. No additional files needed.
- Node.js: v18 or higher
- Rust toolchain:
rustuprecommended
- Clone the project
git clone https://github.com/aneterw/yWatchlist.git- Download Python Runtime
Download
python-embed-full.zipfrom Releases and extract to the project root:
yWatchlist/
โโโ python-embed-full/ โ extract here
โโโ src/
โโโ src-tauri/
โโโ ...
- Install dependencies
npm install- Run or build
# Development mode
npm run tauri dev
# Build release
npm run tauri build1. Install dependencies: npm install
2. Launch: npm run tauri dev
3. Browse the default "Global Indices" list on the left sidebar
4. Click "Refresh Current" or wait for automatic 10-minute updates
5. Double-click any item to view its K-line chart
6. Click the ๐ icon (or right-click) to open Fundamental Analysis
7. Use Ctrl+K or the Search button to add new stocks
8. Switch themes, languages, and fonts from the header bar
The app ships with two pre-built lists:
| List Name | Contents |
|---|---|
| Global Indices | Dow Jones (^DJI), S&P 500 (^GSPC), NASDAQ (^IXIC), Philadelphia Semiconductor (^SOX), Taiwan Weighted (^TWII), SSE Composite (000001.SS), SZSE Component (399001.SZ), Hang Seng (^HSI), Nikkei 225 (^N225), Korea KOSPI (^KS11), Singapore STI (^STI), Germany DAX (^GDAXI), France CAC 40 (^FCHI), UK FTSE 100 (^FTSE) |
| Tech ETF | QQQ (NASDAQ 100), VGT (Technology SPDR) |
- Create a new watchlist via the
+button in the sidebar - Rename any watchlist by hovering and clicking the pencil icon
- Delete a watchlist with the trash button (confirmation dialog)
- Reorder stocks within a list using the up/down arrow buttons on each row
- Remove a stock: click once to select, click again to confirm deletion
- Add stocks via the "Add Stock" button, the search modal, or
Ctrl+K
- Quotes are fetched from Yahoo Finance through the Python backend
- Prices include: current price, change, percent change, and volume
- Color coding: green for up, red for down, gray for flat
- Auto-refresh is enabled by default and configurable:
- Every 5 minutes
- Every 10 minutes (default)
- Every 30 minutes
- Every 60 minutes
- Toggle auto-refresh on/off with the clock button in the header
- Manual refresh options:
- Refresh Current โ update only the active watchlist
- Refresh All โ update every watchlist at once
- Last update timestamp is displayed per watchlist
Powered by lightweight-charts 5.x, double-click any stock or click the ๐ icon.
Time Periods:
| Period | Data Range |
|---|---|
| Daily | 2 years |
| Weekly | 10 years |
| Monthly | 30 years |
Chart Types:
| Type | Description |
|---|---|
| Candle | Pure candlestick + volume |
| Candle MA | Candlestick + 10-period moving average |
| KD | Candlestick + KDJ oscillator pane |
| MACD | Candlestick + MACD histogram, signal line, and MACD line |
Interactions:
- Zoom with mouse wheel
- Pan by dragging
- Hover for OHLCV tooltip with indicator values
- Responsive resize
Right-click a stock or click the ๐ icon to open the analysis panel. Data is fetched from Yahoo Finance via the Python backend.
Company Info Card:
- Company name, sector, industry
- Current price, previous close, today's high/low
- Volume, market cap, P/E ratio, dividend yield, 52-week high/low, beta, EPS
7 Metric Categories (30+ indicators):
| Category | Indicators |
|---|---|
| Valuation | Market Cap, Trailing P/E, Forward P/E, PEG, Price-to-Book, EV/EBITDA |
| Profitability | EPS, ROE, ROA, ROIC, Operating Margin, Profit Margin |
| Yield & Risk | Dividend Yield, Beta, FCF Yield, Quick Ratio, Short % of Float |
| Analyst & Holdings | Target Mean Price, Target Median Price, Analyst Count, Recommendation, Insider Ownership, Institutional Ownership |
| 52-Week Range | 52-Week High, 52-Week Low, Range Position |
| Cash Flow | Free Cash Flow, Operating Cash Flow, FCF Dividend Coverage |
| Revenue & Growth | Total Revenue, Total Liabilities, Total Cash, Earnings Growth, Revenue Growth |
Stock News: Latest headlines with publisher, date, and clickable links to original articles.
Cookie Consent: A cookie settings dialog is available for Yahoo Finance consent management.
Set high and low price thresholds per stock:
- Click the bell icon on any stock row
- Enter a high price (alert when price rises above) or low price (alert when price falls below)
- Save โ the alert persists across sessions
Notification behavior:
- Triggers a Windows system notification (12-second auto-dismiss)
- Bell icon turns yellow when an alert is configured
- Tooltip shows current thresholds and a โ checkmark when triggered
- Delete alerts by hovering the bell and clicking the trash icon
Open with Ctrl+K or click the Search button.
Search sources (in priority order):
- User Overrides โ custom ticker-name mappings (โญ marked)
- Local Ticker Index โ built-in offline index of popular tickers
- Yahoo Finance Search โ online fallback for broader discovery
- Common Tickers โ curated list of frequently watched US, Asian, crypto, and commodity symbols
Features:
- Debounced Yahoo search (400ms)
- Add Yahoo results to your local override index with one click
- Type a raw ticker symbol and press Enter to manually add it
- Results remain searchable offline after adding to overrides
- Double-click a result to instantly add it to the current watchlist
Click the โ๏ธ icon in the header to manage the local ticker index.
- Search tickers against the local index or Yahoo
- Add new ticker-name pairs to the override list
- Edit existing entries
- Delete overrides (local built-in tickers cannot be deleted)
- Filter the list by ticker or name
- Overrides take precedence over the built-in index in search results
Nine themes, all persisted in localStorage:
| Theme | Style |
|---|---|
| Dark | Classic dark โ uniform background, white text |
| Ocean | Deep sea blue with gold accents |
| Forest | Forest green with earthy natural tones |
| Sunset | Sunset purple with warm colors |
| Neon | Neon style with vibrant contrast |
| Elegant | Black-and-gold luxury palette |
| Frosted Purple โ๏ธ | Dark base + smoky violet glass panels, gradient background, 12px blur |
| Frosted Blue โ๏ธ | Dark base + icy blue glass panels, gradient background, 12px blur |
| Frosted Cyan โ๏ธ | Dark base + teal glass panels, gradient background, 12px blur |
Frosted Glass themes include:
- Semi-transparent glass-effect panels
- Radial gradient + noise texture backgrounds
- 12px backdrop blur
- Soft shadows and glowing borders
Switch themes from the monitor icon dropdown in the header bar.
Six languages with automatic browser detection:
| Code | Language |
|---|---|
zh-TW |
็น้ซไธญๆ |
zh-CN |
็ฎไฝไธญๆ |
en |
English |
ja |
ๆฅๆฌ่ช |
ko |
ํ๊ตญ์ด |
es |
Espaรฑol |
Language preference is saved and restored on next launch. Detection logic handles locale prefixes (e.g., zh-HK โ zh-TW, zh-SG โ zh-CN).
Choose from 13 preset fonts or enter a custom Windows-installed font name:
System Default, Noto Sans TC/SC, Microsoft JhengHei, Arial, Segoe UI, Cambria, Verdana, Tahoma, KaiTi, MingLiU, PMingLiU, Courier New, Consolas
Custom fonts are applied at the root level and persist across sessions.
Five preset zoom levels: 75%, 87.5%, 100%, 112.5%, 125%
Applied to the root font-size for proportional scaling of all UI elements.
All user data is stored in browser localStorage:
| Stored Data | Key |
|---|---|
| Watchlists + active list | ywatchlist_data |
| Language | ywatchlist_language |
| Theme | ywatchlist_theme |
| Font family | ywatchlist_font |
| Zoom level | Included in ywatchlist_data |
| Auto-refresh state | ywatchlist_auto_refresh |
| Auto-refresh interval | ywatchlist_auto_refresh_interval |
| Price alerts | ywatchlist_alerts |
| Ticker overrides | ywatchlist_index_overrides |
Default watchlists are never overwritten โ user-created lists merge on top of defaults on every launch.
| Layer | Technology |
|---|---|
| Desktop Framework | Tauri 2.x |
| Frontend | React 18 + TypeScript + Vite 5 |
| Styling | Tailwind CSS 3 + CSS Variables |
| Charts | lightweight-charts 5.x |
| UI Components | Radix UI + cmdk (command palette) + Lucide icons |
| i18n | i18next + react-i18next |
| Backend | Python โ yfinance, pandas, numpy |
| Notifications | @tauri-apps/plugin-notification |
Data flow:
React UI โ Tauri Rust backend โ Python script (yfinance) โ JSON response โ React state โ localStorage
- Try Yahoo Finance format directly:
2330.TW,0700.HK,601318.SS - Crypto format:
BTC-USD,ETH-USD - Use the search modal โ it queries Yahoo Finance as a fallback
- Add the ticker to your local index via Index Maintenance for future offline access
- Check your internet connection
- Yahoo Finance occasionally rate-limits requests โ wait a moment and retry
- The app falls back to mock data if the Python backend is unavailable
- Some cryptocurrencies and forex pairs have limited historical data
- Try major stocks or indices first
- A yellow warning banner appears at the top of the window
- Click the download link to get Python runtime, extract to the project root
- The app remains fully usable with mock data even without Python
Clear browser localStorage for this app (all watchlists, settings, and alerts will be lost):
- Open browser DevTools โ Application โ Local Storage โ clear all
ywatchlist_*keys