Info uscita ordini limite
Forums › ProRealTime forum Italiano › Supporto ProOrder › Info uscita ordini limite
- This topic has 7 replies, 2 voices, and was last updated 2 years ago by MauroPro.
-
-
11/15/2022 at 6:37 PM #204228
Ciao Roberto, non riesco ad uscire correttamente con gli ordini limite nel secondo codice sotto riportato. Lo puoi controllare – riscrivere (anche diversamente)?
Questo codice (codice 1) con ordini “normali” funziona correttamente (prova su cfd Dax – 15m) : il sistema liquida la prima parte della posizione dopo 50 punti di gain e la seconda parte dopo 100 punti oltre questi 50 punti.
defParam cumulateOrders =false
positionSize = 2
cLong = close crosses over average[50,0]If not onMarket and cLong then
buy positionSize contract at market
set stop pLoss 100
flagL = 0
elsIf longOnMarket and (close – tradePrice(1)) > 50*pointSize and flagL = 0 then
sell (positionSize/2) contract at market
flagL = 1
elsIf longOnMarket and (close – tradePrice(1)) > 100*pointSize and flagL = 1 then
sell (positionSize/2) contract at market
flagL = 0
endifPoi ho riscritto il codice con ordini limite in modo che il TS esca ESATTAMENTE a 50 e 100 punti (100 sempre contando dopo i primi 50 punti).
Tuttavia il TS liquida correttamente la prima parte a 50 punti esatti e sempre ad altri 50 punti (e non 100) la seconda parte, e non capisco il motivo (vedi immagine, sistema B sopra).
defParam cumulateOrders =false
positionSize = 2
cLong = close crosses over average[50,0]If not onMarket and cLong then
buy positionSize contract at market
set stop pLoss 100
flagL = 0
elsIf longOnMarket and flagL = 0 then
sell (positionSize/2) contract at tradePrice(1) + 50*pointSize limit
flagL = 1
elsIf longOnMarket and flagL = 1 then
sell (positionSize/2) contract at tradePrice(1) + 100*pointSize limit
flagL = 0
endif11/21/2022 at 12:15 PM #204560Alla riga 14 scrivi:
1flagL = 211/21/2022 at 2:12 PM #20456811/21/2022 at 3:45 PM #204570Perché FlagL va settato ad 1 al di fuori dell’IF dove vengono piazzati gli ordini, altrimenti lo rimette a zero dopo la prima uscita:
1234567891011121314151617defParam cumulateOrders =falsepositionSize = 2cLong = close crosses over average[50,0]IF lONGOnMarket THENIF abs(CountOfPosition) < abs(CountOfPosition)[1] THENFlagl = 1ENDIFENDIFIf not onMarket and cLong thenbuy positionSize contract at marketset stop pLoss 100flagL = 0elsIf longOnMarket and flagL = 0 thensell (positionSize/2) contract at tradePrice(1) + 50*pointSize limitelsIf longOnMarket and flagL = 1 thensell (positionSize/2) contract at tradePrice(1) + 100*pointSize limitendif1 user thanked author for this post.
11/21/2022 at 4:58 PM #204577Ciao Roberto, lo ho provato e funziona, ora provo a metterlo nel sistema reale.
Una cosa al volo: in base alla tua esperienza da che cosa può dipendere se un TS viene eseguito nel backtest e non viene eseguito nel proOrder? (nella lista del proOrdere il TS è attivo ma non entra e non compare nesun segnale)
11/21/2022 at 5:19 PM #204578Queste possono essere le principali cause (tradotto da un post di Nicolas):
- Differenza di prezzo (Spread)
- Slittamento (slippage)
- Rifiuto di ordini per uno dei motivi sopra indicati, ma anche per la distanza consentita dal prezzo corrente per inserire ordini in sospeso (nota come “distanza minima”)
- Orari di negoziazione diversi (codice ProOrder lanciato in un fuso orario diverso / orari personalizzati, dall’utente)
- Problema di codifica: divisione per errore zero, periodi nulli o negativi per indicatori, ecc…
- Mancanza di reattività dei server demo IG (se IG è il broker), anche se questo è notevolmente migliorato rispetto allo scorso anno
- Effettuare backtest senza l’opzione tick-by-tick
- L’istruzione “set stop trailing” che dà a IG il controllo totale del tuo stoploss, può essere spostata in modo diverso tra i conti a causa dei punti di cui sopra
- Conti a rischio limitato e loro regole
- Regole e commissioni di stoploss garantite
- Avviare una strategia in un momento diverso (1 ora o anche 1 minuto dopo): a seconda del codice della strategia, i risultati di alcuni calcoli potrebbero essere diversi
- Margine richiesto sul conto di trading (non vengono effettuati test demo o backtest su questo argomento)
- Tariffe notturne e infrasettimanali
- Adeguamento automatico degli ordini stop controllati o meno all’avvio del ProOrder
- Distanza minima utilizzata nei backtest per ordini pendenti, non la stessa del trading reale, a causa dei requisiti del broker
- Dimensioni del contratto diverse tra backtest e live
poiché i backtest vengono testati solo sulla cronologia senza alcuna connessione al mercato live, potresti riscontrare differenze con l’ambiente di trading dal vivo reale soggetto ad allargamento dello spread, slippage, ecc…
11/21/2022 at 5:25 PM #20457911/21/2022 at 5:28 PM #204580 -
AuthorPosts
Find exclusive trading pro-tools on