Pas vraiment.
Les calculs d'indicateurs sont simples.
On dispose de six doubles (réels) :
prix d'ouverture, de fermeture, le plus haut, le plus bas, volume et date.
Le calcul se fait sur une certaine durée : on a donc en fait 6 tableaux de doubles (de taille N).
A l'instant i on peut calculer l'indicateur de manière simple :
indic[i] = open[i] - close[i] (par exemple)
La seule contrainte est de ne pas utiliser les données après i (sinon on triche, on ne simule plus du temps réel)
A la base l'application proposera disons les 10 indicateurs les plus utiles.
Après, je souhaiterais donner la liberté au client d'en créer d'autres très simplement.
Par exemple, s'il écrit indic[i] = open[i] - close[i], le programme devrait générer la fonction (syntaxe C)
void indic_exemple(DataPrice *dp, Indic **indic){
for(uint32_t i = 0; i < dp.size; i++)
(*indic)[i] = dp->open[i] - dp->close[i];
}
Ensuite la fonction devra être intégré au programme pour qu'il puisse s'en servir.
Ici je ne cite qu'un exemple parmi tant d'autres.
J'ai bien étudié la situation, le plus simple serait vraiment de créer des librairies à charger dynamiquement.
Sauf que la tâche s'avère plus délicate que prévu :
- mon programme est en C pour des questions de performance (sinon j'aurais pu le faire en C# par exemple) et je souhaite l’exécuter dans un environnement .net avec compilation statique;
- je souhaite pouvoir créer les librairies en complétant une partie du programme (comme ça l'utilisateur ne mettra que l'essentiel)
- je vous demande de l'aide pour la création et le chargement dynamique de librairie car les différents documents que j'ai trouvé n'explique pas assez en détails : la librairie est supposé déjà crée et le code fournie est difficilement adaptable!
Je reformule donc mon problème :
je dispose d'un type de fonction bien définie en quantité que je souhaite pouvoir varier.
mon programme est compilé avec un nombre initial de ces fonctions.
Comment faire pour en créer d'autres dynamiquement et pour les invoquer dans mon programme central?
Partager