salut,
j'ai un probleme, j'ai créé 2 fichiers .py, l'un nommé main pour le programme, l'autre window pour l'interface tkinter.
le main contient des conditions "if" et j'aimerais pouvoir les modifier depuis window.py
en gros, si l'utilisateur rentre "RSI < 30" sur window.py, la condition if doit devenir "if row['RSI'] < 30:"
je sais que c'est faisable avec une série de if mais c'est pas du tout pratique car j'ai beaucoup de possibilités avec dans and et or (https://gyazo.com/32fdfbd2758cf6041e70351fcc7b3d14 )
y aurait-il une solution plus simple ?
j'espere que vous comprennez ![]()
bon je suppose que personne a compris ![]()
je reformule :
j'ai un programme qui contient une condition "if row['RSI'] > 30:"
et j'aimerais pouvoir modifier cette condition à souhait depuis un autre programme
par exemple quand l'utilisateur rentre "MACD > 0" (donc un string) il faut que la condition du programme main devienne "if row["MACD"] > 0"
je pourrais utiliser if entree == "MACD>0"
condition = if row['MACD'] > 0
cependant j'ai enormement de possibilités (avec and et or) du coup ca me fait beaucoup de "if entree"
par exemple si l'utilisateur utilise "RSI > 30 and MACD > 0"
je me demande juste si il y avait un solution plus simple pour ça ![]()
Je pense que tu devrais sauvegarder ta stratégie d'investissement dans un dictionnaire Python qui représente toutes tes conditions et ensuite dumper ton dictionnaire dans un fichier JSON.
C'est comme ça qu'on fait en général pour sauvegarder des configurations (tu peux aussi utiliser du YAML mais le module JSON est disponible dans la standard library).
https://docs.python.org/fr/3/library/json.html
Le 27 septembre 2021 à 13:48:22 :
Je pense que tu devrais sauvegarder ta stratégie d'investissement dans un dictionnaire Python qui représente toutes tes conditions et ensuite dumper ton dictionnaire dans un fichier JSON.C'est comme ça qu'on fait en général pour sauvegarder des configurations (tu peux aussi utiliser du YAML mais le module JSON est disponible dans la standard library).
https://docs.python.org/fr/3/library/json.html
merci je vais voir ça ![]()
finalement j'ai trouvé une réponse sur stackoverflow
user_input = "RSI > 30 and MACD > 0"
def my_function(RSI, MACD, user_input):
if eval(user_input):
print('The code is working')
return True
my_function(RSI=40, MACD=10, user_input=user_input)ca marche bien pour mon programme donc je vais me servir de ca meme si c'est pas forcément optimal ![]()
Le 27 septembre 2021 à 19:41:46 :
finalement j'ai trouvé une réponse sur stackoverflowuser_input = "RSI > 30 and MACD > 0" def my_function(RSI, MACD, user_input): if eval(user_input): print('The code is working') return True my_function(RSI=40, MACD=10, user_input=user_input)ca marche bien pour mon programme donc je vais me servir de ca meme si c'est pas forcément optimal
c'est nul comme ça
à ta place je ferais une classe Strategy et/ou Feature
Le 27 septembre 2021 à 20:25:09 :
Le 27 septembre 2021 à 19:41:46 :
finalement j'ai trouvé une réponse sur stackoverflowuser_input = "RSI > 30 and MACD > 0" def my_function(RSI, MACD, user_input): if eval(user_input): print('The code is working') return True my_function(RSI=40, MACD=10, user_input=user_input)ca marche bien pour mon programme donc je vais me servir de ca meme si c'est pas forcément optimal
c'est nul comme ça
à ta place je ferais une classe Strategy et/ou Feature
c'est pas exactement ce que j'ai utilisé, à la place de "RSI = 40" j'ai row['RSI'] soit la valeur du rsi à chaque boucle(bougie), enfin je suppose que t'as compris ça
j'ai jamais utilisé de classes donc je vois pas trop ce que tu veux dire ![]()
Le 27 septembre 2021 à 20:35:45 :
Le 27 septembre 2021 à 20:25:09 :
Le 27 septembre 2021 à 19:41:46 :
finalement j'ai trouvé une réponse sur stackoverflowuser_input = "RSI > 30 and MACD > 0" def my_function(RSI, MACD, user_input): if eval(user_input): print('The code is working') return True my_function(RSI=40, MACD=10, user_input=user_input)ca marche bien pour mon programme donc je vais me servir de ca meme si c'est pas forcément optimal
c'est nul comme ça
à ta place je ferais une classe Strategy et/ou Featurec'est pas exactement ce que j'ai utilisé, à la place de "RSI = 40" j'ai row['RSI'] soit la valeur du rsi à chaque boucle(bougie), enfin je suppose que t'as compris ça
j'ai jamais utilisé de classes donc je vois pas trop ce que tu veux dire
ok non j'avais pas compris que my_function était appliquée dans ta boucle sur les bougies
tu veux faire quoi ? Un backtester ?
Le 27 septembre 2021 à 20:43:43 :
Le 27 septembre 2021 à 20:35:45 :
Le 27 septembre 2021 à 20:25:09 :
Le 27 septembre 2021 à 19:41:46 :
finalement j'ai trouvé une réponse sur stackoverflowuser_input = "RSI > 30 and MACD > 0" def my_function(RSI, MACD, user_input): if eval(user_input): print('The code is working') return True my_function(RSI=40, MACD=10, user_input=user_input)ca marche bien pour mon programme donc je vais me servir de ca meme si c'est pas forcément optimal
c'est nul comme ça
à ta place je ferais une classe Strategy et/ou Featurec'est pas exactement ce que j'ai utilisé, à la place de "RSI = 40" j'ai row['RSI'] soit la valeur du rsi à chaque boucle(bougie), enfin je suppose que t'as compris ça
j'ai jamais utilisé de classes donc je vois pas trop ce que tu veux dire
ok non j'avais pas compris que my_function était appliquée dans ta boucle sur les bougies
tu veux faire quoi ? Un backtester ?
ouaip exactement
enfin le backtester je l'ai déjà, j'essaye d'y ajouter une interface graphique
essaie dearpygui c'est le futur
Le 27 septembre 2021 à 20:49:05 :
essaie dearpygui c'est le futur
je connaissais pas je vais voir ça
Le 27 septembre 2021 à 20:51:17 :
Le 27 septembre 2021 à 20:49:05 :
essaie dearpygui c'est le futurje connaissais pas je vais voir ça
matplotlib c'est pas scalable, tkinter insupportable, etc
ça c'est vraiment réactif et relativement simple avec un peu de pratique (même si j'ai mis en pause mon taff dessus perso je fais un backtester à haute performance avec des indicateus sur les ticks, je finirais le GUI ensuite)
Le 27 septembre 2021 à 20:53:20 :
Le 27 septembre 2021 à 20:51:17 :
Le 27 septembre 2021 à 20:49:05 :
essaie dearpygui c'est le futurje connaissais pas je vais voir ça
matplotlib c'est pas scalable, tkinter insupportable, etc
ça c'est vraiment réactif et relativement simple avec un peu de pratique (même si j'ai mis en pause mon taff dessus perso je fais un backtester à haute performance avec des indicateus sur les ticks, je finirais le GUI ensuite)
ouais je trouve tkinter galère aussi pour le peu que je m'en sers ![]()
je ferais mieux de commencer à apprendre dearpygui au lieu de tkinter? c'est juste pour un usage perso
je sais pour ton bot je suis dans le tg ![]()
Le 27 septembre 2021 à 20:57:21 :
Le 27 septembre 2021 à 20:53:20 :
Le 27 septembre 2021 à 20:51:17 :
Le 27 septembre 2021 à 20:49:05 :
essaie dearpygui c'est le futurje connaissais pas je vais voir ça
matplotlib c'est pas scalable, tkinter insupportable, etc
ça c'est vraiment réactif et relativement simple avec un peu de pratique (même si j'ai mis en pause mon taff dessus perso je fais un backtester à haute performance avec des indicateus sur les ticks, je finirais le GUI ensuite)
ouais je trouve tkinter galère aussi pour le peu que je m'en sers
je ferais mieux de commencer à apprendre dearpygui au lieu de tkinter? c'est juste pour un usage perso
je sais pour ton bot je suis dans le tg
ouais franchement j'ai passé beaucoup de temps à chercher un truc efficace et rapide à dev et maintenir et j'ai l'impression que ce projet est solide, en C/C++ derrière avec le gpu, c'est sûr que ça restera réactif et scalable si on commence à visualiser bcp de choses en même temps + animation
et j'ai bidouillé quelques trucs c'est assez stylé la logique pour programmer ton appli
c'est en développement encore actif mais quand même assez stable si tu t'aventures pas trop loin dedans (pas eu de pb perso pour le peu que j'ai fait), je pense que d'ici 6 mois ça deviendra une très bonne lib ![]()
Le 27 septembre 2021 à 21:00:36 :
Le 27 septembre 2021 à 20:57:21 :
Le 27 septembre 2021 à 20:53:20 :
Le 27 septembre 2021 à 20:51:17 :
Le 27 septembre 2021 à 20:49:05 :
essaie dearpygui c'est le futurje connaissais pas je vais voir ça
matplotlib c'est pas scalable, tkinter insupportable, etc
ça c'est vraiment réactif et relativement simple avec un peu de pratique (même si j'ai mis en pause mon taff dessus perso je fais un backtester à haute performance avec des indicateus sur les ticks, je finirais le GUI ensuite)
ouais je trouve tkinter galère aussi pour le peu que je m'en sers
je ferais mieux de commencer à apprendre dearpygui au lieu de tkinter? c'est juste pour un usage perso
je sais pour ton bot je suis dans le tgouais franchement j'ai passé beaucoup de temps à chercher un truc efficace et rapide à dev et maintenir et j'ai l'impression que ce projet est solide, en C/C++ derrière avec le gpu, c'est sûr que ça restera réactif et scalable si on commence à visualiser bcp de choses en même temps + animation
et j'ai bidouillé quelques trucs c'est assez stylé la logique pour programmer ton applic'est en développement encore actif mais quand même assez stable si tu t'aventures pas trop loin dedans (pas eu de pb perso pour le peu que j'ai fait), je pense que d'ici 6 mois ça deviendra une très bonne lib
ok je vois, je vais m'y mettre alors ![]()
bon mes applis utilisent pas beaucoup de ressources si ca peut me servir un jour je prends ![]()
Si tu veux continuer d'utiliser Tkinter sans trop t'embêter il y a aussi PySimpleGui, c'est un wrapper autour de tkinter c'est pas mal : https://pysimplegui.readthedocs.io/en/latest/
https://www.youtube.com/watch?v=-_z2RPAH0Qk
Le 27 septembre 2021 à 21:07:38 :
Si tu veux continuer d'utiliser Tkinter sans trop t'embêter il y a aussi PySimpleGui, c'est un wrapper autour de tkinter c'est pas mal : https://pysimplegui.readthedocs.io/en/latest/https://www.youtube.com/watch?v=-_z2RPAH0Qk
sympa, je verrai avec le temps et ce qui correspondra le mieux à mon utilisation, merci du partage
Le 27 septembre 2021 à 21:07:38 :
Si tu veux continuer d'utiliser Tkinter sans trop t'embêter il y a aussi PySimpleGui, c'est un wrapper autour de tkinter c'est pas mal : https://pysimplegui.readthedocs.io/en/latest/https://www.youtube.com/watch?v=-_z2RPAH0Qk
usine à gaz ce truc perso j'ai pas aimé
rien que la page de doc fait buguer mon navigateur
tkinter a trop de pb natif je trouve