Orario di chiusura custom

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #103777 quote
    Giuliano_G
    Participant
    Average

    Buongiorno, in un sistema su DAX a 5 min ho inserito un filtro di controllo sulla close delle 22.00. In pratica il sistema apre posizioni se la chiusura delle 22.00 del giorno precedente è inferiore alla chiusura delle 22.00 del giorno prima ancora.

    Ho provato a codificare così ma è evidentemente errato perché il sistema non apre nessuna operazione. Qual è il modo corretto? Grazie

    If time = 220000 then
    ChiusuraGiornata = close
    endif
    FiltroTrend = ChiusuraGiornata[0] < ChiusuraGiornata[1]
    #103779 quote
    robertogozzi
    Moderator
    Master

    Su un TF a 5 minuti la riga 4 controlla la chiusura delle 22:00 con quella delle 21:55.

    Per riferirti alla chiusura daily devi usare DCLOSE(0) e DCLOSE(1), usando le parentesi tonde.

    #103783 quote
    Giuliano_G
    Participant
    Average

    Se metto DCLOSE al posto di close non apre lo stesso nessun operazione. Se confronto le DCLOSE (0) e (1) non ottengo quello mi serve perché la DCLOSE corrisponde al prezzo alle 00.00. Mi occorre confrontare tra loro i prezzi delle ore 22.00 dei diversi giorni.

    #103787 quote
    robertogozzi
    Moderator
    Master

    Per sapere perché non ti apre posizioni occorre il codice completo.

    Per avere il prezzo delle 22 del giorno precedente occorre salvarlo in una variabile da confrontare il giorno dopo, appena prima di essere aggiornata:

    Once close22 = 0
    If time = 220000 Then
       If close < close22 Then
          Buy 1 contract at market
       Endif
       close22 = close
    Endif
    #103792 quote
    Giuliano_G
    Participant
    Average
    If time >= 110000 and time <= 130000 and CondizioneLong then
    buy at market
    set stop ploss 200
    set target pprofit 120
    endif
    If time = 214500 then
    sell at market
    endif

    Il codice è questo, se tra le 1100 e le 1300 è verificata una condizione entra in posizione. Vorrei aggiungere quel filtro, cioè se la quotazione delle 22.00 del giorno prima è inferiore alla quotazione delle 22.00 del giorno prima ancora

    #103800 quote
    robertogozzi
    Moderator
    Master

    Mi pare che il tuo codice debba aprire posizioni lunghe, se le condizioni sono  verificate.

    Non capisco perché non te le apra, hai verificato quelle condizioni sul grafico?

    #103802 quote
    Giuliano_G
    Participant
    Average

    Così come lo vedi il codice funziona, è il sistema di base. Tentavo di aggiungere il controllo delle 22.00 del giorno prima usando il primo codice che ho postato e non apre nulla. Come inserisco il codice che mi ha postato tu?

    #103808 quote
    robertogozzi
    Moderator
    Master

    Non l’ho provato:

    Once close22 = 0
    If time = 220000 Then
       If close < close22 Then
          CondizioneLong = true
       else
          CondizioneLong = false
       Endif
       close22 = close
    Endif
    If time >= 110000 and time <= 130000 and CondizioneLong then
       buy at market
       set stop ploss 200
       set target pprofit 120
    endif
    If time = 214500 then
       sell at market
    endif

    Ovviamente a CondizioneLong potrai aggiungere le ulteriori condizioni che vorrai.

    #103809 quote
    Giuliano_G
    Participant
    Average

    Perdonami, ma non va. In questo caso non ha nessun effetto, con o senza fa le stesse operazioni. Leggendo il codice tra l’altro non capisco come confronti la close alle 22.00 del giorno [0] con la close delle 22.00 del giorno [1]

    #103810 quote
    robertogozzi
    Moderator
    Master

    Alla riga 3 fa il confronto, la prima voltya è 0, quindi falso, poi alla riga 8 setta il nuovo valore da confrontare all’indomani sera.

    Assegna alla variabile che ho usato io un altro nome magari, per non creare problemi.

    Verifica anche che le tue condizioni vadano bene.

    #103811 quote
    robertogozzi
    Moderator
    Master

    Utilizza GRAPH per verificare tutte le variabili, in  tal modo scoprirai dov’è l’errore.

    #103812 quote
    robertogozzi
    Moderator
    Master

    Scusami, non ti dava errore?

    Ho visto che non  vuole TRUE e FALSE, ove c’è TRUE metti 1 e dove c’è FALSE metti 0.

    #103814 quote
    robertogozzi
    Moderator
    Master

    A me questo apre le operazioni correttamente (in base alla chiusura e alla media che ho indicato) sul DAX a 5 minuti:

    Once close22 = 0
    If time = 220000 Then
       If close < close22 Then
          CondizioneLong = 1
       else
          CondizioneLong = 0
       Endif
       close22 = close
    Endif
    If time >= 110000 and time <= 130000 and CondizioneLong  AND close > Average[100]  then
       buy at market
       set stop ploss 200
       set target pprofit 120
    endif
    If time = 214500 then
       sell at market
    endif
    graph close22
    graph close
    graph time
    #103832 quote
    Giuliano_G
    Participant
    Average

    Scusami, non ti dava errore?

    Ho visto che non vuole TRUE e FALSE, ove c’è TRUE metti 1 e dove c’è FALSE metti 0.

    Sì me ne ero accorto e allora non te l’ho scritto

    #103833 quote
    Giuliano_G
    Participant
    Average

    A me questo apre le operazioni correttamente (in base alla chiusura e alla media che ho indicato) sul DAX a 5 minuti:

    Sì questo è ok, ho fatto casino nell’aggiungere le condizioni. Grazie, ottimo!

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

Orario di chiusura custom


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Giuliano_G @giuliano_g Participant
Summary

This topic contains 14 replies,
has 2 voices, and was last updated by Giuliano_G
6 years, 6 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 07/30/2019
Status: Active
Attachments: No files
Logo Logo
Loading...