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.
Bonjour,
Voici le code avec des horaires de trading bornées de 9h à 17h :
// Définition des paramètres du code
DEFPARAM 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ée
noEntryAfterTime = 170000
timeEnterAfter = time < noEntryAfterTime
// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
// Conditions pour ouvrir une position acheteuse
indicator1 = RSI[2](close)
c1 = (indicator1 CROSSES OVER 10)
IF c1 AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator2 = RSI[2](close)
c2 = (indicator2 CROSSES UNDER 90)
IF c2 AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 10
Au temps pour moi, j’avais oublié la condition avec la MM 200 :
// Définition des paramètres du code
DEFPARAM 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ée
noEntryAfterTime = 170000
timeEnterAfter = time < noEntryAfterTime
// Empêche le système de placer de nouveaux ordres sur les jours de la semaine spécifiés
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
MM200 =Average[200](close)
// Conditions pour ouvrir une position acheteuse
indicator1 = RSI[2](close)
c1 = (indicator1 CROSSES OVER 10)
IF c1 and close>MM200 AND timeEnterAfter AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Conditions pour ouvrir une position en vente à découvert
indicator2 = RSI[2](close)
c2 = (indicator2 CROSSES UNDER 90)
IF c2 and close<MM200 AND timeEnterAfter AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Stops et objectifs
SET STOP pLOSS 10
merci pour l’aide mais j’aimerais changer un truc dans le code car le point d’entré loin de ce que je voulais donc est ce possible d’avoir un point d’entré plus proche comme indiquer sur le screen ici dessous ?
Le 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.
Mais le prix doit être en dessous de mm 200 est pas de 10