Files
nofx/provider/coinank/coinank_api/kline_test.go
tinkle-community 110bf52908 feat: cream terminal redesign, English-only UI, autopilot launch fixes
- Redesign dashboard into a cream-paper + vermilion IBM Plex Mono terminal
  (live L2 order book, cost/liq map, WS K-line, signal matrix, orchestration
  topology, risk radar, execution log, current positions, equity curve)
- Convert all user-facing UI and backend strings/prompts from Chinese to
  English (multi-language retained, default English)
- Add /api/statistics/full endpoint + full-stats frontend wiring
- Fix Autopilot launch: reuse the existing trader instead of creating
  duplicates (eliminates repeat ~35s create cost and stale-trader 404s);
  launch sends 5m scan interval
- Fix unreadable toasts: cream theme with high-contrast text + per-type accent
- Silence background dashboard polls (getTraderConfig) to stop error-toast spam
2026-06-30 16:03:52 +08:00

54 lines
1.4 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package coinank_api
import (
"context"
"encoding/json"
"fmt"
"nofx/provider/coinank/coinank_enum"
"testing"
"time"
)
func TestKline(t *testing.T) {
resp, err := Kline(context.TODO(), "BTCUSDT", coinank_enum.Binance, time.Now().UnixMilli(), coinank_enum.To, 10, coinank_enum.Hour1)
if err != nil {
t.Error(err)
}
res, err := json.Marshal(resp)
if err != nil {
t.Error(err)
}
t.Logf("%s", res)
}
func TestKlineDaily(t *testing.T) {
resp, err := Kline(context.TODO(), "BTCUSDT", coinank_enum.Binance, time.Now().UnixMilli(), coinank_enum.To, 5, coinank_enum.Day1)
if err != nil {
t.Fatal(err)
}
t.Log("=== BTCUSDT daily K-line data (coinank_api free endpoint) ===")
for i, k := range resp {
startTime := time.UnixMilli(k.StartTime).Format("2006-01-02 15:04:05")
t.Logf("\n[%d] Time: %s", i, startTime)
t.Logf(" Open: %.2f", k.Open)
t.Logf(" High: %.2f", k.High)
t.Logf(" Low: %.2f", k.Low)
t.Logf(" Close: %.2f", k.Close)
t.Logf(" Volume: %.4f (k[6])", k.Volume)
t.Logf(" Quantity: %.4f (k[7])", k.Quantity)
t.Logf(" Count: %.0f (k[8])", k.Count)
// Calculation verification
if k.Close > 0 && k.Volume > 0 {
t.Logf(" --- verification ---")
t.Logf(" Volume × Close = %.2f", k.Volume*k.Close)
t.Logf(" Quantity / Close = %.4f", k.Quantity/k.Close)
}
}
// Print raw JSON
res, _ := json.MarshalIndent(resp, "", " ")
fmt.Printf("\nRaw JSON:\n%s\n", res)
}