Trading in base all’ora

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #231367 quote
    AragornaAragorna
    Participant
    Average

    Buongiorno, ho un dubbio da dipanare.

    vorrei fare un trade system che entri long a mercato ogni venerdì a TIME=201500

     

    ora come condizione quando c’è il cambio dell’ora negli USA ma qua in italia ancora no, è corretto usare queste 2 condizioni? anticipare di un’ora l’ingresso

    C1=(month = 3) and (day=>9 and day=<24)
    C1=TIME=191500

     

    inoltre vorrei vendere 15 minuti dopo l’apertura del primo giorno settimanale, ossia il lunedì. Se un future apre alle 2 di notte, che venda alle 2.15 per esempio.

    ma se ci fosse una variazione e dovesse aprire per esempio alle 11 di mattina, come faccio a dirgli di vendere alle 11.15? e nel caso non fosse aperto il mercato di lunedì, fare la stessa cosa il martedì.

    grazie mille in anticipo a chi può aiutarmi

     

    Alessio

    #231376 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    All’inizio di ogni anno aggiorna le 4 date (il cambio dell’ora avviene sempre di Domenica).

    Questo è il codice per il cambio dell’ora, utilizza la variabile TradeTime per avere l’ora corretta:

    /*
    .                             15:00 & 09:00
    .      USAstart   = 20240310 15:00 & 10:00 (5 ore)
           EUstart    = 20240331 16:00 & 10:00   (6 ore)
           USAend     = 20241103 16:00 & 09:00 (7 ore)
           EUend      = 20241027 15:00 & 09:00   (6 ore)
    */
    ONCE TradeTime = 201500
    ONCE USAstart  = 20240310
    ONCE USAend    = 20241103
    ONCE EUstart   = 20240331
    ONCE EUend     = 20241027
    ONCE Flag      = 0
    IF Date >= USAstart AND Flag = 0 THEN
    TradeTime = TradeTime - 010000
    Flag = 1
    ENDIF
    IF Date >= EUstart AND Flag = 1 THEN
    TradeTime = TradeTime + 010000
    Flag = 2
    ENDIF
    IF Date >= USAend AND Flag = 2 THEN
    TradeTime = TradeTime + 010000
    Flag = 3
    ENDIF
    IF Date >= EUend AND Flag = 3 THEN
    TradeTime = TradeTime - 010000
    Flag = 0
    ENDIF

    Questo è il codice per entrare 15 minuti dopo l’apertura, devi modificare te, secondo lo strumento usato, l’orario (nell’esempio alle 02:15):

    DEFPARAM CumulateOrders = false
    ONCE EntryTime = 021500
    ONCE Flag      = 0
    IF DayOfWeek < DayOfWeek[1] THEN
    Flag = 0
    ENDIF
    IF OpenDayOfWeek >= 1 AND Flag = 0 THEN
    IF Time = EntryTime THEN
    SELLSHORT 1 Contract at Market
    Flag = 1
    ENDIF
    ENDIF
    SET STOP   pLOSS   100
    SET TARGET pPROFIT 600
    effegi thanked this post
    #231560 quote
    AragornaAragorna
    Participant
    Average

    Grazie Roberto. Se la giornata di lunedì fosse chiusa, e riprendesse il martedì, come faccio a dirgli di chiudermi la posizione ugualmente 10 minuti dopo l’apertura?

    ad esempio il future della soia apre alle 2 del mattino e chiude alle 20.15 di sera. ma ho visto che è capitato che aprisse la giornata alle 11. in quel caso come gli dico che chiuda ugualmente e non mi trascini la posizione per giorni?

    ultima domanda, ho provato a far partire un trading system di prova, sempre sulla soia, ma non mi trovo con i giorni della settimana. nel backtest il lunedì melo dà come Zero, nel live me lo dà come uno. qualcosa mi sfugge.

    #232553 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Questo è il codice:

    /*
    .                             15:00 & 09:00
    .      USAstart   = 20240310 15:00 & 10:00 (5 ore)
    EUstart    = 20240331 16:00 & 10:00   (6 ore)
    USAend     = 20241103 16:00 & 09:00 (7 ore)
    EUend      = 20241027 15:00 & 09:00   (6 ore)
    */
    ONCE TradeTime = 201500
    ONCE USAstart  = 20240310
    ONCE USAend    = 20241103
    ONCE EUstart   = 20240331
    ONCE EUend     = 20241027
    ONCE Flag      = 0
    IF Date >= USAstart AND Flag = 0 THEN
    TradeTime = TradeTime - 010000
    Flag = 1
    ENDIF
    IF Date >= EUstart AND Flag = 1 THEN
    TradeTime = TradeTime + 010000
    Flag = 2
    ENDIF
    IF Date >= USAend AND Flag = 2 THEN
    TradeTime = TradeTime + 010000
    Flag = 3
    ENDIF
    IF Date >= EUend AND Flag = 3 THEN
    TradeTime = TradeTime - 010000
    Flag = 0
    ENDIF
    //
    IF Time = TradeTime AND OpenDayOfWeek = 5 AND Not OnMarket THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    IF OpenDayOfWeek >= 1 AND LongOnMarket THEN
    SELL AT MARKET
    ENDIF
    SET STOP   pLOSS   100
    SET TARGET pPROFIT 600
Viewing 4 posts - 1 through 4 (of 4 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

Trading in base all’ora


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Aragorna @aragorna Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by robertogozzirobertogozzi
2 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 04/10/2024
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...