SlyParticipant
New
Bonjour,
J’ai réalisé un screener de bougie en marteau (ci joint) en multi timeframe pour les ut courtes 5′ / 15′ / 1h.
Il fonctionne bien, et j’en suis content, mais j’aimerais savoir si il est possible que lorsqu’on clique sur un titre qui est ressorti dans le screener, le graphe affiché peut être directement dans l’ut de détection ?
Actuellement, lorsque je sélectionne un titre dans la liste de résultat du screener, le graphe s’ouvre d’ans l’ut “default” qui est sélectionnée via le menu déroulant.
Par exemple 1h.
Mais si le marteau a été détecté en ut5′ ou 15′, il me faut alors changer l’ut du graphe pour le visualiser.
Voila le code :
//// SCREENER MARTEAUX Multi UT 5 - 15 - 1h ////
/// V1.2 = V1.1 + ajout critère de tri ///
// Cours Minimum
CMin = close >= CoursMinimum
/// UT1 = 5 min ///
TIMEFRAME(5mn)
// Teandance baissière = Bougie précédente Rouge + 3 dernières clotures négatives
TB1 = close [1 + BougieSuivanteDeConfirmation] < open [1 + BougieSuivanteDeConfirmation] AND close[1 + BougieSuivanteDeConfirmation] <= close[2 + BougieSuivanteDeConfirmation] AND close[2 + BougieSuivanteDeConfirmation] <= close[3 + BougieSuivanteDeConfirmation]
// Bougie de Confirmation, cours actuel plus haut que clôture du marteau
IF BougieSuivanteDeConfirmation = 0 THEN
Confirmation1 = close
ELSIF BougieSuivanteDeConfirmation = 1 THEN
Confirmation1 = close >= close [1]
ENDIF
// Volume moyen minimum
IF VolumeExprimeEnCapital = 0 THEN
VOL1 = average[PeriodeVolumeMoyen](volume) >= VolumeMoyenMinimum
ELSIF VolumeExprimeEnCapital = 1 THEN
VOL1 = average[PeriodeVolumeMoyen](volume) * close [BougieSuivanteDeConfirmation] >= VolumeMoyenMinimum
ENDIF
// Penetration Maximum du Corps de la Bougie Précédente
PMax1 = (close[1 + BougieSuivanteDeConfirmation] + (PenetrationMaxiCorpsPrecedent/100 * (open[1 + BougieSuivanteDeConfirmation] - close [1 + BougieSuivanteDeConfirmation]) ) )
// Marteau Vert
MVert1 = close [BougieSuivanteDeConfirmation] > open [BougieSuivanteDeConfirmation] AND (high [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) <= LongueurMaxiMecheHaute * (close [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) AND (open [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) >= LongueurMiniMecheBasse * (close [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) AND close [BougieSuivanteDeConfirmation] <= Pmax1
// Marteau Rouge
MRouge1 = close [BougieSuivanteDeConfirmation] < open [BougieSuivanteDeConfirmation] AND (high [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) <= LongueurMaxiMecheHaute * (open [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) AND (close [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) >= LongueurMiniMecheBasse * (open [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) AND open [BougieSuivanteDeConfirmation] <= PMax1
// Distance cloture / mmX periodes supérieure à Stop (distance cloture / mèche basse)
StopOK1 = Average[PeriodeMMObjectif](close) - close [BougieSuivanteDeConfirmation] >= (close [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) * StopInferieurObjectifMMObjectif
// Résultat UT 5 min
ResultatUT1 = (Confirmation1 AND StopOK1 AND TB1 AND VOL1 AND (MVert1 OR MRouge1))
/// UT2 = 15 min ///
TIMEFRAME(15mn)
// Teandance baissière = Bougie précédente Rouge + 3 dernières clotures négatives
TB2 = close [1 + BougieSuivanteDeConfirmation] < open [1 + BougieSuivanteDeConfirmation] AND close[1 + BougieSuivanteDeConfirmation] <= close[2 + BougieSuivanteDeConfirmation] AND close[2 + BougieSuivanteDeConfirmation] <= close[3 + BougieSuivanteDeConfirmation]
// Bougie de Confirmation, cours actuel plus haut que clôture du marteau
IF BougieSuivanteDeConfirmation = 0 THEN
Confirmation2 = close
ELSIF BougieSuivanteDeConfirmation = 1 THEN
Confirmation2 = close >= close [1]
ENDIF
// Volume moyen minimum
IF VolumeExprimeEnCapital = 0 THEN
VOL2 = average[PeriodeVolumeMoyen](volume) >= VolumeMoyenMinimum
ELSIF VolumeExprimeEnCapital = 1 THEN
VOL2 = average[PeriodeVolumeMoyen](volume) * close [BougieSuivanteDeConfirmation] >= VolumeMoyenMinimum
ENDIF
// Penetration Maximum du Corps de la Bougie Précédente
PMax2 = (close[1 + BougieSuivanteDeConfirmation] + (PenetrationMaxiCorpsPrecedent/100 * (open[1 + BougieSuivanteDeConfirmation] - close [1 + BougieSuivanteDeConfirmation]) ) )
// Marteau Vert
MVert2 = close [BougieSuivanteDeConfirmation] > open [BougieSuivanteDeConfirmation] AND (high [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) <= LongueurMaxiMecheHaute * (close [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) AND (open [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) >= LongueurMiniMecheBasse * (close [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) AND close [BougieSuivanteDeConfirmation] <= Pmax2
// Marteau Rouge
MRouge2 = close [BougieSuivanteDeConfirmation] < open [BougieSuivanteDeConfirmation] AND (high [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) <= LongueurMaxiMecheHaute * (open [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) AND (close [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) >= LongueurMiniMecheBasse * (open [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) AND open [BougieSuivanteDeConfirmation] <= PMax2
// Distance cloture / mmX periodes supérieure à Stop (distance cloture / mèche basse)
StopOK2 = Average[PeriodeMMObjectif](close) - close [BougieSuivanteDeConfirmation] >= (close [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) * StopInferieurObjectifMMObjectif
// Résultat UT 15 min
ResultatUT2 = (Confirmation2 AND StopOK2 AND TB2 AND VOL2 AND (MVert2 OR MRouge2))
/// UT3 = 1 heure ///
TIMEFRAME(1 hour)
// Teandance baissière = Bougie précédente Rouge + 3 dernières clotures négatives
TB3 = close [1 + BougieSuivanteDeConfirmation] < open [1 + BougieSuivanteDeConfirmation] AND close[1 + BougieSuivanteDeConfirmation] <= close[2 + BougieSuivanteDeConfirmation] AND close[2 + BougieSuivanteDeConfirmation] <= close[3 + BougieSuivanteDeConfirmation]
// Bougie de Confirmation, cours actuel plus haut que clôture du marteau
IF BougieSuivanteDeConfirmation = 0 THEN
Confirmation3 = close
ELSIF BougieSuivanteDeConfirmation = 1 THEN
Confirmation3 = close >= close [1]
ENDIF
// Volume moyen minimum
IF VolumeExprimeEnCapital = 0 THEN
VOL3 = average[PeriodeVolumeMoyen](volume) >= VolumeMoyenMinimum
ELSIF VolumeExprimeEnCapital = 1 THEN
VOL3 = average[PeriodeVolumeMoyen](volume) * close [BougieSuivanteDeConfirmation] >= VolumeMoyenMinimum
ENDIF
// Penetration Maximum du Corps de la Bougie Précédente
PMax3 = (close[1 + BougieSuivanteDeConfirmation] + (PenetrationMaxiCorpsPrecedent/100 * (open[1 + BougieSuivanteDeConfirmation] - close [1 + BougieSuivanteDeConfirmation]) ) )
// Marteau Vert
MVert3 = close [BougieSuivanteDeConfirmation] > open [BougieSuivanteDeConfirmation] AND (high [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) <= LongueurMaxiMecheHaute * (close [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) AND (open [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) >= LongueurMiniMecheBasse * (close [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) AND close [BougieSuivanteDeConfirmation] <= Pmax3
// Marteau Rouge
MRouge3 = close [BougieSuivanteDeConfirmation] < open [BougieSuivanteDeConfirmation] AND (high [BougieSuivanteDeConfirmation] - open [BougieSuivanteDeConfirmation]) <= LongueurMaxiMecheHaute * (open [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) AND (close [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) >= LongueurMiniMecheBasse * (open [BougieSuivanteDeConfirmation] - close [BougieSuivanteDeConfirmation]) AND open [BougieSuivanteDeConfirmation] <= PMax3
// Distance cloture / mmX periodes supérieure à Stop (distance cloture / mèche basse)
StopOK3 = Average[PeriodeMMObjectif](close) - close [BougieSuivanteDeConfirmation] >= (close [BougieSuivanteDeConfirmation] - low [BougieSuivanteDeConfirmation]) * StopInferieurObjectifMMObjectif
// Résultat UT 1 heure
ResultatUT3 = (Confirmation3 AND StopOK3 AND TB3 AND VOL3 AND (MVert3 OR MRouge3))
/// UT de résultat (ouverture du graphique dans cette UT qui est définie dans le menu déroulant du screener) ///
TIMEFRAME (DEFAULT)
/// Critere de classement des resultats ///
IF ResultatUT1 = 1 THEN
UT = 1
ELSIF ResultatUT2 = 1 THEN
UT = 2
ELSIF ResultatUT3 = 1 THEN
UT = 3
ENDIF
/// RESULTATS Multi UT ///
SCREENER [CMin AND ResultatUT1 OR ResultatUT2 OR ResultatUT3] (UT AS "ut")
J’utilise de nombreuses variables pour que les principaux paramètres du screener puissent être modifiées et ajustées à la main de tout un chacun (voir l’image ci jointe),le but étant de pouvoir partager ce screener, et qu’il ne soit pas nécessaire de rentrer dans le code pour modifier les dits paramètres.
Bref, pour en revenir à ma question. Est il donc possible que le graphique s’ouvre dan l’UT de détection en lieu et la place de l’ut “default” ?
Merci pour les futures réponses.
Bjr, si j’ai bien compris la question, il n’y a pas de mot-clé du langage de prog de la plateforme qui permette de dire dans le code: “ouvre-moi le graphe dans une des plus grandes UT définies dans les timeframe du code plutôt que l’UT default à laquelle le code appartient”
SlyParticipant
New
Bonjour,
Et merci pour la réponse.
je peux donc arrêter de chercher la solution. Merci 😉
Bon WE