PulseHub
OPEN-SOURCE SCRIPT

Moon Phases: New/Full Lines + Rhythm Stats

166
目的

想用「新月 ↔ 滿月」做一個**節奏性波幅**參考:

- 以灰色垂直線標記 **新月**
- 以橘色垂直線標記 **滿月**
- 把每個「新月→滿月」與「滿月→新月」視為一個**半月段落**
- 在每個段落內計算波幅(High-Low),並統計過去樣本的**典型波幅(Median%)**
- 在**目前段落進行中**,用「時間進度 + 波幅進度」判斷是否**落後(UNDER-RANGED)**,若落後就代表「本段可能仲未走完」,需要更留意市場

## 指標輸出(你會見到乜)

1. 圖上垂直線:
- 灰色 = 新月
- 橘色 = 滿月
2. 右上角表格(Statistics + Rhythm):
- `New → Full`:新月到滿月段落的平均波幅、平均%波幅、以及中位數%波幅(Median%)
- `Full → New`:滿月到新月段落同上
- `Current segment`:目前段落(New→Full 或 Full→New)
- `Range% now`:目前段落已走出的波幅(用%表示)
- `Time prog`:目前段落時間進度(0–100%,以半個朔望月 ≈ 14.765 日作 100%)
- `Status`:
- `UNDER-RANGED (watch)`:波幅進度落後於時間進度(可視為「未滿足節奏」→ 更留意市場)
- `OK`:未落後

---

## 波幅計算方式(你問過「抽取哪些數據」)

在每個半月段落內,本指標使用圖表每根 K 線的 OHLC:

- `segHigh`:段落內所有 bars 的 **最高 high**
- `segLow`:段落內所有 bars 的 **最低 low**
- `segStartClose`:段落第一根 bar 的 **close**(用作百分比基準)

段落波幅:

- `range = segHigh - segLow`
- `rangePct = range / segStartClose * 100`

---

## 節奏性(波幅 + 時間進度)判斷

- 半月段落長度(理論值):`halfCycleDays = 29.530588853 / 2 ≈ 14.765`
- 時間進度:`timeProgress = elapsedDays / halfCycleDays`(限制在 0–1)
- 典型波幅目標:取近 `Sample segments` 段落的 **Median%**(分 New→Full / Full→New 各自一個)
- 預期波幅進度(可容忍落後):`expectedNow = targetPct * timeProgress * Slack`

觸發 UNDER-RANGED:

- `Range% now < expectedNow`
- 並且 `timeProgress >= Min time progress for signal`(避免一開始就提示)

可調參數(在指標設定):

- `Slack`:0.8 = 允許落後 20%(越小越嚴格,越容易提示)
- `Min time progress for signal`:例如 0.35(段落行到 35% 才開始判斷)


建議用法(對應你想要的 workflow)

- 當 `Status = UNDER-RANGED (watch)`:
1. 代表「本段波幅進度落後」,市場可能仍在壓縮/等待擴張
2. 你可以把監控集中在:關鍵位、盤整區上/下沿、突破後跟隨、或下一波擴張的觸發條件
- 若你覺得提示太頻密/太少:
- 調 `Slack`(越小越嚴格,越易觸發)
- 調 `Min time progress for signal`(越大越遲先開始判斷)

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by PulseWire. Read more in the Terms of Use.