fix: signals-v53fast use correct strategy=v53_fast; label CVD as 5m/30m realtime

This commit is contained in:
root 2026-03-04 02:01:50 +00:00
parent 84d8535066
commit 98a88d7c19

View File

@ -203,7 +203,7 @@ function BTCGateCard({ factors }: { factors: LatestIndicator["factors"] }) {
function IndicatorCards({ symbol }: { symbol: Symbol }) { function IndicatorCards({ symbol }: { symbol: Symbol }) {
const [data, setData] = useState<LatestIndicator | null>(null); const [data, setData] = useState<LatestIndicator | null>(null);
const strategy = "v53"; const strategy = "v53_fast";
useEffect(() => { useEffect(() => {
const fetch = async () => { const fetch = async () => {
@ -229,7 +229,7 @@ function IndicatorCards({ symbol }: { symbol: Symbol }) {
{/* CVD三轨 */} {/* CVD三轨 */}
<div className="grid grid-cols-3 gap-1.5"> <div className="grid grid-cols-3 gap-1.5">
<div className="bg-white rounded-lg border border-slate-200 px-2.5 py-2"> <div className="bg-white rounded-lg border border-slate-200 px-2.5 py-2">
<p className="text-[10px] text-slate-400">CVD_fast (30m)</p> <p className="text-[10px] text-slate-400">CVD_fast (5m实算)</p>
<p className={`font-mono font-bold text-sm ${data.cvd_fast >= 0 ? "text-emerald-600" : "text-red-500"}`}> <p className={`font-mono font-bold text-sm ${data.cvd_fast >= 0 ? "text-emerald-600" : "text-red-500"}`}>
{fmt(data.cvd_fast)} {fmt(data.cvd_fast)}
</p> </p>
@ -240,7 +240,7 @@ function IndicatorCards({ symbol }: { symbol: Symbol }) {
</p> </p>
</div> </div>
<div className="bg-white rounded-lg border border-slate-200 px-2.5 py-2"> <div className="bg-white rounded-lg border border-slate-200 px-2.5 py-2">
<p className="text-[10px] text-slate-400">CVD_mid (4h)</p> <p className="text-[10px] text-slate-400">CVD_mid (30m实算)</p>
<p className={`font-mono font-bold text-sm ${data.cvd_mid >= 0 ? "text-emerald-600" : "text-red-500"}`}> <p className={`font-mono font-bold text-sm ${data.cvd_mid >= 0 ? "text-emerald-600" : "text-red-500"}`}>
{fmt(data.cvd_mid)} {fmt(data.cvd_mid)}
</p> </p>
@ -359,7 +359,7 @@ interface SignalRecord {
function SignalHistory({ symbol }: { symbol: Symbol }) { function SignalHistory({ symbol }: { symbol: Symbol }) {
const [data, setData] = useState<SignalRecord[]>([]); const [data, setData] = useState<SignalRecord[]>([]);
const strategy = "v53"; const strategy = "v53_fast";
useEffect(() => { useEffect(() => {
const fetchData = async () => { const fetchData = async () => {
@ -413,7 +413,7 @@ function SignalHistory({ symbol }: { symbol: Symbol }) {
function CVDChart({ symbol, minutes }: { symbol: Symbol; minutes: number }) { function CVDChart({ symbol, minutes }: { symbol: Symbol; minutes: number }) {
const [data, setData] = useState<IndicatorRow[]>([]); const [data, setData] = useState<IndicatorRow[]>([]);
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const strategy = "v53"; const strategy = "v53_fast";
const fetchData = useCallback(async (silent = false) => { const fetchData = useCallback(async (silent = false) => {
try { try {
@ -461,8 +461,8 @@ function CVDChart({ symbol, minutes }: { symbol: Symbol; minutes: number }) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any // eslint-disable-next-line @typescript-eslint/no-explicit-any
formatter={(v: any, name: any) => { formatter={(v: any, name: any) => {
if (name === "price") return [`$${Number(v).toLocaleString()}`, "币价"]; if (name === "price") return [`$${Number(v).toLocaleString()}`, "币价"];
if (name === "fast") return [fmt(Number(v)), "CVD_fast(30m)"]; if (name === "fast") return [fmt(Number(v)), "CVD_fast(5m实算)"];
return [fmt(Number(v)), "CVD_mid(4h)"]; return [fmt(Number(v)), "CVD_mid(30m实算)"];
}} }}
contentStyle={{ background: "#fff", border: "1px solid #e2e8f0", borderRadius: 8, fontSize: 11 }} contentStyle={{ background: "#fff", border: "1px solid #e2e8f0", borderRadius: 8, fontSize: 11 }}
/> />
@ -531,7 +531,7 @@ export default function SignalsV53Page() {
<div className="px-3 py-2 border-b border-slate-100 flex items-center justify-between flex-wrap gap-1"> <div className="px-3 py-2 border-b border-slate-100 flex items-center justify-between flex-wrap gap-1">
<div> <div>
<h3 className="font-semibold text-slate-800 text-xs">CVD三轨 + </h3> <h3 className="font-semibold text-slate-800 text-xs">CVD三轨 + </h3>
<p className="text-[10px] text-slate-400">=fast(30m) · =mid(4h) · =</p> <p className="text-[10px] text-slate-400">=fast(DB存30m,5m) · =mid(DB存4h,30m) · =</p>
</div> </div>
<div className="flex gap-1"> <div className="flex gap-1">
{WINDOWS.map(w => ( {WINDOWS.map(w => (