Info uscita ordini limite

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #204228 quote
    MauroProMauroPro
    Participant
    Veteran

    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
    endif

    Poi 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
    endif

    Image-002.jpg Image-002.jpg
    #204560 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Alla riga 14 scrivi:

    flagL = 2
    #204568 quote
    MauroProMauroPro
    Participant
    Veteran

    Ho provato ma non funziona, inoltre non splitta più nemmeno la posizione.

    #204570 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Perché FlagL va settato ad 1 al di fuori dell’IF dove vengono piazzati gli ordini, altrimenti lo rimette a zero dopo la prima uscita:

    defParam cumulateOrders =false
    positionSize = 2
    cLong = close crosses over average[50,0]
    IF lONGOnMarket THEN
       IF abs(CountOfPosition) < abs(CountOfPosition)[1] THEN
          Flagl = 1
       ENDIF
    ENDIF
    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
    elsIf longOnMarket and flagL = 1 then
       sell (positionSize/2) contract at tradePrice(1) + 100*pointSize limit
    endif
    MauroPro thanked this post
    #204577 quote
    MauroProMauroPro
    Participant
    Veteran

    Ciao 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)

    #204578 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Queste 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…

    #204579 quote
    MauroProMauroPro
    Participant
    Veteran

    Controllo bene e ti farò sapere, comunque lo stesso TS era già entrato quindi oggi o IG o il proOrder non hanno rispsto al segnale

    #204580 quote
    MauroProMauroPro
    Participant
    Veteran

    ora ho disattivato il TS da proOrder (era ancora in attesa di segnali), appena il TS esce da proBackTest lo riattivo in proOrder

Viewing 8 posts - 1 through 8 (of 8 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

Info uscita ordini limite


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
MauroPro @mauropro Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by MauroProMauroPro
3 years, 10 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 11/15/2022
Status: Active
Attachments: 1 files
ProRealCode ProRealCode
Loading...