Code simple
Forums › ProRealTime forum Français › Support ProOrder › Code simple
- This topic has 6 replies, 2 voices, and was last updated 8 years ago by JC_Bywan.
-
-
10/30/2016 at 7:01 PM #15725
Bonjour,
Je voulais faire un système simple sans condition autre que le temps en journalier.
Acheter pour 10 000 euros d’actions à 9 h 03 et fermer la position à 17 h 27.
Le code ne marche pas. (ci-joint)
Je précise que les commandes ne fonctionnent pas non plus.
defparam flatafter =172700
defparam flatbefore = 090300123456789101112131415161718// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Conditions pour ouvrir une position acheteusec1=time > 090300IF c1 and not longonmarket THENBUY 10000 cash roundedup at marketENDIF// Conditions pour sortir une position acheteuseIF ONMARKET AND TIME>=172700 THENSELL AT MARKETENDIFMerci de votre aide.
10/30/2016 at 7:40 PM #15728>> Pour la clarté des messages sur les forums de ProRealCode, merci d’utiliser le bouton “insert PRT code” pour séparer la partie texte de la partie code, merci ! <<
Bonjour,
time sert à identifier non pas l’heure simple, mais l’heure de clôture d’une bougie, donc pour acheter à 9h03, il ne faut pas le faire avec un “time >090300”. Ecrit ainsi cela ne sélectionnera que la première bougie de clôture postérieure à 9h03, ce qui plus l’ut est grande, plus ladite clôture intervient tard après 9h03 (par exemple 9h05 en ut5, 10h en uth, fin de journée en ut jour…), puis ensuite classiquement l’achat ne se déclenche qu’à l’ouverture de la bougie suivante.
Pour acheter à 9h03, il faudrait être dans une ut suffisamment petite qui a une bougie qui clôture à 9h03 et sélectionner un time=090300 (pas >) pour que l’achat se déclenche à l’ouverture de la bougie suivante qui commence à 9h03
10/31/2016 at 9:41 AM #1574110/31/2016 at 10:06 AM #15742Pour passer un seul ordre par jour à 9h03, le faire avec une ut 3mn ou une ut1mn et un “time =” , pas un “time >”, sinon à garder une ut plus grande que le 3mn, telle que le 5mn, et à garder le “time>” qui fera son premier chat à 9h05, c’est tout à fait logique qu’après avoir vendu, on a à la fois les conditions “time>” et “not longonmarket” qui soient à nouveau respectées, et que ce morceau de code recommence à acheter.
Si on tient absolument à garder un “time>”, alors il faut flagger le fait d’avoir déjà passé un ordre dans la journée, et rajouter la vérification du flag pour empêcher d’en passer un deuxième, comme par exemple dans ce topic: http://www.prorealcode.com/topic/limite-le-trading-automatique-a-un-ordre-journalier/
(je prends celui-là parce qu’il ressort vite via recherche dans le site, mais de mémoire il y en a d’autres dans le forum)
10/31/2016 at 11:31 AM #15750Oui, j’ai lu le topic et j’ai essayé mais cela ne fonctionne pas même sur l’unité de temps de 5 mn.
Maintenant,il ne passe plus aucun ordres alors qu’avant il passait plusieurs ordres par jour.
J’ai fait des programmes assez complexes, et je n’arrive pas à faire un programme pour acheter sans conditions à 9 h 05 une seule fois par jour. C’est dingue.
1234567891011121314151617181920// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivédefparam flatbefore = 090500once achat = 0// Conditions pour ouvrir une position acheteuseIF time = 090500 and achat=0 and not longonmarket THENBUY 10000 cash roundedup at marketachat=1ENDIF// Conditions pour sortir une position acheteuseGSET STOP $LOSS 100SET TARGET $PROFIT 25010/31/2016 at 11:41 AM #15751finalement, cela a l’air de fonctionner.
123456789101112// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivédefparam flatbefore = 090000// Conditions pour ouvrir une position acheteuseonce achat = 0IF time = 090500 and achat = 0 and not longonmarket THENBUY 10000 cash roundedup at marketENDIF10/31/2016 at 12:23 PM #15752 -
AuthorPosts
Find exclusive trading pro-tools on