ghiaccionove / tradingstation

0 stars 0 forks source link

Implementing argparse #10

Open ghiaccionove opened 1 month ago

ghiaccionove commented 1 month ago

Implementazione di argparse per la gestione da riga di comando.

Obiettivo: creare un main.py da cui avviare le modalità precedentemente descritte

ghiaccionove commented 1 month ago

Spotter Mode

signals_mode, ora spotter_mode, può essere lanciato da riga di comando scegliendo anche la modalità di filtraggio dei simboli su cui effettuare fetch di dati:

Successivamente, non appena saranno aggiunte altre strategie, verrà aggiunto l'agomento --strategy

ghiaccionove commented 1 month ago

Manual Mode

L'idea è quella di fare tutto con argparse. Da linea di comando si lancia l'ordine di acquisto che dovrebbe rispondere a questa struttura:

poetry run main.py --mode manual --ordertype limit --symbol 'BTC/USDT:USDT' --amount 0.1 --price 55000

Perciò manual_mode dovrà integrare l'utilizzo della classe OrderManager.

ghiaccionove commented 1 month ago

Ci sono ancora diverse tipologie di ordini da aggiungere e verranno aggiunte gradualmente. La manual_mode è la più interattiva e temporanea delle modalità. Ora ci concentreremo sulla creazione della automatic_mode , che a sua volta sarà una combinazione di spotter_mode + closing_mode, tra le quali interverrà l'order manager a seconda delle circostanze.

Closing Mode

Check di eventuali posizioni aperte per ogni simbolo (o per tutte se ccxt lo permette) --> inserisci ordine di take profit dinamicamente in base al prezzo medio della posizione / aggiorna vecchio take profit --> cancella tutti gli ordini pendenti se non ci sono posizioni aperte ( per evitare che restino attivi eventuali stop loss o ordini in sospeso dca)

Automatic Mode

Avvia la spotter mode --> dopo aver notificato le condizioni, se non ci sono posizioni aperte, invia gli ordini a seconda della strategia che si sta utilizzando --> closing mode per chiudere le posizioni aperte.

Da valutare in base alle prestazioni se tenere un massimo di posizioni aperte , multiple, o se addirittura tenerne una sola e se provare in async o meno.