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

Viewing 5 posts - 1 through 5 (of 5 total)
  • #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 10

     

     

     

    #240883

    Et je ne sais pas mais créer aussi une condition sur l’écart des deux médianes car si c’est mince ne pas trader

    #240887

    Ah j’oubliais, il faudrait après une vente chercher l’achat et vice versa….

    #240969

    Voici une explication et un exemple de code modifié incluant les conditions supplémentaires que vous avez mentionnées :

    1. 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.
    2. É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.
    3. Alternance des opérations : Après une vente, le système cherche un achat, et inversement.
    • É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).
    • Zone de neutralité :
      • Les opérations se font uniquement si le prix est clairement au-dessus ou en dessous des deux médianes.
    #240970

    merci ivan

     

Viewing 5 posts - 1 through 5 (of 5 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login