ENTRATA LONG ALLA CANDELA DELLE 09

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #57230 quote
    Foffo84
    Participant
    Average

    Buongiorno.

    Ho un Ts che puo’ inserire ordini solo dalle ore 09 del mattino alle ore 21 della sera e mi entra in posizione al breakout di una media mobile a 26 periodi.

    Per l’uscita dalla posizione è impostato ad uscire dalla posizione al brek ribasso di una media 42 periodi.

    Per quanto riguarda l’uscita della posizione o lo stop è sempre presente, anche la notte, trattasi di cfd.

    Succede che il ts  durante la notte mi prenda lo stop o mi esce dalla posizione perche’ avviene il brek al ribasso della media.

    Come dire al Ts: Se alle ore 09:00 del mattino in aperura di candela, è il ts è flat (supponiamo che abbia preso lo stop nella notte e quindi non riesce ad entrare al break della media a 26 che avviene prima delle ore 09, in quanto puo’ inserire ordini solo dopo le ore 09 del mattino ) il prezzo è superiore alla media mobile 26 periodi entra long.

    Grazie a chi mi puo’ essere d’aiuto

    #57237 quote
    robertogozzi
    Moderator
    Master

    Buongiorno. Ho un Ts che puo’ inserire ordini solo dalle ore 09 del mattino alle ore 21 della sera e mi entra in posizione al breakout di una media mobile a 26 periodi. ……
    il prezzo è superiore alla media mobile 26 periodi entra long…..

    Quindi vuoi, sempre tra le 9 e le 21, che entri LONG non solo al breakout, ma anche se il breakout è già avvenuto prima delle 9, quindi non t’interessa più il breakout, basta che il prezzo sia superiore alla media a 26?

    Se è così basta che metti nella condizione per il BUY

    IF time >= 090000 AND time <= 210000 AND close > Average[26](close) THEN
    #57289 quote
    Foffo84
    Participant
    Average
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    
    // Impedisce al sistema di creare nuovi ordini per entrare a mercato o aumentare la taglia della posizione prima dell'orario specificato
    noEntryBeforeTime = 090000
    timeEnterBefore = time >= noEntryBeforeTime
    
    // Impedisce al sistema di piazzare nuovi ordini per entrare a mercato o aumentare la taglia della posizione dopo l'orario indicato
    noEntryAfterTime = 210000
    timeEnterAfter = time < noEntryAfterTime
    
    // Condizioni per entrare su posizioni long
    indicator1 = ExponentialAverage[26](close)
    c1 = (close[1] CROSSES OVER indicator1)
    
    IF c1 AND timeEnterBefore AND timeEnterAfter THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    indicator2 = ExponentialAverage[42](close)
    c2 = (close[1] CROSSES UNDER indicator2)
    
    IF c2 THEN
    SELL AT MARKET
    ENDIF
    
    // Stop e target
    SET STOP pLOSS 50
    SET TARGET pPROFIT 200
    

    Ciao Roberto. questo è il codice del ts.

    Supponiamo che il Ts mi entri in posizione durante il giorno e cioè ad esempio alle 14 del pomeriggio e durante la notte ci sono dei movimenti bruschi sui cfd che mi fanno scattare lo stop loss, il mattino alle ore 09:00 se il prezzo è superiore della media mobile a 26, il ts mi entra in posizione.

    Questo perchè se ad esempio il brek avviene alle ore 07:00 del mattino, il ts non lo legge, poiche’ è programmato ad inserire ordini solo dopo le ore 09:00

    Quindi io li vorrei dire, se sei flat e alle ore 09:00 del mattino si verifica la condizione che il prezzo è maggiore della media a 26 periodi entrami long. giustamente solo se è flat e cioè non è gia in posizione.

    Grazie tante sempre per gli aiuti che mi dai:)

    #57298 quote
    robertogozzi
    Moderator
    Master

    Basta aggiungere una variabile che chiamerò C1a, che sarà vera solo se l’orario è pari a 090000 e il prezzo è > della media.

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
     
    // Impedisce al sistema di creare nuovi ordini per entrare a mercato o aumentare la taglia della posizione prima dell'orario specificato
    noEntryBeforeTime = 090000
    timeEnterBefore = time >= noEntryBeforeTime
     
    // Impedisce al sistema di piazzare nuovi ordini per entrare a mercato o aumentare la taglia della posizione dopo l'orario indicato
    noEntryAfterTime = 210000
    timeEnterAfter = time < noEntryAfterTime
     
    // Condizioni per entrare su posizioni long
    indicator1 = ExponentialAverage[26](close)
    c1  = (close[1] CROSSES OVER indicator1)
    c1a = (close > indicator1) AND (time = noEntryBeforeTime)
     
    IF (c1 OR c1a) AND timeEnterBefore AND timeEnterAfter AND Not OnMarket THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
     
    // Condizioni per uscire da posizioni long
    indicator2 = ExponentialAverage[42](close)
    c2 = (close[1] CROSSES UNDER indicator2)
     
    IF c2 THEN
       SELL AT MARKET
    ENDIF
     
    // Stop e target
    SET STOP pLOSS 50
    SET TARGET pPROFIT 200

    Una domanda, perché alle righe 14 e 22 fai riferimento al prezzo di chiusura della barra precedente (close[1]) e non a quella appena chiusa (close o close[0])? Se è quello che vuoi puoi ovviamewnte variare anche la riga dove io ho aggiunto la variabile C1a, mettendoci CLOSE[1].

    #57305 quote
    Foffo84
    Participant
    Average

    Ciao Roberto grazie tante.

    Metto close[1] o meglio me lo mette prorealtime quando li dico che il prezzo in chiusura barra deve fare un break al rialzo/ribasso della media.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

ENTRATA LONG ALLA CANDELA DELLE 09


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Foffo84 @foffo84 Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by Foffo84
8 years, 1 month ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/04/2018
Status: Active
Attachments: No files
Logo Logo
Loading...