trading in giorni specifici

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #43111 quote
    Fabio81
    Participant
    Average

    Ciao a tutti ho scritto questo codice per operare solo in un giorno specifico ma mi da errore di sintassi,sapete dirmi cosa va corretto?
    Grazie

    
    daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 2 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 4 OR OpenDayOfWeek = 5 OR OpenDayOfWeek = 6
    #43113 quote
    Canale di Fill By Filippo
    Participant
    Senior

    IF C1 and dayofweek <>0 THEN

    BUY 1 CONTRACT AT MARKET

    ENDIF

    Ciao, nell’esempio sopra voglio il TS entri buy al verificarsi della condizione C1 in tutti i giorni della settimana tranne la domenica. Molto utile, perchè la domenica sera spesso molti strumenti aprono in gap, ma sopratutto perchè lo spread è altissimo. Puoi mettere semplicemente, dayofweek=1 e aprirà solo il lunedi, 2 martedi, ecc…

    Spero di esserti stato utile…

    Buon trading Fill

    #43114 quote
    Fabio81
    Participant
    Average

    ti ringrazio gentilissimo.

    vorrei andare long il venerdi (dayofweek=5) a condizione che la candela del giovedì sia rossa, ma mi sto tirando quadrato.

    #43118 quote
    Canale di Fill By Filippo
    Participant
    Senior

    // Condizioni per entrare su posizioni long
    c1 = (DClose(0) < DOpen(0))

    IF c1 and dayofweek=5 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    #43119 quote
    Fabio81
    Participant
    Average

    Grazie Fill

    #44350 quote
    andreag76
    Participant
    Average

    Grazie Fill, serviva anche a me

    #44356 quote
    andreag76
    Participant
    Average

    Scusate per entrare se il prezzo apre sopra il massimo di ieri è giusta questa o mi considera tutte le condizioni contemporaneamente o solo la prima?

     

    // Condizioni per entrare su posizioni long ;

    c1 = (DOpen(1) > DHigh(5))
    c1 = (DOpen(2) > DHigh(1))
    c1 = (DOpen(3) > DHigh(2))
    c1 = (DOpen(4) > DHigh(3))
    c1 = (DOpen(5) > DHigh(4))

     

    IF c1 and dayofweek <>0 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    #44765 quote
    Leonida1984
    Participant
    Average

    // Condizioni per entrare su posizioni long
    c1 = (DClose(0) < DOpen(0))

    IF c1 and dayofweek=5 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF

    Con Prorealtime, l’apertura delle posizioni è sempre all’apertura della candela successiva in cui si verificano le condizioni di setup. Ecco perchè, se l’intento è quello di aprire una posizione il venerdì mattina all’apertura,

    la condizione corretta è DAYOFWEEK= 4. Il sistema quando la candela del giovedì è rossa, inserisce un ordine in apertura della candela del venerdì.

    Buonagiornata.

    #44766 quote
    Leonida1984
    Participant
    Average

    Se vuoi entrare quando il prezzo apre sopra il massimo di ieri, e quindi farlo in time frame intraday, basta porre la seguente condizione

    C1=DOPEN(0) > DHIGH(1) ovvero se l’open di oggi è maggiore del massimo di ieri.

    IF C1 THEN

    BUY AT MARKET

    ENDIF

    #64696 quote
    Fabio81
    Participant
    Average

    ciao a tutti , per operare in giorni specifici della settimana il codice è dayofweek = …..

    se invece si vuole operare uno specifico giorno lavorativo del mese , se è fattibile come si scrive?

    #64702 quote
    robertogozzi
    Moderator
    Master

    Basta che scegli il giorno che vuoi e verifichi che sia tra 1 e 5, cioè tra lunedì e venerdì.

    #64703 quote
    Fabio81
    Participant
    Average

    Ciao Roberto , Non vorrei prendere in considerazione un giorno della settimana , ma un giorno del mese.

    Per capire meglio io vorrei ad esempio testare il ventesimo giorno lavorativo di ogni mese , nell’arco dell’anno , è possibile una cosa del genere?

    #64870 quote
    robertogozzi
    Moderator
    Master

    Questo è il codice:

    IF OpenMonth <> OpenMonth[1] THEN
       GiornoFeriale = 0
    ENDIF
    IF OpenDayOfWeek >= 1 AND OpenDayOfWeek <= 5 AND IntraDayBarIndex = 0 THEN
       GiornoFeriale = GiornoFeriale + 1
    ENDIF

    usando IF puoi verificare il numero del GiornoFeriale secondo le tue preferenze, per il ventesimo giorno feriale

    IF Tue_Condizioni AND GiornoFeriale = 20 THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF

    Verificalo e fammi sapere.

    #64930 quote
    Fabio81
    Participant
    Average

    Grazie mille funziona.   So che magari è una rottura , ma quando hai un attimo di tempo ,  puoi spiegarmi il significato dei  passaggi che hai fatto così riesco  a comprendere la logica di programmazione.

    #64933 quote
    robertogozzi
    Moderator
    Master
    IF OpenMonth <> OpenMonth[1] THEN                                            //Se il mese della barra attuale è diverso da quello della barra precedente significa che siamo alla prima barra del mese...
       GiornoFeriale = 0                                                         //... per cui dobbiamo ricominciare da 0 a contare i giorni lavorativi
    ENDIF
    IF OpenDayOfWeek >= 1 AND OpenDayOfWeek <= 5 AND IntraDayBarIndex = 0 THEN   //Se siamo tra lunedì (1) e venerdì (5) ed è la prima barra del giorno...
       GiornoFeriale = GiornoFeriale + 1                                         //... significa che è iniziato un nuovo giorno lavorativo.
    ENDIF

    Spero sia sufficientemente chiaro.

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

trading in giorni specifici


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Fabio81 @fabio81 Participant
Summary

This topic contains 15 replies,
has 5 voices, and was last updated by Fabio81
7 years, 11 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 08/13/2017
Status: Active
Attachments: No files
Logo Logo
Loading...