Non entra in tutti i segnali …

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #254188 quote
    Mauro MMauro M
    Participant
    New

    Idea semplice se oggi durante la giornata supera al ribasso il minimo di dieir entra long oggi al supermercato del massimo di ieri. Time frime 5 minuti.

    Ho messo X1 e X2 se no mi entra lunedì sulla candela della domenica. Il problema è che non mi fa le entrate su tutti i segnali validi. Non capisco dove possa stare l’errore

     

    DEFPARAM CumulateOrders = False
    DEFPARAM PreLoadBars = 2000

    // — PARAMETRI —
    // Stop Loss e Take Profit in punti
    MyStop = 100
    MyTarget = 210

    // Orario di fine giornata per chiudere la posizione il giorno successivo
    // (Modifica 220000 con l’orario di chiusura del tuo mercato, es: 173000 per azioni IT)
    OrarioChiusura = 220000

    // — VARIABILI DI RIFERIMENTO —
    IeriMax = DHigh(1)
    IeriMin = DLow(1)

    // — LOGICA DI INGRESSO —

    // 1. SHORT: Se il prezzo supera il massimo di ieri, piazza ordine di vendita sul minimo di ieri
    // L’ordine è di tipo STOP perché vendiamo a un prezzo più basso dell’attuale
    IF High > IeriMax AND Not OnMarket THEN
    SELLSHORT 1 CONTRACT AT IeriMin STOP
    ENDIF

    // 2. LONG: Se il prezzo rompe il minimo di ieri, piazza ordine di acquisto sul massimo di ieri
    // L’ordine è di tipo STOP perché compriamo a un prezzo più alto dell’attuale
    IF Low < IeriMin AND Not OnMarket THEN
    BUY 1 CONTRACT AT IeriMax STOP
    ENDIF

    // — GESTIONE STOP E TARGET —
    SET STOP PLOSS MyStop
    SET TARGET PPROFIT MyTarget

    // — USCITA TEMPORALE (Durata: un giorno in più) —
    // Se siamo a mercato e la data corrente è diversa dalla data di ingresso
    // significa che siamo nel “giorno successivo”. Chiudiamo a fine giornata.
    IF OnMarket AND (Date <> Date[BarIndex – TradeIndex]) THEN
    IF Time >= OrarioChiusura THEN
    SELL AT MARKET
    EXITSHORT AT MARKET
    ENDIF

    #254191 quote
    JSJS
    Participant
    Master

    Ciao,

    A prima vista non vedo nulla di strano nel codice…

    Puoi fornire un esempio di alcuni segnali errati…?

    #254199 quote
    robertogozzirobertogozzi
    Moderator
    Legend
    Forse questo è quello che vuoi:
    DEFPARAM CumulateOrders = False
    DEFPARAM PreLoadBars = 2000
    
    // — PARAMETRI —
    // Stop Loss e Take Profit in punti
    MyStop = 100
    MyTarget = 210
    
    // Orario di fine giornata per chiudere la posizione il giorno successivo
    // (Modifica 220000 con l’orario di chiusura del tuo mercato, es: 173000 per azioni IT)
    OrarioChiusura = 220000
    
    // — VARIABILI DI RIFERIMENTO —
    IeriMax = DHigh(1)
    IeriMin = DLow(1)
    
    IF Time >= 220000 THEN
       IeriMaxFlag = 0
       IeriMinFlag = 0
    ELSE
       IF High > IeriMax THEN
          IeriMaxFlag = 1
       ENDIF
       IF Low  < IeriMin THEN
          IeriMinFlag = 1
       ENDIF
    ENDIF
    
    // — LOGICA DI INGRESSO —
    
    // 1. SHORT: Se il prezzo supera il massimo di ieri, piazza ordine di vendita sul minimo di ieri
    // L’ordine è di tipo STOP perché vendiamo a un prezzo più basso dell’attuale
    IF High > IeriMax AND IeriMinFlag AND Not OnMarket THEN
       SELLSHORT 1 CONTRACT AT IeriMin STOP
    ENDIF
    
    // 2. LONG: Se il prezzo rompe il minimo di ieri, piazza ordine di acquisto sul massimo di ieri
    // L’ordine è di tipo STOP perché compriamo a un prezzo più alto dell’attuale
    IF Low < IeriMin AND IeriMaxFlag AND Not OnMarket THEN
       BUY 1 CONTRACT AT IeriMax STOP
    ENDIF
    
    // — GESTIONE STOP E TARGET —
    SET STOP PLOSS MyStop
    SET TARGET PPROFIT MyTarget
    
    // — USCITA TEMPORALE (Durata: un giorno in più) —
    // Se siamo a mercato e la data corrente è diversa dalla data di ingresso
    // significa che siamo nel "giorno successivo". Chiudiamo a fine giornata.
    IF OnMarket AND (Date <> Date[BarIndex - TradeIndex]) THEN
       IF Time >= OrarioChiusura THEN
          SELL AT MARKET
          EXITSHORT AT MARKET
       ENDIF
    ENDIF
    //graphonprice Dhigh(1) coloured("Blue")
    //graphonprice Dlow(1)  coloured("Red")
    //graph (High > IeriMax) OR (Low < IeriMin)
    //graph IeriMinFlag
    //graph IeriMaxFlag
    Iván González thanked this post
    #254200 quote
    LucasBestLucasBest
    Participant
    Senior
    DEFPARAM CumulateOrders = False
    DEFPARAM PreLoadBars = 2000
    
    // --- PARAMÈTRES ---
    MyStop         = 100       // stop loss en points
    MyTarget       = 210       // take profit en points
    OrarioChiusura = 220000    // heure de clôture le jour suivant (ex: 220000)
    
    // --- RÉFÉRENCES JOURNALIÈRES ---
    IeriMax = DHigh(1)         // plus haut d'hier
    IeriMin = DLow(1)          // plus bas d'hier
    
    // --- MÉMO DATE D'ENTRÉE ---
    ONCE EntryDate = 0
    
    // Quand on ouvre une position (transition pas-en-position -> en position)
    IF OnMarket AND NOT OnMarket[1] THEN
    EntryDate = Date
    ENDIF
    
    // Filtre optionnel : on n'utilise "hier" que si c'est un jour de semaine (1 à 5)
    // -> évite de baser les niveaux sur une éventuelle bougie de dimanche
    IeriValide = (DayOfWeek[1] >= 1 AND DayOfWeek[1] <= 5)
    
    // =============================
    // LOGIQUE D'ENTRÉE
    // =============================
    
    // 1) SHORT : si on dépasse le plus haut d'hier, on place un ordre short stop sur le plus bas d'hier
    IF IeriValide AND High > IeriMax AND NOT OnMarket THEN
    SELLSHORT 1 CONTRACT AT IeriMin STOP
    ENDIF
    
    // 2) LONG : si on casse le plus bas d'hier, on place un ordre long stop sur le plus haut d'hier
    IF IeriValide AND Low < IeriMin AND NOT OnMarket THEN
    BUY 1 CONTRACT AT IeriMax STOP
    ENDIF
    
    // =============================
    // GESTION STOP & TARGET
    // =============================
    SET STOP PLOSS   MyStop
    SET TARGET PPROFIT MyTarget
    
    // =============================
    // SORTIE TEMPORELLE : JOUR SUIVANT
    // =============================
    
    // Si on est en position et qu'on n'est plus à la date d'entrée,
    // alors on est au "jour suivant" : on ferme à partir de OrarioChiusura.
    IF OnMarket AND Date <> EntryDate THEN
    IF Time >= OrarioChiusura THEN
    SELL AT MARKET        // ferme une position longue si elle existe
    EXITSHORT AT MARKET   // ferme une position short si elle existe
    ENDIF
    ENDIF
    Iván González thanked this post
    #254208 quote
    Mauro MMauro M
    Participant
    New
    Vi ringrazio per l’interessamento ma anche nelle vostre modifiche non entra correttamente. Ad esempio dax 5 minuti lui dovrebbe entrare il 25 novembre 2025. Perché in quel giorno prima rompe i minimi del giorno precedente  e poi rompe i massimi….la rottura dei massimi sarebbe stato il mio ingresso ma non lo fa.
    #254211 quote
    LucasBestLucasBest
    Participant
    Senior
    DEFPARAM CumulateOrders = False
    DEFPARAM PreLoadBars = 2000
    
    // --- PARAMÈTRES ---
    MyStop         = 100       // stop loss en points
    MyTarget       = 210       // take profit en points
    OrarioChiusura = 220000    // heure de clôture le jour suivant (ex: 220000)
    
    // --- RÉFÉRENCES JOURNALIÈRES ---
    if opentime=010000 and (dayofweek <> 1 or (dayofweek<DAYOFWEEK[1])) THEN
    IeriMax = DHigh(1)         // plus haut d'hier
    IeriMin = DLow(1)          // plus bas d'hier
    
    GoLong = 0
    GoShort = 0
    endif
    
    // --- MÉMO DATE D'ENTRÉE ---
    ONCE EntryDate = 0
    IF OnMarket AND NOT OnMarket[1] THEN
    EntryDate = Date
    GoLong = 0
    GoShort = 0
    ENDIF
    
    // --- Filtre jour de la semaine
    
    IeriValide = (DayOfWeek[1] >= 1 AND DayOfWeek[1] <= 5)
    
    // =============================
    // LOGIQUE D'ENTRÉE
    // =============================
    
    If IeriValide AND High > IeriMax then
    GoShort = 1
    Endif
    
    If GoShort = 1 AND NOT OnMarket THEN
    SELLSHORT 1 CONTRACT AT IeriMin STOP
    ENDIF
    
    If IeriValide AND Low < IeriMin then
    GoLong = 1
    Endif
    
    If GoLong = 1 AND NOT OnMarket THEN
    BUY 1 CONTRACT AT IeriMax STOP
    ENDIF
    
    // =============================
    // GESTION STOP & TARGET
    // =============================
    SET STOP PLOSS   MyStop
    SET TARGET PPROFIT MyTarget
    
    // =============================
    // SORTIE TEMPORELLE : JOUR SUIVANT
    // =============================
    
    // Si on est en position et qu'on n'est plus à la date d'entrée,
    // alors on est au "jour suivant" : on ferme à partir de OrarioChiusura.
    IF OnMarket AND Date <> EntryDate THEN
    IF Time >= OrarioChiusura THEN
    SELL AT MARKET        // ferme une position longue si elle existe
    EXITSHORT AT MARKET   // ferme une position short si elle existe
    ENDIF
    ENDIF
    
    Graphonprice IeriMax
    Graphonprice IeriMin
    Graph GoLong
    
    robertogozzi and Iván González thanked this post
    Capture-decran-2025-12-03-135810.png Capture-decran-2025-12-03-135810.png
    #254217 quote
    robertogozzirobertogozzi
    Moderator
    Legend
    Non è molto chiaro quali siano le condizioni. Ad esempio, per entrare LONG quale deve essere l’insieme delle condizioni?
    #254222 quote
    Mauro MMauro M
    Participant
    New
    LucaSBest ha risolto grazie a tutti .
    robertogozzi thanked this post
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Non entra in tutti i segnali …


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Mauro M @mauro-m Participant
Summary

This topic contains 7 replies,
has 4 voices, and was last updated by Mauro MMauro M
9 months, 2 weeks ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 12/03/2025
Status: Active
Attachments: 1 files
ProRealCode ProRealCode
Loading...