condition au dessus d’une zone définie pour backtester
Forums › ProRealTime forum Français › Support ProOrder › condition au dessus d’une zone définie pour backtester
- This topic has 4 replies, 2 voices, and was last updated 5 days ago by Atemi19.
-
-
11/29/2024 at 11:42 AM #240880
Bonjour, je voudrais backtester ma stratégie en scalping sur session Londres et avoir pas mal d’historique pour pouvoir l’appliquer manuellement.
Et je n’arrive pas à trouver certaines conditions pour que le robot l’applique correctement car j’ai deux médianes de différents paramétrages et je me fiche si une est dessus ou en dessous car l’intérieur est une zone de neutralité et la sortie constitue un signal (achat au dessus et vente en dessous). Je vous met le code et les images.
Cordialement.
// 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 = 111500// Conditions pour ouvrir une position acheteuse
indicator1 = DonchianChannelCenter[4]
indicator2 = DonchianChannelCenter[15]
c1 = (indicator1 > indicator2)
indicator3 = DonchianChannelCenter[4]
c2 = (indicator3 CROSSES OVER 19265.75)
indicator4 = DonchianChannelCenter[4]
indicator5 = DonchianChannelCenter[15]
c3 = (indicator4 < indicator5)
indicator6 = DonchianChannelCenter[15]
c4 = (close CROSSES OVER indicator6)IF c1 OR c2 OR c3 OR c4 THEN
BUY 1 SHARES AT MARKET
ENDIF// Conditions pour ouvrir une position en vente à découvert
indicator7 = DonchianChannelCenter[4]
indicator8 = DonchianChannelCenter[15]
c5 = (indicator7 > indicator8)
indicator9 = DonchianChannelCenter[4]
c6 = (close CROSSES UNDER indicator9)
indicator10 = DonchianChannelCenter[4]
indicator11 = DonchianChannelCenter[15]
c7 = (indicator10 < indicator11)
indicator12 = DonchianChannelCenter[15]
c8 = (close CROSSES UNDER indicator12)IF c5 OR c6 OR c7 OR c8 THEN
SELLSHORT 1 SHARES AT MARKET
ENDIF// Stops et objectifs
SET STOP pLOSS 8
SET TARGET pPROFIT 1011/29/2024 at 11:48 AM #24088311/29/2024 at 12:20 PM #24088712/02/2024 at 10:22 AM #240969Voici une explication et un exemple de code modifié incluant les conditions supplémentaires que vous avez mentionnées :
- Zone de neutralité : La zone entre les deux médianes est considérée comme neutre, et les opérations ne se font que lorsque le prix sort de cette zone.
- Écart entre les deux médianes : Une condition est ajoutée pour éviter de trader si l’écart entre les deux médianes est inférieur à un seuil défini.
- Alternance des opérations : Après une vente, le système cherche un achat, et inversement.
123456789101112131415161718192021222324252627282930313233343536373839// Paramètres de configurationDEFPARAM CumulateOrders = False // Ne pas cumuler les positionsDEFPARAM FLATBEFORE = 090000 // Heure de début des opérationsDEFPARAM FLATAFTER = 111500 // Heure de fin des opérations// Seuil pour la différence minimale entre les médianesdifferenceThreshold = 5// Calcul des médianesmedian1 = DonchianChannelCenter[4]median2 = DonchianChannelCenter[15]medianDiff = ABS(median1 - median2)// Signaux d'achat et de vente basés sur la sortie de la zone de neutralitébuySignal = (close > median1 AND close > median2 AND medianDiff > differenceThreshold)sellSignal = (close < median1 AND close < median2 AND medianDiff > differenceThreshold)// Alternance des opérationsonce lastTrade = 0 // 0 : aucune opération, 1 : dernier achat, -1 : dernière venteIF buySignal AND lastTrade <> 1 THENBUY 1 SHARES AT MARKETlastTrade = 1ENDIFIF sellSignal AND lastTrade <> -1 THENSELLSHORT 1 SHARES AT MARKETlastTrade = -1ENDIF// Configuration des stops et objectifsSET STOP pLOSS 8SET TARGET pPROFIT 10graphonprice median1 coloured("blue")graphonprice median2 coloured("red")graph buysignal coloured("green")graph sellsignal coloured("red")- Écart entre les médianes :
medianDiff = ABS(median1 - median2)
calcule la différence absolue entre les deux médianes.- Cette différence est vérifiée avec
medianDiff > differenceThreshold
pour éviter de trader lorsque l’écart est trop faible.
- Alternance des opérations :
- La variable
lastTrade
garantit qu’il n’y a pas d’opérations consécutives du même type (achat ou vente). - Elle est mise à jour après chaque opération (
lastTrade = 1
pour un achat,lastTrade = -1
pour une vente).
- La variable
- Zone de neutralité :
- Les opérations se font uniquement si le prix est clairement au-dessus ou en dessous des deux médianes.
12/02/2024 at 10:40 AM #240970 -
AuthorPosts
Find exclusive trading pro-tools on