Nous souhaitons attirer l'attention des contributeurs de nos forums que la législation française requiert que vous indiquiez si vous avez une position ouverte dans un instrument sur lequel vous émettez une opinion. Veuillez respecter cette recommandation faite par l’AMF (Autorité des Marchés Financiers) . Pour plus d'information : lire ce PDF.
A t'on la possibilité de créer une stat dans laquelle s'affiche uniquement les valeurs qui présentent des flèches haut ou bas telles que définies par le systeme trading défini plus haut? Si oui comment?
Ce que je souhaite, c'est juste une liste "jour" où s'affiche les valeurs "fléchées" sans avoir besoin de brasser tout un groupe.
Au passage, merci à Pwaget pour sa contribution qui semble très prometeuse
C'est tout à fait possible. Il suffit de reprendre la règle indicateur d'achat/vente qui est définie plus haut et d'en faire une règle statistique.
Programme :
------------------------------
//SYSTEME TRADING DE PWAGET
//
//REGLE D'ACHAT ET DE VENTE
P1=20
P2=-35
P3=80
P4=35
SI (STOCHRSI.STOCHRSI<P1) ET (CMO.CMO_MOINS<P2)
ALORS
SELECTIONACHAT
FINSI
SI (STOCHRSI.STOCHRSI>P3) ET (CMO.CMO_PLUS>P4)
ALORS
SELECTIONVENTE
FINSI
--------------------------------
Comme tu peux le constater, j'ai introduit les valeurs des 4 paramètres P1 à P4 directement en tête de programme puisqu'on ne peut pas les placer dans la fenêtre Propriétés comme on le fait pour une règle indicateur. Cela évite aussi d'être obligé d'aller les chercher dans les règles pour les modifier...Tu peux évidemment en changer les valeurs à ta convenance.
Propriétés :
Rien de spécial à dire. Ne pas oublier de cocher la case "Colonne Achat/Vente".
Je tiens à rappeler que les signaux détectés par le scan doivent être corroborés par une analyse chartiste. Ce sont des points de survente ou de surachat.
<b>ATTENTION : un état de survente ne signifie pas que l'action ne va pas continuer à chuter. Un état de surachat ne signifie pas que l'action ne va pas continuer sa hausse.</b>
A Pwaget: j'avais bien compris. Le scan me permet juste de gagner du temps. En tout cas, je trouve ça génial et je te remercie. Je pense surtout voir sur qq valeurs que je connais pas trop mal, avant de me lancer tout en corroborant avec d'autres indics,+ chart, + bougies. Comme il se passe tous les jours qq chose sur le marché , j'ai le temps)
Peit constat sommaire: les flèches multiples ne me genent pas, car le peu que j'ai vu, il y en a plusieurs à suivre avant le renversement de tendance( qui parfois est faible). Ca permet aussi de poser son stop dans de bonnes conditions.
Pour programmer une règle (indicateur) par exemple un cours plus haut sur une période de 100 jours de bourse on tape la commande MAX (val,n) ou val est le cours plus haut et n le nombre de séances qui peut être paramétré. Sur le graphe apparaît la droite respective mais sur tout l'historique, droite que change à chaque plus haut atteint. Comment faire pour que la droite soit dessinée qu'à partir du dernier plus haut? Merci de vos renseignements.
Tu peux aussi définir N comme paramètre P1 dans la fenêtre Propriétés bien sûr.
Tu déclares aussi MAXsurN comme courbe.
N'oublie pas de cocher la case "Affichage sur les cours".
Merci pour ta réponse aussi rapide Smallcaps90 mais comme ça je savais faire. Je voulais savoir comme éviter que la droite fasse ces marches à chaque changement de plus haut, autrement dit commment faire affficher la droite uniquement après le dernier plus haut même s'il a eu d'autres plus hauts pendant la pèriode considerée, dans notre cas de 100 jours.
Voici une solution possible :
----------------------------
//Plus hauts sur N jours
//N=100
N=100
SI RANGHISTO=FINHISTO
ALORS
MAXN=MAX(HAUT,N)
POUR N COURS
PLUSHAUT = MAXN
FINPOUR
FINSI
------------------------------
Tu déclares PLUSHAUT comme courbe avec le type d'affichage "SEGMENT". Ainsi il ne trace que le segment correspondant au dernier plus haut (MAXN) sur la durée que tu choisis (N=100 ici).
Oui Smallcaps90, tu as presque tout compris de ce que je voudrais savoir.En réalité, je vodrais l'affichage de la droite juste à droite du dernier plus haut, mais là, je me demande si c'est vraiment possible.
Voilà çà marche maintenant, conformément à ce que tu souhaites :
----------------------------
//Plus hauts sur N jours
//N=100
N=100
SI RANGHISTO=FINHISTO
ALORS
//On cherche la valeur du plus haut sur N jours.
MAXN=MAX(HAUT,N)
//On cherche ensuite la valeur X de l'indice
//de la boucle POUR pour laquelle le MAXN est trouvé.
POUR N COURS
SI HAUT=MAXN
ALORS
X=RANGPOUR
FINSI
FINPOUR
//On trace une horizontale à ce niveau maxi
//uniquement pour les cours suivants.
POUR N-X+1 COURS
PLUSHAUT = MAXN FINPOUR
FINSI
----------------------------
Une courbe à déclarer : PLUSHAUT, de type "SEGMENTS".
On coche toujours la case "Afficher sur les cours"
Une petite astuce (qui n'en est pas une en réalité) permet de trouver les valeurs d'un groupe qui satisfont une règle statistique sur une certaine durée et d'indiquer les dates auxquelles la règle a été satisfaite.
L'exécution doit donner dans le rapport de statistique, les valeurs et les dates où la règle était satisfaite certes mais chaque valeur ne doit apparaître qu'une seule fois et la date associée doit correspondre au jour le plus récent où la règle était satisfaite dans l'historique.
Ceci consécutivement à une question que je me suis posée après un post de Ramada daté du 21/04 dernier à : <a href='/ref.php?uri=http%3A%2F%2Fwww.pro-at.com%2Ffrm%2Ftopic.asp%3FTOPIC_ID%3D11128' target="_blank">http://www.pro-at.com/frm/topic.asp?TOPIC_ID=11128</a> dans lequel il annonçait la possibilité de placer des boucles POUR dans une règle statistique. Il s'avère que c'est un tout petit peu plus compliqué qu'il le disait si on veut obtenir un résultat utilisable.
Le problème support est celui proposé par Pwaget avec son système de trading utilisant le CMO (voir <a href='/ref.php?uri=http%3A%2F%2Fwww.pro-at.com%2Ffrm%2Ftopic.asp%3FTOPIC_ID%3D6593%26whichpage%3D21' target="_blank">http://www.pro-at.com/frm/topic.asp?TOPIC_ID=6593&...</a> et suivantes dans la présente file).
On prend le groupe des 11 valeurs suivantes :
ALSTOM, APRIL GROUP, AXA, DMC, EUROTUNNEL, FAURECIA, PENAUILLE POLYSERVICES, SANOFI SYNTHELABO, THALES, VIVENDI UNIVERSAL.
On souhaite connaître sur les 20 derniers jours quelles sont les valeurs qui ont satisfait à la règle statistique "SYTEME DE TRADING" de Pwaget ainsi que les dates correspondantes comme indiqué plus haut.
<u>1ère solution :</u>
-----------------------
<font size="1">//STATISTIQUE DE FRANCHISSEMENT
//DE LA LIGNE ZERO PAR LE CMO
//
N=20
POUR N COURS
C1=CMO.CMO(1)<0 ET CMO.CMO>0
C2=CMO.CMO(2)<0 ET CMO.CMO(1)=0 ET CMO.CMO>0
SI C1 OU C2
ALORS
COLONNE1 = "LIGNE 0 " & " FRANCHIE A LA HAUSSE LE :" & DATEHISTO$
SELECTION
FINSI
C3=CMO.CMO(1)>0 ET CMO.CMO<0
C4=CMO.CMO(2)>0 ET CMO.CMO(1)=0 ET CMO.CMO<0
SI C3 OU C4
ALORS
COLONNE1 = "LIGNE 0 " & " FRANCHIE A LA BAISSE LE :" & DATEHISTO$
SELECTION
FINSI
Comme la fonction "SELECTION" se trouve dans la boucle, chaque fois qu'une des deux conditions (C1 OU C2) ou bien (C3 OU C4) est satisfaite, le programme est stoppé pour la valeur correspondante et le rapport de statistiques nous donne la date la plus ancienne où la valeur satisfait la règle....Ce n'est pas ce que nous souhaitons.
<u>2ème solution :</u>
------------------------------
<font size="1">//STATISTIQUE DE FRANCHISSEMENT
//DE LA LIGNE ZERO PAR LE CMO
//
N=20
POUR N COURS
C1=CMO.CMO(1)<0 ET CMO.CMO>0
C2=CMO.CMO(2)<0 ET CMO.CMO(1)=0 ET CMO.CMO>0
SI C1 OU C2
ALORS
COLONNE1 = "LIGNE 0 " & " FRANCHIE A LA HAUSSE LE :" & DATEHISTO$
FINSI
C3=CMO.CMO(1)>0 ET CMO.CMO<0
C4=CMO.CMO(2)>0 ET CMO.CMO(1)=0 ET CMO.CMO<0
SI C3 OU C4
ALORS
COLONNE1 = "LIGNE 0 " & " FRANCHIE A LA BAISSE LE :" & DATEHISTO$
FINSI
On a supprimé les fonctions "SELECTION".
Regardez vous même ce que cela donne. C'est très instructif....mais cela ne répond pas à notre cahier des charges.
<u>3ème solution :</u>
------------------------------
<font size="1">//STATISTIQUE DE FRANCHISSEMENT
//DE LA LIGNE ZERO PAR LE CMO
//
<b>VARSELECT=0</b>
N=20
POUR N COURS
C1=CMO.CMO(1)<0 ET CMO.CMO>0
C2=CMO.CMO(2)<0 ET CMO.CMO(1)=0 ET CMO.CMO>0
SI C1 OU C2
ALORS
<b>VARSELECT=1</b>
COLONNE1 = "LIGNE 0 " & " FRANCHIE A LA HAUSSE LE :" & DATEHISTO$
FINSI
C3=CMO.CMO(1)>0 ET CMO.CMO<0
C4=CMO.CMO(2)>0 ET CMO.CMO(1)=0 ET CMO.CMO<0
SI C3 OU C4
ALORS
<b>VARSELECT=1</b>
COLONNE1 = "LIGNE 0 " & " FRANCHIE A LA BAISSE LE :" & DATEHISTO$
FINSI
FINPOUR
<b>SI VARSELECT=1
ALORS
SELECTION
FINSI</b></font id="size1">
----------------------------
Là le résultat est correct!
Effectivement, le fait de sortir SELECTION de la boucle POUR va permettre de trouver pour les valeurs qui satisfont la règle, la <b>dernière fois </b> qu'elles l'ont fait.
<i>Une autre question intéressante est :
- pour quelle raison ai-je modifié les deux conditions qui testent les croisements du CMO avec la ligne 0 par rapport à ce qu'elles étaient dans le post cité précédemment?</i>
PS:
Je tiens à remercier MLOG pour l'échange intéressant que nous avons eu à ce sujet et la communication qu'il m'a faite de la 3ème solution.
Commentaire