用 Python 整 USD/IDR 匯率提示
用 Python 標準庫整一個閾值提示監察器,只喺跨過閾值時提示,安全保存狀態,同時遵守資料新鮮度同 API 限制。
提示應該比較每個新嘅有效 USD/IDR 觀測同上一次觀測,而唔係比較兩次輪詢時間。第一次只建立基準,舊資料同錯誤唔會改變狀態。
Key points
判斷 IDR 時用
sources["IDR"] 同 effective_at["IDR"]。全局 source 只係所有請求貨幣嘅保守摘要。第一次有效觀測只保存基準。跨過閾值後提示一次並解除武裝,之後有效觀測回到閾值內先重新武裝。
先寫入同一目錄嘅臨時 JSON,設定0600,再用
os.replace 替換,避免中斷留低半個狀態檔。請求用十秒 timeout,key 放喺
EXCHANGERATE_API_KEY。輪詢至少相隔60秒;429時保留狀態並遵守 Retry-After。下載完整腳本,喺版本控制之外設定閾值同狀態路徑。腳本只會喺本地 console 顯示提示。
建立單一貨幣觀測模型
判斷 IDR 時用 sources["IDR"] 同 effective_at["IDR"]。全局 source 只係所有請求貨幣嘅保守摘要。
定義跨越策略
第一次有效觀測只保存基準。跨過閾值後提示一次並解除武裝,之後有效觀測回到閾值內先重新武裝。
安全保存狀態
先寫入同一目錄嘅臨時 JSON,設定0600,再用 os.replace 替換,避免中斷留低半個狀態檔。
限制網絡同配額
請求用十秒 timeout,key 放喺 EXCHANGERATE_API_KEY。輪詢至少相隔60秒;429時保留狀態並遵守 Retry-After。 預設五分鐘間隔喺30日大約8,640次;60秒間隔大約43,200次,可能超過共享月度配額。
錯誤唔可以製造假提示
請求用十秒 timeout,key 放喺
EXCHANGERATE_API_KEY。輪詢至少相隔60秒;429時保留狀態並遵守 Retry-After。執行完整監察器
下載完整腳本,喺版本控制之外設定閾值同狀態路徑。腳本只會喺本地 console 顯示提示。 預設最大資料年齡係一小時。如果接受每日參考或市場關閉資料,請設定 FX_ALERT_MAX_AGE_SECONDS。 python-exchange-rate-alerts.py
唔使等市場都可以測試策略
用網絡 mock 測試第一次、閾值內移動、跨越、重複時間、舊資料、重新武裝同第二次跨越。
ER
exchangerate.dev
為開發者提供嘅整合指南。