Orario di chiusura custom
Forums › ProRealTime forum Italiano › Supporto ProOrder › Orario di chiusura custom
- This topic has 14 replies, 2 voices, and was last updated 5 years ago by Giuliano_G.
-
-
07/30/2019 at 10:49 AM #103777
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
1234If time = 220000 thenChiusuraGiornata = closeendifFiltroTrend = ChiusuraGiornata[0] < ChiusuraGiornata[1]07/30/2019 at 11:05 AM #103779Su 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.
07/30/2019 at 11:26 AM #103783Se 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.
07/30/2019 at 11:46 AM #103787Per 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:
1234567Once close22 = 0If time = 220000 ThenIf close < close22 ThenBuy 1 contract at marketEndifclose22 = closeEndif07/30/2019 at 12:03 PM #10379212345678If time >= 110000 and time <= 130000 and CondizioneLong thenbuy at marketset stop ploss 200set target pprofit 120endifIf time = 214500 thensell at marketendifIl 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
07/30/2019 at 1:29 PM #103800Mi 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?
07/30/2019 at 1:35 PM #103802Così 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?
07/30/2019 at 2:40 PM #103808Non l’ho provato:
1234567891011121314151617Once close22 = 0If time = 220000 ThenIf close < close22 ThenCondizioneLong = trueelseCondizioneLong = falseEndifclose22 = closeEndifIf time >= 110000 and time <= 130000 and CondizioneLong thenbuy at marketset stop ploss 200set target pprofit 120endifIf time = 214500 thensell at marketendifOvviamente a CondizioneLong potrai aggiungere le ulteriori condizioni che vorrai.
07/30/2019 at 3:10 PM #103809Perdonami, 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]
07/30/2019 at 3:20 PM #103810Alla 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.
07/30/2019 at 3:21 PM #103811Utilizza GRAPH per verificare tutte le variabili, in tal modo scoprirai dov’è l’errore.
07/30/2019 at 3:24 PM #103812Scusami, non ti dava errore?
Ho visto che non vuole TRUE e FALSE, ove c’è TRUE metti 1 e dove c’è FALSE metti 0.
07/30/2019 at 3:33 PM #103814A me questo apre le operazioni correttamente (in base alla chiusura e alla media che ho indicato) sul DAX a 5 minuti:
1234567891011121314151617181920Once close22 = 0If time = 220000 ThenIf close < close22 ThenCondizioneLong = 1elseCondizioneLong = 0Endifclose22 = closeEndifIf time >= 110000 and time <= 130000 and CondizioneLong AND close > Average[100] thenbuy at marketset stop ploss 200set target pprofit 120endifIf time = 214500 thensell at marketendifgraph close22graph closegraph time07/30/2019 at 8:33 PM #103832Scusami, 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
07/30/2019 at 8:34 PM #103833A me questo apre le operazioni correttamente (in base alla chiusura e alla media che ho indicato) sul DAX a 5 minuti:
1234567891011121314151617181920Once close22 = 0If time = 220000 ThenIf close < close22 ThenCondizioneLong= 1elseCondizioneLong= 0Endifclose22= closeEndifIf time >= 110000 and time <= 130000 and CondizioneLong AND close > Average[100] thenbuy at marketset stop ploss 200set target pprofit 120endifIf time = 214500 thensell at marketendifgraph close22graph closegraph timeSì questo è ok, ho fatto casino nell’aggiungere le condizioni. Grazie, ottimo!
-
AuthorPosts
Find exclusive trading pro-tools on