STRATEGIA DI TRADING
Forums › ProRealTime forum Italiano › Supporto ProOrder › STRATEGIA DI TRADING
- This topic has 19 replies, 2 voices, and was last updated 6 years ago by robertogozzi.
-
-
02/06/2018 at 11:10 AM #61658
Ciao a tutti!
Sapreste indicarmi gentilmente come posso fare in modo che l’autotrading:
1 Mi apra una posizione long quando il prezzo della candela attuale supera il massimo al rialzo della candela precedente (TF 1 minuto)
2 Mi apra una posizione short quando il prezzo della candela attuale supera il minimo al ribasso della candela precedente (TF 1 minuto)
Grazie mille! 🙂
02/06/2018 at 1:09 PM #616781 Mi apra una posizione long quando il prezzo della candela attuale supera il massimo al rialzo della candela precedente (TF 1 minuto)
2 Mi apra una posizione short quando il prezzo della candela attuale supera il minimo al ribasso della candela precedente (TF 1 minuto)
Risposta 1
1IF close > high[1] THEN....Risposta 2
1IF close < low[1] THEN....Ovviamente le inserirai dove metterai il BUY o SELLSHORT.
Tieni presente che la verifica viene fatta SOLO alla CHUSURA della barra, per cui il prezzo potrebbe avere superato i valori anche di diversi Pips!
02/06/2018 at 2:22 PM #61704Grazie mille Roberto, gentilissimo, ma per quanto riguarda il codice completo, dovrebbe essere una cosa simile?
// Condizioni per entrare su posizioni long
IF close > high[1] THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
IF close < low[1] THEN
SELLSHORT 1 CONTRACTS AT MARKET
ENDIF02/06/2018 at 2:53 PM #61711Esattamente così, bene!
02/06/2018 at 3:54 PM #61726Ho provato giusto ora ma non funziona, nel senso che non mi apre nessuna posizione.. Il mio codice è questo, c’è qualcosa sicuramente di errato..
Come orario ho messo dalle 15:53 alle 15:53 proprio per vedere ora se apriva qualche posizione ma nulla da fare..
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario “Flat Before” non saranno piazzati nuovi ordini o posizioni.
DEFPARAM FLATBEFORE = 155300
// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
DEFPARAM FLATAFTER = 155300
// Condizioni per entrare su posizioni long
IF close > high[1] THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
IF close < low[1] THEN
SELLSHORT 1 CONTRACTS AT MARKET
ENDIF02/06/2018 at 5:13 PM #61737Per scrivere il codice , utilizza il pulsante <> “insert PRT code” per migliorarne la leggibilità.
La strategia a me funziona, sia su Eur/Usd che sul DAX a 1 minuto, 10 minuti, fino al 4 ore. Non funziona sul giornaliero ovviamente.
Ovviamente da risultati sballati perché le date che hai indicato, inizio e fine, sono identiche.
Io le ho cambiate mettendo una differenza di 1 minuto, dalla 150000 alle 150100 ed il risultato è quello nella foto (TF 1 minuto).
02/06/2018 at 5:20 PM #61739Perfetto si funziona! Ti spiego, io lo userei per entrare sul dax la mattina alle 08:00.. Però non mi sembra corretto in quanto facendo il backtest e andando a vedere i vari ingressi sul grafico, non è per niente preciso.. Io vorrei che entrasse in rialzo se “spacca” il massimo della candela precedente di 2 punti e in ribasso se “spacca” il minimo della candela precedente sempre di 2 punti. Per la chiusura cosa mi consigli? Di farla manualmente o di mettere un TP?
Ora è così il codice, come dovrei modificarlo per far si che faccia questo? Grazie mille Roberto!
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario “Flat Before” non saranno piazzati nuovi ordini o posizioni.
DEFPARAM FLATBEFORE = 080000
// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
DEFPARAM FLATAFTER = 080100
// Impedisce al sistema di tradare in giorni specifici della settimana
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
// Condizioni per entrare su posizioni long
c1 = (close>high[1])
IF c1 AND not daysForbiddenEntry THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
c3 = (close<low[1])
IF c3 AND not daysForbiddenEntry THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF02/06/2018 at 6:20 PM #61753Per scrivere il codice , utilizza il pulsante <> “insert PRT code” per migliorarne la leggibilità. Grazie.
02/06/2018 at 6:22 PM #61754123456789101112131415161718// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario “Flat Before” non saranno piazzati nuovi ordini o posizioni.DEFPARAM FLATBEFORE = 080000// Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”DEFPARAM FLATAFTER = 080100// Impedisce al sistema di tradare in giorni specifici della settimanadaysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0// Condizioni per entrare su posizioni longc1 = (close>high[1])IF c1 AND not daysForbiddenEntry THENBUY 1 CONTRACT AT MARKETENDIF// Condizioni per entrare su posizioni shortc3 = (close<low[1])IF c3 AND not daysForbiddenEntry THENSELLSHORT 1 CONTRACT AT MARKETENDIF02/06/2018 at 6:25 PM #6175502/06/2018 at 6:47 PM #61758IG ha orari di negoziazione DAX diversi da altri broker (vedi le due foto per i giorni feriali e per il fine settimana, presi dal sito di IG).
Se vuoi che la barra precedente alle 08:00 sia quella delle 21:59 (sul TF a 1 minuto, ad esempio) devi seguire i 6 passi che ti ho evidenziato in una foto per ottenere l’orario desiderato. Come puoi vedere PRT vuole che l’orario sia indicato in UTC (non nell’ora italiana, che è UTC+1).
02/06/2018 at 6:57 PM #61766Se chiudi manualmente un’operazione aperta da una strategia, automaticamente ProOrder CHIUDE quella strategia e dovrai farla ripartire te.
02/06/2018 at 6:58 PM #61767No no, la barra che precede le 8 dev’essere quella delle 7.59 e come orari ci siamo, la cosa che non capisco è perchè a volte entra quando il prezzo spacca il minimo o il massimo delle 7.59 e a volte no.. Oppure entra “male” e non è preciso.. Non vorrei ci sia qualcosa di errato sul codice..
02/06/2018 at 7:01 PM #61769Per i 2 pip, la riga 12 diventa:
1BUY 1 CONTRACT AT high[1] + (2 * pipsize) STOPe la riga 17:
1SELLSHORT 1 CONTRACT AT low[1] - (2 * pipsize) STOPTieni presente che gli ordini pendenti (STOP e LIMIT) restano validi per una sola candela, alla chiusura della quale, se non entrati a mercato, sono cancellati. Se lo desideri puoi reinserirli a tuo piacimento quante volte vuoi.
02/06/2018 at 7:20 PM #61771La precisione in entrata non saprei dirti quanto possa essere accurata. Ti allego uno screenshot del TF a 1 secondo di stamani mattina.
Si vede che al secondo 08:00:05 c’è una candela rialzista con apertura in GAP ribasista, che viene subito colmato, magari con un ulteriore GAP (invisibile, forse dovremmo scendere ai singoli tick per verificarlo), per cui può capitare su strumenti voltatili come Dax, EurUsd ecc… che questi gap siano frequenti e quello STOP è un ordine di cui viene garantita l’esecuzione ma non il prezzo.
-
AuthorPosts
Find exclusive trading pro-tools on