Классная идея. Детали будут получать очень рискованными, если колебания быстры - есть так много монет, пользователи будут собирать пыль и, возможно, будут желанием, чтобы иметь возможность исключить некоторые нежелательные монеты.
Я хотел бы предложить вам начать с только 2 монеты, оптимизируют, а затем постепенно увеличивать сложность процесса отбора.
монеты = {coin1, coin2}
Main (choose_coin)
Зафиксируем к \\ к будет, как в день или какой-то логический период для тестирования
пусковой выключатель контура
т = 0
в то время как т < К
оценить {прибыль (coin1), прибыль (coin2)}
если прибыль (coin1) > прибыль (coin2)
сделать мое coin1
еще
сделать мое coin2
конец, если
конец в то время как
т ++
если т = к
идти, чтобы проверить
После этого вы можете увидеть, если это лучше, чем добыча одной из монет по отдельности в течение определенного времени (в день):
Тест = макс (оценка (avg_k_profits ({coin1_only, coin2_only, ПЕРЕКЛЮЧАТЕЛЬ}))
если тест = ВЫКЛЮЧАТЕЛЬ
монеты ++
перейти в Main ()
еще получить дневную работу
монеты ++ может означать, выбрать 3-ю монету:
монеты ++: монеты -> монеты + nextcoin
так что вы хотите иметь что-то вроде
монеты = {coin1, coin2, coin3}
но вы могли бы увеличивать монеты в гнездовой итерационных образом
монеты = {coin1, choose_coin (coin2, coin3)}