CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[python] probleme

Keioporteban
Keioporteban
Niveau 9
26 septembre 2021 à 08:58:21

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 :noel:

Keioporteban
Keioporteban
Niveau 9
27 septembre 2021 à 08:19:00

bon je suppose que personne a compris :noel:

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 :noel:

Azerban
Azerban
Niveau 16
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

Keioporteban
Keioporteban
Niveau 9
27 septembre 2021 à 17:41:15

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 :ok:

Keioporteban
Keioporteban
Niveau 9
27 septembre 2021 à 19:41:46

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 :hap:

Blackamoto
Blackamoto
Niveau 16
27 septembre 2021 à 20:25:09

Le 27 septembre 2021 à 19:41:46 :
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 :hap:

c'est nul comme ça
à ta place je ferais une classe Strategy et/ou Feature

Message édité le 27 septembre 2021 à 20:25:49 par Blackamoto
Keioporteban
Keioporteban
Niveau 9
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 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 :hap:

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 :hap:

Blackamoto
Blackamoto
Niveau 16
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 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 :hap:

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 :hap:

ok non j'avais pas compris que my_function était appliquée dans ta boucle sur les bougies

tu veux faire quoi ? Un backtester ?

Message édité le 27 septembre 2021 à 20:46:47 par Blackamoto
Keioporteban
Keioporteban
Niveau 9
27 septembre 2021 à 20:47:54

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 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 :hap:

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 :hap:

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

Blackamoto
Blackamoto
Niveau 16
27 septembre 2021 à 20:49:05

essaie dearpygui c'est le futur

Message édité le 27 septembre 2021 à 20:49:17 par Blackamoto
Keioporteban
Keioporteban
Niveau 9
27 septembre 2021 à 20:51:17

Le 27 septembre 2021 à 20:49:05 :
essaie dearpygui c'est le futur

je connaissais pas je vais voir ça

Blackamoto
Blackamoto
Niveau 16
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 futur

je 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)

Message édité le 27 septembre 2021 à 20:54:15 par Blackamoto
Keioporteban
Keioporteban
Niveau 9
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 futur

je 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 :noel:
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 :noel:

Message édité le 27 septembre 2021 à 20:57:45 par Keioporteban
Blackamoto
Blackamoto
Niveau 16
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 futur

je 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 :noel:
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 :noel:

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 :(

Message édité le 27 septembre 2021 à 21:04:44 par Blackamoto
Keioporteban
Keioporteban
Niveau 9
27 septembre 2021 à 21:04:22

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 futur

je 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 :noel:
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 :noel:

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 :(

ok je vois, je vais m'y mettre alors :cimer:
bon mes applis utilisent pas beaucoup de ressources si ca peut me servir un jour je prends :noel:

Message édité le 27 septembre 2021 à 21:05:35 par Keioporteban
Azerban
Azerban
Niveau 16
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

Keioporteban
Keioporteban
Niveau 9
27 septembre 2021 à 21:10:40

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

Blackamoto
Blackamoto
Niveau 16
27 septembre 2021 à 21:11:04

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

Message édité le 27 septembre 2021 à 21:11:52 par Blackamoto
Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment