Я хотел бы начать с оговоркой, чтобы быть осторожным, торговля акциями это не просто, и вы можете потерять много денег с помощью простого алгоритма (так же, как вы можете с одной сложной)
Однако это также хороший пример, чтобы понять, как бороться с запуском программы с течением времени в Python и понимать условную логику.
Существует несколько основных конструкций, которые вы хотите знать для этого. Первая концепция заключается в том, что для постоянного отслеживания времени в вашей программе вы, вероятно, захотите поместить свой код в бесконечный цикл. Это позволит вашим программам делать то, что вы хотите, пока не закончите. Это можно сделать следующим образом:
while True:
Теперь, когда у вас есть эта настройка, нам просто нужно отслеживать время. Это можно сделать легко, установив переменную и увеличив ее на сколько времени вы ждете между итерациями. Однако нам все равно нужно отслеживать время. Python имеет приятную функцию сна, реализованную в модуле времени. Эта функция заставляет вашу программу приостанавливаться в течение нескольких секунд, что вам нужно, а затем возобновляет просмотр остальной части вашего кода.
from time import sleep
last_sold_stock_time = 0
wait_time = 1
while True:
# <Condition Code goes here>
# This is in seconds
sleep(wait_time)
# Keep track of how much time has passed.
last_sold_stock_time += wait_time
Теперь вам просто нужно изменить свое состояние на основании времени. Полный код, вероятно, будет выглядеть примерно так:
from time import sleep
# The number of seconds since last bought a stock, assumes start is 0
last_sold_stock_time = 0
# This is in seconds
wait_time = 1
# ten minutes in seconds
ten_minutes = 600
while True:
# Figure out these values however you do
cur_sum = 0
total_sum = 1
if last_sold_stock_time <= ten_minutes:
condition_value = 0.35
else:
condition_value = 0.15
if cur_sum/total_sum > condition_value:
# Do something
pass
sleep(wait_time)
last_sold_stock_time += wait_time
Спасибо за ваш ответ. Это часть моей домашней работы по курсу в университете, поэтому я не буду использовать этот алгоритм для проведения реальной торговли. – wwhy