Acheter à l’ouverture de la bougie sur condition
Forums › ProRealTime forum Français › Support ProOrder › Acheter à l’ouverture de la bougie sur condition
- This topic has 9 replies, 2 voices, and was last updated 1 year ago by GraHal.
-
-
10/20/2023 at 4:30 PM #222689
Bonjour à tous,
voici un code simple de backtest mais il achète à l’ouverture de la bougie suivante, or je voudrai que :
Si la condition C1 est réalisée alors l’achat s’effectue au même moment (pas au close de la bougie en cours, ni à l’open de la bougie suivante)
12345678910111213141516171819// Définition des paramètres du codeDEFPARAM CumulateOrders = False // Cumul des positions désactivé// Conditions pour ouvrir une position acheteuseignored, indicator1, ignored = CALL "BF SCALP1 Long(Memo meta)"[70](open)c1 = (indicator1 >= 0.5)IF c1 THENBUY 1 CONTRACT AT MARKETENDIF// Conditions pour fermer une position acheteuseignored, ignored, indicator2 = CALL "BF SCALP1 Long(Memo meta)"[70](open)c2 = (indicator2 >= 0.5)IF c2 THENSELL AT MARKETENDIFD’avance merci
10/20/2023 at 5:09 PM #222690Le plus proche de ce que vous pouvez obtenir est d’exécuter la stratégie sur une période d’une seconde.
Le code de stratégie est lu à la fin de chaque barre (toutes les plateformes de trading sont comme ça) et ainsi votre code sera lu et exécuté toutes les 1 seconde barre.
1 user thanked author for this post.
10/20/2023 at 5:24 PM #222691Merci mais ce n’est pas ce que je cherche.
Donc je reformule si ce n’était pas clair:
l’état de la condition C1 est obtenu à l’ouverture d’une bougie (1 minutes, 1 heure, 1 jour) si elle est réalisée, alors je veux acheter dans la foulée (pendant la même bougie et avant sa fermeture)
Comment modifier mon code pour réaliser cela svp ?
10/20/2023 at 6:16 PM #222697l’état de condition C1 est obtenu à l’ouverture d’une bougie
Cela peut apparaître comme ci-dessus car la transaction est ouverte au début d’une bougie, mais le code est lu/exécuté à la clôture de la bougie précédente. Il n’y a que quelques millisecondes entre la fermeture de la mesure 1 et l’ouverture de la mesure 2.
Si vous organisez votre code comme ci-dessous, toutes les secondes, le code s’exécutera et vérifiera (sur une période de 5 minutes) si C1 = True et/ou C2 = True
Dormez dessus et vous verrez qu’utiliser un délai d’une seconde pour l’exécution du code de stratégie est le seul moyen d’obtenir ce que vous voulez.
1234567891011121314151617181920// Definition of DEFPARAM code parametersCumulateOrders = False // Cumulation of positions disabledTimeframe (5 minutes)// Conditions for opening a long positionignored, indicator1, ignored = CALL “BF SCALP1 Long(Memo meta)”[70](open)// Conditions for closing a long positionignored, ignored, indicator2 = CALL “BF SCALP1 Long(Memo meta)”[70](open)c1 = (indicator1 >= 0.5)c2 = (indicator2 >= 0.5)Timeframe (1 second)IF c1 THENBUY 1 CONTRACT AT MARKETENDIFIF c2 THENSELL AT MARKETENDIF1 user thanked author for this post.
10/21/2023 at 4:33 PM #222750Merci )) mais cela ne fonctionne pas (en mode trading automatique un message d’erreur s’affiche: “erreur interne ..” )
Je reformule ma demande: imaginons une stratégie basée sur le RSI (14). c1=RSI (14) > x
Or la valeur du RSI varie pendant toute la durée de la bougie du timeframe choisi.
Ce que je veux c’est à l’open mémoriser la valeur de RSI / voir si C1 est réalisée et si oui alors, acheter immédiatement.
D’avance merci
10/21/2023 at 8:43 PM #222757BF wrote:
an error message is displayed: “internal error..”)
You should explore what this internal error is.
The code is read when the bars close (not when the bars open), so the closest to what you describe is to use a 1 second delay in your strategy. I know I’m repeating myself, but I repeat it because it’s the truth! 🙂
There is no magic way to buy halfway through a candle or bar formation. Surely 1 second (between the opening and closing of a 1 second bar) is as close to immediate as it makes no difference?
We can set pending orders for Stop Loss and Take Profit which could be executed when a bar is formed. Nous ne pouvons pas tester quand une condition est vraie (afin d’exécuter une transaction)
while a bar is forming unless you use multiple time frames as I suggested above (C1 = True during a 5 minute bar and a buy executed using a bar of 1 second).
(If anyone else wants to chime in, feel free (as always), I’m just trying to offer what I can so people can move forward and be ready for Monday’s action! 😉 )
1 user thanked author for this post.
10/21/2023 at 9:01 PM #222758Vous pouvez définir un ordre en attente pour un stop d’achat ou une limite d’achat à un certain prix, mais ce type d’ordre en attente ne fonctionnerait pas pour tester si une condition est vraie. Le code Starategy doit être exécuté pour tester une Condition = True. Le code est exécuté à la fin d’une barre et si la condition est vraie, la transaction est exécutée à l’ouverture de la barre suivante.
1 user thanked author for this post.
10/21/2023 at 9:06 PM #22275910/26/2023 at 2:47 PM #222959Merci GraHal, le temps de vérification à été long.
Je vais continuer à chercher car la solution que vous me donnez malheureusement ne me convient pas.
Je vais faire un autre post sur le thème “Comment lancer un ordre d’achat (ou de vente) pendant le cours d’une bougie sur le signal d’un indicateur”
Encore merci pour votre aide
1 user thanked author for this post.
10/26/2023 at 2:53 PM #222960 -
AuthorPosts
Find exclusive trading pro-tools on