states更新到turtletrading_ontime class
This commit is contained in:
parent
9bca280232
commit
ce3b0fcda6
@ -335,40 +335,7 @@ class TurtleTrading(object):
|
|||||||
else:
|
else:
|
||||||
return False
|
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):
|
class TurtleTrading_OnTime(object):
|
||||||
''' 实时监测主程序,可以处理多个turtle
|
''' 实时监测主程序,可以处理多个turtle
|
||||||
@ -422,7 +389,42 @@ class TurtleTrading_OnTime(object):
|
|||||||
|
|
||||||
# Load previous state from YAML if exists
|
# Load previous state from YAML if exists
|
||||||
self.load_previous_state()
|
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):
|
def get_stocks_data(self):
|
||||||
"""获取实时股票、基金数据,不保存
|
"""获取实时股票、基金数据,不保存
|
||||||
"""
|
"""
|
||||||
@ -843,7 +845,9 @@ class TurtleTrading_OnTime(object):
|
|||||||
for turtle in self.turtles:
|
for turtle in self.turtles:
|
||||||
mysql_database.delete_table(f"{turtle.TradeCode}")
|
mysql_database.delete_table(f"{turtle.TradeCode}")
|
||||||
turtle.get_ready(100)
|
turtle.get_ready(100)
|
||||||
time.sleep(16.5*600)
|
|
||||||
|
self.day_end()
|
||||||
|
time.sleep(16.5*600)
|
||||||
|
|
||||||
|
|
||||||
def monitor_all_turtles(self):
|
def monitor_all_turtles(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user