1 seul trade après croisement 2 MM
Forums › ProRealTime forum Français › Support ProOrder › 1 seul trade après croisement 2 MM
- This topic has 11 replies, 3 voices, and was last updated 6 years ago by Nicolas.
-
-
11/29/2016 at 7:56 AM #1744411/29/2016 at 10:23 AM #1745611/29/2016 at 10:36 AM #17457
Non, voilà ma stratégie :
J’ai deux moyennes mobiles de période 10 et 20 et deux moyennes mobiles de période 100 et 150.
Par exemple, quand la MM10 croise à la hausse la MM20 alors que la MM100 est au-dessus de la 150 alors je déclenche un ordre à l’achat.
Je voudrais profiter du retournement de tendance qu’uns seule fois, à son début car il y a aussi des croisements à la hausse de la MM10 sur la MM20 à l’essouflement de la MM100 au-dessus de MM150.
11/29/2016 at 12:16 PM #17466Il suffit simplement de “flagger” le fait que ta MM10 passe au dessus de la M20 (tu inscrits dans une variable que le croisement a eu lieu) et tu reset cette variable à chaque croisement de tes moyennes mobiles long terme (changement de tendance dans ta stratégie si j’ai bien compris).
Ensuite, tu testes ce flag avant de lancer chaque trade, si celui-ci est déjà vrai alors un croisement a déjà eu lieu.
12/04/2017 at 9:31 AM #5464012/04/2017 at 11:36 AM #54674“flagger” est une francisation du verbe “to flag” soit signaler ou marquer quelque chose comme important, en Anglais. On utilise souvent ce terme en programmation.
Pour ce cas précis, j’indique qu’il faut inscrire dans une variable qu’un événement a eu lieu (ici un croisement de moyennes mobiles):
123if average[10] crosses over average[20] thenflag = 1endifSi flag=1 alors on prendra d’autres décisions en fonction. On pourrait aussi stocker dans “flag” la valeur du barindex par exemple, ou même un prix, etc.
1 user thanked author for this post.
12/04/2017 at 12:19 PM #54680123456789101112131415161718MM10 = Average[10](close)MM20 = Average[20](close)MM100 = Average[100](close)MM150 = Average[150](close)ca1 = MM10 crosses over MM20ca2 = MM100 > MM150Long = 0If Long = 0 and ca1 and ca2 thenLong = 1elsif Long = 1 and ca1 and ca2 thenendifIf Long = 1 and close < MM150 thenLong = 0Endifreturn long style(histogram) as "result", 0 coloured(0,0,255) AS "Zéro"Pour revenir sur l’exemple ci-dessus, j’ai essayé cela, mais tous les signaux restent Peux-tu nous aider ? @+
12/04/2017 at 12:55 PM #54683Dans ton cas, je pense qu’il vaut mieux scinder les 2 conditions, puisque tu utilises “long” pour matérialiser le signal visuellement. J’ai donc ajouté la variable “signal” pour faire le reset quand le close repasse sous la MM150, car si j’ai bien compris tu ne prends que le premier trade et pas les suivants.
1234567891011121314151617181920MM10 = Average[10](close)MM20 = Average[20](close)MM100 = Average[100](close)MM150 = Average[150](close)ca1 = MM10 crosses over MM20ca2 = MM100 > MM150//Long = 0If signal=0 and ca1 and ca2 thenLong = 1signal = 1elselong = 0endifIf signal = 1 and close < MM150 thensignal = 0Endifreturn long style(histogram) as "result", 0 coloured(0,0,255) AS "Zéro"1 user thanked author for this post.
12/04/2017 at 1:14 PM #5468912/04/2017 at 3:28 PM #54705Me revoilà…..
J’ai voulu transformer le code pour un affichage sur le graphique et faire les conditions ventes :
1234567891011121314151617181920212223242526272829303132333435363738MM10 = Average[10](close)MM20 = Average[20](close)MM100 = Average[100](close)MM150 = Average[150](close)//Conditions Achatsca0 = MM20 > MM150ca1 = MM10 crosses over MM20ca2 = MM100 > MM150//Long = 0If signalLong=0 and ca0 and ca1 and ca2 thenLong = 1signalLong = 1DRAWARROWUP(barindex,low-10) COLOURED(0,0,0)elselong = 0endifIf signalLong = 1 and close < MM150 thensignalLong = 0Endif//Conditions Venteca10 = MM20 < MM150ca11 = MM10 crosses under MM20ca12 = MM100 < MM150If signalShort=0 and ca10 and ca11 and ca12 thenShort = -1signalShort = -1DRAWARROWDOWN(barindex,high+10) COLOURED(0,0,0)elseShort = 0endifIf signalShort = -1 and close > MM150 thensignalShort = 0Endifreturn Long as "Long", Short as "Short"Sauf que quand je l’applique au graphique “prix”, celui n’est pas dimensionné correctement !!! Il laisse apparaître la ligne 0 de l’actif……
Comment corriger ce défaut, car si j’enlève l’incrémentation, il me met tous les signaux à nouveau ?!? :=(
@+
12/04/2017 at 4:58 PM #5471212/05/2017 at 8:01 AM #54740 -
AuthorPosts
Find exclusive trading pro-tools on