programmer une strategie
Forums › ProRealTime forum Français › Support ProOrder › programmer une strategie
- This topic has 5 replies, 2 voices, and was last updated 4 years ago by chelmax.
-
-
12/20/2020 at 11:09 PM #154668
bonjour, je voudrais savoir si quelqu’un arriverais a me coder une petite stratégie que j’utilise en manuelle et je voudrais le mètre en trading automatique, mais après plusieurs essaie je n’arrive pas a la coder je vais vous la écris juste en bas:
achat: rsi 2 période croise a la hausse le niveaux de 10 et que le prix soit au -dessus de la moyen mobile 200
vente: rsi 2 période croise a la baise le niveaux de 90 et que le prix soit en-dessous de la moyen mobile 200
stop loss a 10 point
voila merci encore.
12/21/2020 at 1:07 PM #154718Bonjour,
Voici le code avec des horaires de trading bornées de 9h à 17h :
1234567891011121314151617181920212223242526272829303132// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".DEFPARAM FLATBEFORE = 090000// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"DEFPARAM FLATAFTER = 180000// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiéenoEntryAfterTime = 170000timeEnterAfter = time < noEntryAfterTime// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Conditions pour ouvrir une position acheteuseindicator1 = RSI[2](close)c1 = (indicator1 CROSSES OVER 10)IF c1 AND timeEnterAfter AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIF// Conditions pour ouvrir une position en vente à découvertindicator2 = RSI[2](close)c2 = (indicator2 CROSSES UNDER 90)IF c2 AND timeEnterAfter AND not daysForbiddenEntry THENSELLSHORT 1 CONTRACT AT MARKETENDIF// Stops et objectifsSET STOP pLOSS 1012/21/2020 at 1:09 PM #154719Au temps pour moi, j’avais oublié la condition avec la MM 200 :
1234567891011121314151617181920212223242526272829303132333435// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".DEFPARAM FLATBEFORE = 090000// Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"DEFPARAM FLATAFTER = 180000// Empêche le système de placer des ordres pour entrer sur le marché ou augmenter la taille d'une position après l'heure spécifiéenoEntryAfterTime = 170000timeEnterAfter = time < noEntryAfterTime// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiésdaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0MM200 =Average[200](close)// Conditions pour ouvrir une position acheteuseindicator1 = RSI[2](close)c1 = (indicator1 CROSSES OVER 10)IF c1 and close>MM200 AND timeEnterAfter AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIF// Conditions pour ouvrir une position en vente à découvertindicator2 = RSI[2](close)c2 = (indicator2 CROSSES UNDER 90)IF c2 and close<MM200 AND timeEnterAfter AND not daysForbiddenEntry THENSELLSHORT 1 CONTRACT AT MARKETENDIF// Stops et objectifsSET STOP pLOSS 1012/21/2020 at 7:44 PM #15477112/21/2020 at 9:51 PM #154782Le code correspond à ce que vous avez demandé. Sur l’image que vous avez posté, vous souhaitez prendre une position mais en ne respectant pas l’une de vos conditions initiale. Car vous souhaitez prendre une position de vente à découvert alors que le cours est supérieur à la moyenne mobile.
12/21/2020 at 10:15 PM #154785 -
AuthorPosts