fix: signals-v53fast use correct strategy=v53_fast; label CVD as 5m/30m realtime
This commit is contained in:
parent
84d8535066
commit
98a88d7c19
@ -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 => (
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user