자산 현황 및 자동매매 페이지 제거:
Some checks failed
Build Push and Restart Compose / deploy (push) Failing after 11m20s
Some checks failed
Build Push and Restart Compose / deploy (push) Failing after 11m20s
- `/templates/pages/asset.html`, `/templates/pages/autotrade.html` HTML 템플릿 삭제. - `/static/js/asset.js`, `/static/js/autotrade.js` 클라이언트 스크립트 제거. - 관련 함수 및 초기화 로직 삭제 (자산 조회 및 자동매매 기능 비활성화).
This commit is contained in:
@@ -101,7 +101,7 @@ type ScannerService struct {
|
||||
stockSvc *StockService
|
||||
analysis *AnalysisService
|
||||
mu sync.RWMutex
|
||||
enabled int32 // atomic: 1=켜짐(기본), 0=꺼짐
|
||||
enabled int32 // atomic: 1=켜짐(기본), 0=꺼짐
|
||||
signals []SignalStock
|
||||
history map[string]*cntrHistory // 종목별 체결강도 이력
|
||||
volumeHistory map[string]*volumeHist // 종목별 거래량 이력
|
||||
@@ -406,25 +406,17 @@ func (s *ScannerService) scan() {
|
||||
}
|
||||
s.mu.Unlock()
|
||||
|
||||
// ── 호가잔량 병렬 조회 (체결강도 상승 종목에 한해) ────────────────
|
||||
if len(signals) > 0 {
|
||||
var wg sync.WaitGroup
|
||||
for i := range signals {
|
||||
wg.Add(1)
|
||||
go func(idx int) {
|
||||
defer wg.Done()
|
||||
ask, bid, _, err := s.kiwoom.getOrderBook(signals[idx].Code)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
signals[idx].TotalAskVol = ask
|
||||
signals[idx].TotalBidVol = bid
|
||||
if bid > 0 {
|
||||
signals[idx].AskBidRatio = float64(ask) / float64(bid)
|
||||
}
|
||||
}(i)
|
||||
// ── 호가잔량 순차 조회 (체결강도 상승 종목에 한해) ────────────────
|
||||
for i := range signals {
|
||||
ask, bid, _, err := s.kiwoom.getOrderBook(signals[i].Code)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
signals[i].TotalAskVol = ask
|
||||
signals[i].TotalBidVol = bid
|
||||
if bid > 0 {
|
||||
signals[i].AskBidRatio = float64(ask) / float64(bid)
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
// ── 최종 스코어 및 신호 유형 계산 (호가잔량 포함) ────────────────
|
||||
@@ -642,25 +634,17 @@ func (s *ScannerService) AnalyzeWatchlist(codes []string) []SignalStock {
|
||||
})
|
||||
}
|
||||
|
||||
// Phase 3: 호가잔량 병렬 조회
|
||||
if len(signals) > 0 {
|
||||
var wg sync.WaitGroup
|
||||
for i := range signals {
|
||||
wg.Add(1)
|
||||
go func(idx int) {
|
||||
defer wg.Done()
|
||||
ask, bid, _, err := s.kiwoom.getOrderBook(signals[idx].Code)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
signals[idx].TotalAskVol = ask
|
||||
signals[idx].TotalBidVol = bid
|
||||
if bid > 0 {
|
||||
signals[idx].AskBidRatio = float64(ask) / float64(bid)
|
||||
}
|
||||
}(i)
|
||||
// Phase 3: 호가잔량 순차 조회
|
||||
for i := range signals {
|
||||
ask, bid, _, err := s.kiwoom.getOrderBook(signals[i].Code)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
signals[i].TotalAskVol = ask
|
||||
signals[i].TotalBidVol = bid
|
||||
if bid > 0 {
|
||||
signals[i].AskBidRatio = float64(ask) / float64(bid)
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
// Phase 4: 스코어 및 신호 유형 계산
|
||||
|
||||
Reference in New Issue
Block a user