E’ attiva la possibilita’ di avere chiusure parziali?

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #189048 quote
    Gianluca
    Participant
    Master

    Che vi risulti è stata attivata la possibilita’ in live/demo di far girare codici con chiusure parziali?

    Ho fatto un sistema che in backtest funziona regolarmente come dovrebbe andando a chiudere le posizioni dove dovrebbe, ma una volta messo live in demo chiude tutto alla prima condizione anzichè la meta’.

    Se fosse attiva la cosa ho già capito che il motivo dell’errore riscontrato è dovuto che il mio sistema funziona con 1 cfd e poi lo smezza mentre in demo il minimo è uno.

    (per la serie fai una domanda e datti una risposta…) 😀

    #189055 quote
    robertogozzi
    Moderator
    Master

    Si, da quando c’è la versione 11, ma solo per chiusure a mercato (con ordini pendenti si chiude sempre l’intera posizione).

    Devi verificare il minimo di contratti che si devono avere aperti (che corrisponde al numero di contratti ammessi per la prima posizione). Sul DAX è 0.5, su altri strumenti è 1 e su altri ancora 0.2, ecc… va controllato con IG.

    #189058 quote
    MauroPro
    Participant
    Veteran

    Queste sono le formule (scritte da Roberto) per splittare una posizione vincente – perdente [long o short] in punti e per splittare una posizione vincente  – perdente [long o short] in percentuale.

    • Non confondere vincente e perdente con long o short: splittare una posizione vincente (ad esempio) vuol dire chiudere metà del guadagno al di là che la posizione sia long o short.
      once partialcloseGain = 1  // a) splittare una posizione VINCENTE in punti
      If partialcloseGain then
      ONCE PerCent = 0.5                            //close 1/2 size
      PipsGain = 100   //PositionPrice * PerCentGain / PipSize       //100 = 100 punti
      ONCE MinLotSize = 0.5                      //IG minimum size 
      ExitQuantity = abs(CountOfPosition) * PerCent
      LeftQty = max(MinLotSize,abs(CountOfPosition) - ExitQuantity)
      CloseQuantity = max(0,abs(CountOfPosition) - LeftQty)
      TempGain = PositionPerf * PositionPrice / PipSize
      IF Not OnMarket THEN
      Flag = 1
      ENDIF
      IF partialcloseGain AND LongOnMarket and TempGain >= PipsGain AND Flag THEN   
      SELL CloseQuantity Contracts AT Market
      Flag = 0
      endif
      IF partialcloseGain AND ShortOnMarket and TempGain >= PipsGain AND Flag THEN  
      exitshort CloseQuantity Contracts AT Market
      Flag = 0
      endif
      endif
      //----------------------------------------------------------------------------------------------
      once partialcloseLoss = 1  // b) splittare una posizione PERDENTE in punti
      If partialcloseLoss then
      ONCE PerCent = 0.5 //close 1/2 size
      PipsLoss = 100    //PositionPrice * PerCentGain / PipSize    //100 = 100 punti
      ONCE MinLotSize = 0.5      //IG minimum size 
      ExitQuantity = abs(CountOfPosition) * PerCent
      LeftQty = max(MinLotSize,abs(CountOfPosition) - ExitQuantity)
      CloseQuantity = max(0,abs(CountOfPosition) - LeftQty)
      TempGain = PositionPerf * PositionPrice / PipSize
      IF Not OnMarket THEN
      Flag = 1
      ENDIF
      IF partialcloseLoss AND LongOnMarket and TempGain <= -PipsLoss AND Flag THEN 
      SELL CloseQuantity Contracts AT Market
      Flag = 0
      endif
      IF partialcloseLoss AND ShortOnMarket and TempGain <= -PipsLoss AND Flag THEN  
      exitshort CloseQuantity Contracts AT Market
      Flag = 0
      endif
      endif
      
      
      once partialcloseGain = 1    //a) splittare una posizione VINCENTE in %
      If partialcloseGain then
      ONCE PerCent     = 0.5                                  //close 1/2 size
      ONCE PerCentGain = 0.01                  //0.005 = 0.5% - 0.01 = 1% 
      ONCE MinLotSize  = 0.5                             //IG minimum size  
      ExitQuantity     = abs(CountOfPosition) * PerCent
      LeftQty          = max(MinLotSize,abs(CountOfPosition) - ExitQuantity)
      CloseQuantity    = abs(CountOfPosition) - LeftQty
       IF Not OnMarket THEN
      Flag = 1
      ENDIF
       IF partialcloseGain AND LongOnMarket and close >= (PositionPrice * (1 + PerCentGain))  AND Flag THEN
      SELL CloseQuantity Contracts AT Market
      Flag = 0
      endif
      IF partialcloseGain AND ShortOnMarket and close <= (PositionPrice * (1 - PerCentGain))  AND Flag THEN
      exitshort CloseQuantity Contracts AT Market
      Flag = 0
      endif
      endif
      //----------------------------------------------------------------------------------------------
      once partialcloseLoss = 1    //b) splittare una posizione PERDENTE in %
      If partialcloseLoss then
      ONCE PerCent     = 0.5                                       //close ½ size
      ONCE PerCentLoss = 0.01                      //0.005 = 0.5% - 0.01 = 1% 
      ONCE MinLotSize  = 0.5                              //IG minimum size                     
      ExitQuantity     = abs(CountOfPosition) * PerCent
      LeftQty          = max(MinLotSize,abs(CountOfPosition) - ExitQuantity)
      CloseQuantity    = abs(CountOfPosition) - LeftQty 
      IF Not OnMarket THEN
      Flag = 1
      ENDIF
      IF partialcloseLoss AND LongOnMarket and close <= (PositionPrice * (1 - PerCentLoss))  AND Flag THEN
      SELL CloseQuantity Contracts AT Market
      Flag = 0
      endif
      IF partialcloseLoss AND ShortOnMarket and close >= (PositionPrice * (1 + PerCentLoss))  AND Flag THEN
      exitshort CloseQuantity Contracts AT Market
      Flag = 0
      endif
      endif
      
      

       

    robertogozzi and Gianluca thanked this post
    #189290 quote
    Gianluca
    Participant
    Master

    come sarebbe a dire solo per ordini di mercato…. non ho parole praticamente non serve a niente la funzione, solo per verificare in demo la validita’ di una strategia ma poi non la si puo’ usare in live. bah

    #189291 quote
    Gianluca
    Participant
    Master

    Queste sono le formule (scritte da Roberto) per splittare una posizione vincente – perdente [long o short] in punti e per splittare una posizione vincente – perdente [long o short] in percentuale.
     

    Scusami, e che dovrei farci? 😀

    Avevo chiesto solo un informazione.

    Grazie

    #189293 quote
    robertogozzi
    Moderator
    Master

    È un problema di IG, in quanto il sup sistemacnon ha le istruzioni necessarie per chiudere posizioni parziali tramite ordini pendenti. Funziona solo in backtest.

    Speriami IB si aggiunga presto come alternativa per il trading autonatico. Alcuni problemi attuali sarebbero finalmente risolti.

    #189507 quote
    Gianluca
    Participant
    Master

    Quindi Secondo te roberto potrei contattare IG per conoscere se eventualmente hanno intenzione di sistemarlo?

    Purtroppo PRT ha una potenzialita’ enorme, ma essere legata solo ad IG la danneggia.

    #189512 quote
    robertogozzi
    Moderator
    Master

    Credo lo abbia già chiesto più volte anche PRT, però più pressioni ricevono, più probabilità ci sono che prendino in considerazione la questione.

    #189719 quote
    PEDROSTYLE
    Participant
    New

    Buonasera, sono nuovo e da parecchio utilizzo la proreatime legata a interactive brokers, la mia domanda è tradando il microdax vorrei entrare con tre contratti e chiuderne uno a 10 punti per esempio, portare gli altri due a be e mettere il profit a 30 per esempio e a 50 sul terzo. esiste qualcosa che possa aiutarmi, vi ringrazio molto, di programmazione non so nulla grazie ancora.

    #189720 quote
    robertogozzi
    Moderator
    Master

    Con IB per il momento è possibile solo il trading manuale.

    La speranza è che nel corso del 2022 abiliti anche il trading automatico.

    Quando sarà abilitato si, si potranno fare le operazioni che hai descritto.

    Con IB dovrebbe essere possibile anche la chiusura parziale mediante ordini pendenti (che IG non supporta).

    #209553 quote
    Gianluca
    Participant
    Master

    Si, da quando c’è la versione 11, ma solo per chiusure a mercato (con ordini pendenti si chiude sempre l’intera posizione).

    Devi verificare il minimo di contratti che si devono avere aperti (che corrisponde al numero di contratti ammessi per la prima posizione). Sul DAX è 0.5, su altri strumenti è 1 e su altri ancora 0.2, ecc… va controllato con IG.

    ciao avete mica info se hanno messo la possibilita’ degli ordini limit/stop per chiudere parzialmente i trade?

    #209559 quote
    robertogozzi
    Moderator
    Master

    No, per il momento si possono fare chiusure parziali solo con ordini a mercato, non pendenti.

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

E’ attiva la possibilita’ di avere chiusure parziali?


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Gianluca @altares Participant
Summary

This topic contains 11 replies,
has 4 voices, and was last updated by robertogozzi
2 years, 12 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 02/28/2022
Status: Active
Attachments: No files
Logo Logo
Loading...