mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-07 04:50:57 +08:00
- 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
54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
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)
|
||
}
|