Stop position sur base de timeframe inférieur

Forums ProRealTime forum Français Support ProOrder Stop position sur base de timeframe inférieur

Viewing 3 posts - 1 through 3 (of 3 total)
  • #243888

    Bonjour à tous,

    C’est ici le premier message que je poste, je suis débutant en programmation PROREALTIME (et programmation tout court d’ailleurs). J’aime assez le code que je mets ci-dessous mais souhaiterais l’améliorer de la façon suivante (j’ai vu les topics sur le sujet timeframe inférieur mais je suis tout de même bloqué). Ci-après mon problème : je souhaiterais inclure une instruction dans le code ci-dessous de façon à ce que si la position ouverte perd X points (30 par exemple) le robot trader coupe la position ET je souhaiterais que cela se base sur la cloture prix en 5min (mon code fonctionnant sur le H1 NASDAQ). J’ai essayé avec ce bout de code mais j’ai un message d’erreur (“toutes les unités de temps appelées dans le code doivent être des multiples de l’unité de dans laquelle vous exécutez votre stratégie”, que je ne comprends pas car 5min reste un multiple de 60min…) :

    // Vérification de la perte maximale

    timeframe(5 MINUTE, updateonclose)

    IF longonmarket THEN

    IF (entryPrice – close) >= maxLoss THEN

    SELL 1 CONTRACT AT MARKET

    ENDIF

    ENDIF

     

    Ci-dessous le code sans ce morceau :

    // Définition des paramètres Ichimoku
    kijunPeriod = 26
    tenkanPeriod = 9
    senkouSpanPeriod = 52
    protectionPips = 10 // Protection contre les faux signaux
    minCloudThickness = 5 // Épaisseur minimale du nuage pour valider un trade
    maxLoss = 30 // Seuil de perte maximale pour couper une position

    cloudTop = max(senkouSpanA, senkouSpanB)
    cloudBottom = min(senkouSpanA, senkouSpanB)

    // Protection contre les faux signaux et marchés en range
    cloudThickness = abs(senkouSpanA – senkouSpanB)
    validCloud = cloudThickness > minCloudThickness

    // Vérification qu’aucune position similaire n’est ouverte et que la traversée est validée
    positionOpen = (longonmarket OR shortonmarket)

    // Variable persistante pour suivre la dernière direction du trade
    ONCE lastTradeDirection = 0

    // Variable persistante pour stocker le prix d’entrée de la position actuelle
    ONCE entryPrice = 0

    // Conditions d’achat et de vente
    buySignal = validCloud AND close > cloudTop + protectionPips AND NOT (positionOpen AND lastTradeDirection = 1)
    sellSignal = validCloud AND close < cloudBottom – protectionPips AND NOT (positionOpen AND lastTradeDirection = -1)

    // Ouverture de positions avec mise à jour de la direction du trade
    IF buySignal THEN
    BUY 1 CONTRACT AT MARKET
    SET STOP LOSS KijunSen
    lastTradeDirection = 1 // Enregistrer que le dernier trade était un achat
    entryPrice = close // Mettre à jour le prix d’entrée
    ENDIF

    IF sellSignal THEN
    SELLSHORT 1 CONTRACT AT MARKET
    SET STOP LOSS KijunSen
    lastTradeDirection = -1 // Enregistrer que le dernier trade était une vente
    entryPrice = close // Mettre à jour le prix d’entrée
    ENDIF

    // Vérification de la perte maximale
    IF longonmarket AND (entryPrice – close) >= maxLoss THEN
    SELL 1 CONTRACT AT MARKET
    ENDIF

    IF shortonmarket AND (close – entryPrice) >= maxLoss THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    // Mise à jour du stop-loss basé sur le Kijun
    IF longonmarket THEN
    SET STOP LOSS KijunSen
    ENDIF

    IF shortonmarket THEN
    SET STOP LOSS KijunSen
    ENDIF

     

    Je joins une capture du résultat de la stratégie.

    Merci à tous par avance pour votre aide ! 🙂

    Xav

    #243891

    ET COMME CECI

    1 user thanked author for this post.
    #243917

    Un grand merci fifi743 ! 🙂

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

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