init
This commit is contained in:
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal 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
5
build-linux.bat
Normal 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
BIN
gold-linux
Normal file
Binary file not shown.
4
main.go
4
main.go
@@ -888,11 +888,11 @@ func main() {
|
||||
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/fetch?ticker=GC=F&start=2010-01-01&end=2023-12-31&output=train.csv")
|
||||
println(" /api/backtest?file=train.csv")
|
||||
println(" /api/signals?file=train.csv")
|
||||
println("Usage: Set ANTHROPIC_API_KEY environment variable")
|
||||
http.ListenAndServe(":8080", nil)
|
||||
http.ListenAndServe(":8844", nil)
|
||||
}
|
||||
|
||||
@@ -276,9 +276,9 @@ const loadData = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
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(`http://localhost:8080/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/signals?window=${settings.value.rollingWindow}&gsrUpper=${settings.value.gsrUpper}&gsrLower=${settings.value.gsrLower}`),
|
||||
fetch(`/api/data`),
|
||||
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 || []
|
||||
marketData.value = (await dataRes.json()).data || []
|
||||
@@ -292,7 +292,7 @@ const loadData = async () => {
|
||||
const fetchMarketData = async () => {
|
||||
loading.value = true
|
||||
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()
|
||||
showToast(data.message || data.error, data.message ? 'success' : 'error')
|
||||
loadData()
|
||||
@@ -305,7 +305,7 @@ const fetchMarketData = async () => {
|
||||
const runBacktest = async () => {
|
||||
loading.value = true
|
||||
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()
|
||||
} catch (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 () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const res = await fetch(`http://localhost:8080/api/clear`)
|
||||
const res = await fetch(`/api/clear`)
|
||||
const data = await res.json()
|
||||
showToast(data.message || data.error, data.message ? 'success' : 'error')
|
||||
marketData.value = []
|
||||
|
||||
Reference in New Issue
Block a user