states更新到turtletrading_ontime class
This commit is contained in:
parent
9bca280232
commit
ce3b0fcda6
@ -335,40 +335,7 @@ class TurtleTrading(object):
|
||||
else:
|
||||
return False
|
||||
|
||||
def day_end(self):
|
||||
"""Save current state to YAML file at the end of the day"""
|
||||
# Create state directory if not exists
|
||||
state_dir = "state"
|
||||
if not os.path.exists(state_dir):
|
||||
os.makedirs(state_dir)
|
||||
|
||||
# Generate filename with current date
|
||||
today = datetime.now().strftime("%Y-%m-%d")
|
||||
filename = os.path.join(state_dir, f"{today}.yaml")
|
||||
|
||||
# Save state to YAML
|
||||
state_data = {
|
||||
"main_state": {
|
||||
"user_email": self.user_email,
|
||||
"email_events": self.email_events,
|
||||
"turtles": [
|
||||
{
|
||||
"TradeCode": t.TradeCode,
|
||||
"type": t.type,
|
||||
"riskcoe": t.riskcoe,
|
||||
"Capital": t.Capital,
|
||||
"cash": t.cash,
|
||||
"TrigerTime": t.TrigerTime,
|
||||
"BuyStates": [vars(bs) for bs in t.BuyStates],
|
||||
"tradeslog": [vars(tl) for tl in t.tradeslog],
|
||||
"BreakOutLog": [vars(bol) for bol in t.BreakOutLog]
|
||||
} for t in self.turtles
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
with open(filename, 'w') as f:
|
||||
yaml.dump(state_data, f)
|
||||
|
||||
class TurtleTrading_OnTime(object):
|
||||
''' 实时监测主程序,可以处理多个turtle
|
||||
@ -423,6 +390,41 @@ class TurtleTrading_OnTime(object):
|
||||
# Load previous state from YAML if exists
|
||||
self.load_previous_state()
|
||||
|
||||
def day_end(self):
|
||||
"""Save current state to YAML file at the end of the day"""
|
||||
# Create state directory if not exists
|
||||
state_dir = "state"
|
||||
if not os.path.exists(state_dir):
|
||||
os.makedirs(state_dir)
|
||||
|
||||
# Generate filename with current date
|
||||
today = datetime.now().strftime("%Y-%m-%d")
|
||||
filename = os.path.join(state_dir, f"{today}.yaml")
|
||||
|
||||
# Save state to YAML
|
||||
state_data = {
|
||||
"main_state": {
|
||||
"user_email": self.user_email,
|
||||
"email_events": self.email_events,
|
||||
"turtles": [
|
||||
{
|
||||
"TradeCode": t.TradeCode,
|
||||
"type": t.type,
|
||||
"riskcoe": t.riskcoe,
|
||||
"Capital": t.Capital,
|
||||
"cash": t.cash,
|
||||
"TrigerTime": t.TrigerTime,
|
||||
"BuyStates": [vars(bs) for bs in t.BuyStates],
|
||||
"tradeslog": [vars(tl) for tl in t.tradeslog],
|
||||
"BreakOutLog": [vars(bol) for bol in t.BreakOutLog]
|
||||
} for t in self.turtles
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
with open(filename, 'w') as f:
|
||||
yaml.dump(state_data, f)
|
||||
|
||||
def get_stocks_data(self):
|
||||
"""获取实时股票、基金数据,不保存
|
||||
"""
|
||||
@ -843,6 +845,8 @@ class TurtleTrading_OnTime(object):
|
||||
for turtle in self.turtles:
|
||||
mysql_database.delete_table(f"{turtle.TradeCode}")
|
||||
turtle.get_ready(100)
|
||||
|
||||
self.day_end()
|
||||
time.sleep(16.5*600)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user