첫 번째 커밋

This commit is contained in:
javamon
2025-12-06 22:31:19 +09:00
commit 849a100fa9
33 changed files with 6613 additions and 0 deletions

66
app.py Normal file
View File

@@ -0,0 +1,66 @@
# -*- coding: utf-8 -*-
import time
import datetime
# 데이터베이스(MYSQL) ----
from db import DB
# 배치프로세스 (Cron) ----
from cron import Cron
# 지표 ----
# 머신러닝 ----
# 헬퍼함수 ----
# base path
# BASE_DIR = os.path.dirname(os.path.abspath(__file__)) + '/collectors'
# Cron(scheduler) : 반복적인 작업(배치 프로세스)를 위한 클래스 => 지속적으로 추가되는 테이블 생성 및 데이터(크롤링) 저장
# Trader : 현재가를 기준으로 트레이딩하는 클래스 => 10초 마다 실행
# Analysis : 트레이더 클래스에서 현재가를 전달 받으면 진입할 지 안할 지를 리턴해주는 클래스 => 물타기 등 다양한 판단에 따른 거래를 위한 데이터 리턴
# Indicator : 기술적 관점에 따라 매매 포지션 상태값을 리턴 => 보조지표, 주 지표 분석(봉 패턴 등)을 활용
# Muchine : 머신러닝 기반(통계적 관점)에 따라 매매 포지션 상태값을 리턴
# App : 앱의 초기화 및 기본 셋업 클래스 => 인터페이스의 역할도 수행(실행된 프로세스 리스트 출력)
class App:
exchange_instance_list = {}
count = 0 # for multi threading
def __init__(self):
# Set db cursor obj
self.db = DB()
# create default tables
self.db.create_default_tables()
# insert default data
self.db.insert_default_tables()
# set cron
self.cron = Cron()
# def __del__(self): return False
# def start_batch_process(self):
# t_cron = threading.Thread(target=self.cron.start)
# t_cron.daemon = True
# t_cron.start()
# 금융 종목 추가
def add_new_exchange(self, finance, exchange):
self.db.insert_finance_to_base(finance, exchange)
# 배치 프로세스 실행
def start(self):
self.cron.start()
# self.start_batch_process()
if __name__ == "__main__":
print('Oh! my bot. Started.', datetime.datetime.now())
app = App()
app.start()
while True:
time.sleep(3600)