Bonjour,
Parmi les stratégie que j’essaie d’automatiser, je travaille actuellement sur les franchissements de points pivots (quotidien, hebdo, mensuel). L’objectif de mon code est assez simple :
- Calculer les PP
- Vérifier si la précédende bougie franchie un PP
- Vérifier si ce seuil à déjà été franchie dans la journée
- Passer (ou non) mon ordre d’achat/vente
Le code fonctionne plutôt bien mais… il n’est pas du tout optimisé !
Je calcule une vingtaine de variable (PP, R/S sur les 3 horizons de temps) puis je répète le code des phases 2-3-4 pour chacune des variables. Voilà par exemple comment je traite les PP journalier et hebdo
IF high crosses over PP THEN
SELLSHORT tailleLot CONTRACTS AT MARKET
ELSIF LOW CROSSES UNDER PP THEN
BUY tailleLot CONTRACTS AT MARKET
ENDIF
IF high crosses over PPH THEN
SELLSHORT tailleLot CONTRACTS AT MARKET
ELSIF LOW CROSSES UNDER PPH THEN
BUY tailleLot CONTRACTS AT MARKET
ENDIF
Mon objectif serait donc d’identifier le PP le plus proche du cours, de le mettre dans une variable et je testerai seulement cette variable (contrairement à maintenant ou je teste chaque PP).
Je ne sais pas si j’ai été clair dans mes explications.
Merci beaucoup pour votre aide
Alex92
Le plus simple aurait été évidemment de stocker toutes les informations des points pivots dans des tableaux de données (array), mais cette possibilité n’est pas donner à l’utilisateur par le code encore .. sûrement un jour, puisque que c’est plus que très utile pour ce genre de développement 🙂
Pour vérifier quel est le point pivot le plus près de ton prix actuel, tu peux utiliser l’instruction MIN et passer tous tes points dans ce genre de test:
testpp = MIN(testpp, ABS(close-PP))
tests1 = MIN(tests1, ABS(close-S1))
if testpp<tests1 then
monpoint = testpp
elsif testpp>tests1 then
monpoint = tests1
endif
etc .. etc ..
La variable “monpoint” contiendra au final la valeur du point pivot à tester pour le crossover
C’est une idée du Dimanche matin, à tester et à améliorer et/ou à optimiser si quelqu’un a une autre idée au passage 🙂
Merci pour cette solution même si elle me semble tout aussi complexe que mon code original 😀
Vivement les array (si PRT nous écoute).