This commit is contained in:
2026-04-05 11:57:27 +08:00
parent a21d82b725
commit 1c392671d2
5 changed files with 19 additions and 8 deletions

6
.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

5
build-linux.bat Normal file
View File

@@ -0,0 +1,5 @@
@echo off
set GOOS=linux
set GOARCH=amd64
set CGO_ENABLED=0
go build -o gold-linux

BIN
gold-linux Normal file

Binary file not shown.

View File

@@ -888,11 +888,11 @@ func main() {
http.FileServer(http.FS(root)).ServeHTTP(w, r) http.FileServer(http.FS(root)).ServeHTTP(w, r)
}) })
println("Server started at http://localhost:8080") println("Server started at http://localhost:8844")
println("API Endpoints:") println("API Endpoints:")
println(" /api/fetch?ticker=GC=F&start=2010-01-01&end=2023-12-31&output=train.csv") println(" /api/fetch?ticker=GC=F&start=2010-01-01&end=2023-12-31&output=train.csv")
println(" /api/backtest?file=train.csv") println(" /api/backtest?file=train.csv")
println(" /api/signals?file=train.csv") println(" /api/signals?file=train.csv")
println("Usage: Set ANTHROPIC_API_KEY environment variable") println("Usage: Set ANTHROPIC_API_KEY environment variable")
http.ListenAndServe(":8080", nil) http.ListenAndServe(":8844", nil)
} }

View File

@@ -276,9 +276,9 @@ const loadData = async () => {
loading.value = true loading.value = true
try { try {
const [signalsRes, dataRes, btRes] = await Promise.all([ const [signalsRes, dataRes, btRes] = await Promise.all([
fetch(`http://localhost:8080/api/signals?window=${settings.value.rollingWindow}&gsrUpper=${settings.value.gsrUpper}&gsrLower=${settings.value.gsrLower}`), fetch(`/api/signals?window=${settings.value.rollingWindow}&gsrUpper=${settings.value.gsrUpper}&gsrLower=${settings.value.gsrLower}`),
fetch(`http://localhost:8080/api/data`), fetch(`/api/data`),
fetch(`http://localhost:8080/api/backtest?window=${settings.value.rollingWindow}&gsrUpper=${settings.value.gsrUpper}&gsrLower=${settings.value.gsrLower}&capital=${settings.value.initialCapital}`) fetch(`/api/backtest?window=${settings.value.rollingWindow}&gsrUpper=${settings.value.gsrUpper}&gsrLower=${settings.value.gsrLower}&capital=${settings.value.initialCapital}`)
]) ])
signals.value = (await signalsRes.json()).signals || [] signals.value = (await signalsRes.json()).signals || []
marketData.value = (await dataRes.json()).data || [] marketData.value = (await dataRes.json()).data || []
@@ -292,7 +292,7 @@ const loadData = async () => {
const fetchMarketData = async () => { const fetchMarketData = async () => {
loading.value = true loading.value = true
try { try {
const res = await fetch(`http://localhost:8080/api/fetch?start=${fetchDataForm.value.startDate}&end=${fetchDataForm.value.endDate}`) const res = await fetch(`/api/fetch?start=${fetchDataForm.value.startDate}&end=${fetchDataForm.value.endDate}`)
const data = await res.json() const data = await res.json()
showToast(data.message || data.error, data.message ? 'success' : 'error') showToast(data.message || data.error, data.message ? 'success' : 'error')
loadData() loadData()
@@ -305,7 +305,7 @@ const fetchMarketData = async () => {
const runBacktest = async () => { const runBacktest = async () => {
loading.value = true loading.value = true
try { try {
const res = await fetch(`http://localhost:8080/api/backtest?window=${settings.value.rollingWindow}&gsrUpper=${settings.value.gsrUpper}&gsrLower=${settings.value.gsrLower}&capital=${settings.value.initialCapital}`) const res = await fetch(`/api/backtest?window=${settings.value.rollingWindow}&gsrUpper=${settings.value.gsrUpper}&gsrLower=${settings.value.gsrLower}&capital=${settings.value.initialCapital}`)
backtestResults.value = await res.json() backtestResults.value = await res.json()
} catch (e) { } catch (e) {
console.error(e) console.error(e)
@@ -322,7 +322,7 @@ const clearData = async () => {
showConfirm(locale.value === 'zh' ? '确定要清除所有数据吗?' : 'Are you sure you want to clear all data?', async () => { showConfirm(locale.value === 'zh' ? '确定要清除所有数据吗?' : 'Are you sure you want to clear all data?', async () => {
loading.value = true loading.value = true
try { try {
const res = await fetch(`http://localhost:8080/api/clear`) const res = await fetch(`/api/clear`)
const data = await res.json() const data = await res.json()
showToast(data.message || data.error, data.message ? 'success' : 'error') showToast(data.message || data.error, data.message ? 'success' : 'error')
marketData.value = [] marketData.value = []