Non entra in tutti i segnali …

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #254188 quote
    Mauro 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
    JS
    Participant
    Senior

    Ciao,

    A prima vista non vedo nulla di strano nel codice…

    Puoi fornire un esempio di alcuni segnali errati…?

    #254199 quote
    robertogozzi
    Moderator
    Master
    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
    LucasBest
    Participant
    Average
    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 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
    LucasBest
    Participant
    Average
    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
    #254217 quote
    robertogozzi
    Moderator
    Master
    Non è molto chiaro quali siano le condizioni. Ad esempio, per entrare LONG quale deve essere l’insieme delle condizioni?
    #254222 quote
    Mauro 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.

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 M
2 months ago.

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