Chiarimento Orari personalizzati PRT e ProOrder

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

    Salve, potreste darmi un chiarimento su come influiscono gli orari personalizzati in Pro Real time sugli strumenti (ad esempio il CFD IG Germany cash 1€) rispetto alle strategie?

    Ho sempre pensato che andando ad inserire gli orari nelle strategie come

    defparam flatbefore = 
    defparam flatafter  =

    avesse l’effetto di influenzare gli indicatori ed i flussi di dati presi in considerazione ma mi accorgo che non è così.
    Nello specifico con l’aiuto di Roberto ho appena finito di scrivere un Trading System. Andando ad effettuare diversi backtest mi accorgo pero’ che sembra funzionare solo se imposto orari personalizzati in piattaforma, mentre se metto gli orari standard il risultato è totalmente disastroso. Potreste spiegarmi il funzionamento? ed anche, se personalizzassi un orario, al cambio del fuso poi dovrei entrare in piattaforma e ricambiarlo ? dato che ad oggi la piattaforma segnala un gt +2.
    ALTRA INFORMAZIONE, se io lanciassi la strategia in automatico con gli orari modificati, si comporterebbe quantomeno come nel backtest?(salvo ovviamente eventuali possibili errori insiti nel backtest)
    qui il disastroso backtest con gli orari standard prt
    [attachment file=”81708″]

    qui invece modificato

    [attachment file=”81709″]

    allego anche la strategia:

    defparam cumulateorders = false
    defparam flatbefore = 070000
    defparam flatafter  = 210000
    once signal=0
    //once signal2=0
    
    Media   = Average[3](close)[3]
    BarreMedia   = 5
    BarreCC = 20
    timeon= time> 130000 and time < 185500
    mycc=-200
    myccS=200
    tp=68
    tpS=68
    
    ONCE CCIbarindex = 0
    
    ////////////STRATEGIA/////////////////////////////////
    avt=averagetruerange[14]
    ignored, ignored, ignored, ignored, ignored, COMPOM = CALL "Composite momentum"[4, 3, 9]
    filtro=(compom<49) and avt>5.2
    filtros=(compom>-25)
    MyCCI=cci[136](close)
    
    cc=MyCCI crosses over mycc
    if cc then
    signal=1
    CCIbarindex=BarIndex
    endif
    IF signal THEN
    IF (Barindex - CCIbarindex) > BarreCC THEN
    signal = 0
    ENDIF
    ENDIF
    IF MyCCI >= 0 THEN
    signal = 0
    endif
    if onmarket then
    signal=0
    endif
    
    if signal>0 then
    Rialzo  = summation[BarreMedia - 1](close > Media)
    Ribasso = summation[BarreMedia - 1](close[1] CROSSES UNDER Media[1])
    Rialzo2 = (close crosses over media)
    Cond    = Rialzo AND Ribasso AND Rialzo2
    if Cond and timeon and filtro then
    SL= (close - lowest[30](low)) / pipsize
    buy 1 contract at market
    set stop ploss SL
    set target pprofit tp
    signal=0
    endif
    endif
    
    
    //////////SHORT///
    
    once signalSHORT=0
    
    ccS=MyCCI crosses UNDER myccS
    if ccS then
    signalSHORT=1
    CCIbarindex=BarIndex
    endif
    IF signalSHORT THEN
    IF (Barindex - CCIbarindex) > BarreCC THEN
    signalSHORT = 0
    ENDIF
    ENDIF
    IF MyCCI <= 0 THEN
    signalSHORT = 0
    endif
    if onmarket then
    signalSHORT=0
    endif
    
    if signalSHORT>0 then
    RialzoS  = summation[BarreMedia - 1](close < Media)
    RibassoS = summation[BarreMedia - 1](close[1] CROSSES OVER Media[1])
    Rialzo2S = (close crosses UNDER media)
    CondS    = RialzoS AND RibassoS AND Rialzo2S
    if CondS and timeon and filtros then
    SLS= (close - HIGHEST[30](low)) * pipsize
    SELLSHORT 1 contract at market
    set stop ploss SLS
    set target pprofit tpS
    signalSHORT=0
    endif
    endif
    
    IF ONMARKET AND TIME >=222000 THEN
    SELL AT MARKET
    EXITSHORT AT MARKET
    ENDIF
    
    /////////////////////////////////////////////////////////
    ////////////TRAILING
    //1////////////////////////////////////////////////////////
    once trailinstop= 0   //1 on - 0 off
    trailingstart = 0 //trailing will start @trailinstart points profit
    trailingstep = 0 //trailing step to move the "stoploss"
    //////////////
    once breakeaven = 0   //1 on - 0 off
    startBreakeven = 0 //how much pips/points in gain to activate the breakeven function?
    PointsToKeep = 0 //how much pips/points to keep in profit above of below our entry price when the breakeven is activated (beware of spread)
    //////////////////////////////////////////////////////////
    ///2///////////////////////////////////////////////
    //reset the breakevenLevel when no trade are on market
    IF NOT ONMARKET THEN
    breakevenLevel=0
    ENDIF
    //3////////////////////////////
    //test if the price have moved favourably of "startBreakeven" points already
    if breakeaven>0 then
    IF onmarket AND close-tradeprice(1)>=startBreakeven*pipsize THEN
    //calculate the breakevenLevel
    breakevenLevel = tradeprice(1)+PointsToKeep*pipsize
    ENDIF
     
    //place the new stop orders on market at breakevenLevel
    IF breakevenLevel>0 THEN
    SELL AT breakevenLevel STOP
    ENDIF
    endif
    
    //************************************************************************
    //trailing stop function
    if trailinstop>0 then
    //reset the stoploss value
    IF NOT ONMARKET THEN
    newSL=0
    ENDIF
    
    //manage long positions
    IF LONGONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
    newSL = tradeprice(1)+trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
    newSL = newSL+trailingstep*pipsize
    ENDIF
    ENDIF
    
    //manage short positions
    IF SHORTONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
    newSL = tradeprice(1)-trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
    newSL = newSL-trailingstep*pipsize
    ENDIF
    ENDIF
    
    //stop order to exit the positions
    IF newSL>0 THEN
    SELL AT newSL STOP
    EXITSHORT AT newSL STOP
    ENDIF
    endif
    ///////////////////////////
    
    #81710 quote
    robertogozzi
    Moderator
    Master

    I comandi

    defparam flatbefore = 
    defparam flatafter  =

    servono solo ad impedire operazioni PRIMA di un certo orario e di chiuderne eventuali aperti DOPO un certo orario, non hanno nessun rapporto con gli indicatori, nè con gli orari personalizzati, seguono solo le impostazioni del tuo fuso orario.

    Per qunto riguarda gli orari personalizzati, oppure la possibilità di nascondere i dati del weekend, hanno solo una funzionalità visiva, nel senso che tu vedi quello che imposti, ma gli indicatori e le strategie seguono gli orari standard. Per cui può capitare che tu abbia scelto di NON visualizzare i dati del fine settimana, oppure, per il DAX, quelli dopo le 22 fino alle 8, però una tua strategia può entrare a mercato su un incrocio di medie la domenica sera anche se nel backtest NON lo vedi perché hai nascosto i dati, ma l’incrocio c’è stato!

    Io inizialmente usavo gli orari personalizzati, poi mi sono reso conto che creavano solo problemi e da allora uso gli orari standard di IG e non ho problemi.

    Nicolas thanked this post
    #81767 quote
    Gianluca
    Participant
    Master

    Il DEFPARAM non funziona per azzerare tutti i parametri presenti in e caricati nel codice ad un certo orario?
    Capisco, ed era quello che pensavo, ma ad una mia rischiesta di ticket l’assistenza mi ha risposto in maniera diversa, che gli orari personalizzati influenzano anche gli orari delle strategie ed il loro andamento, infatti avevo una strategia live su due conti ed a volte su un conto partivano operazioni e sull’altro no, mi fù risposto che il motivo era dovuto al fatto di aver lanciato la strategia su un conto con orari personalizzati.

    Questa fù la risposta: “Gentile Sig. Albino,
    la personalizzazione degli orari del mercato influenza ProOrder come nel caso del ProBacktest.
    Per ottenere gli stessi risultati sui suoi conti la invito a modificare i suoi orari.
    Qualora volesse saperne di più sull’argomento, la invito a visitare la seguente pagina. 
    Cordialmente,*****”

    poi.

    “Scusate ma non riesco a capire, forse ho un problema di comprensione.Se io imposto Pro Real Time con orari sballati del tipo dalle 10 alle 20. E nella mia strategia imposto che le operazioni vanno eseguite alle 08, cosa succede? non esegue nessuna operazione? Ho sempre pensato e letto che anche se si imposta un orario particolare in PRT (non nel codice pro order) questo non viene considerato nel ProOrder visto che vale l’orario ufficiale e i personalizzati della strategia.”Ore di trading personalizzate:Una volta che il sistema di trading é stato aggiunto a ProOrder le ore di trading personalizzate associate alla strategia sono quelle predefinite nel mercato dello strumento finanziario. Questa impostazione sarà applicata ad ogni avvio del sistema. Gli indicatori usati nel sistema saranno calcolati sulla base unicamente di date durante le ore di trading personalizzate. Invece, gli obiettivi e gli stop piazzati dal sistema possono essere attivati in orari diversi.”

     e la loro ultima risposta:
    “Gentile Sig. Albino, personalizzando gli orari di trading, si vanno a modifcare anche gli indicatori, le candele di prezzo ecc. Impostando un orario di trading dalle 8:00 alle 13:00, gli indicatori utilizeranno i dati soltanto dalle 8:00 alle 13:00 anche se gli ordini limite/stop potranno essere eseguiti al di fuori dell’orario personalizzato.”

    SCUSATE MA IO NON CI HO CAPITO UN CAVOLO

    non è assolutamente plausibile che un backtest dia due risultati diversi se uno personalizza o no gli orari di visualizzazione della piattaforma, dovrebbe tenere conto solo degli orari della strategia.

    #81782 quote
    robertogozzi
    Moderator
    Master

    Fai delle prove con orari personalizzati diversi, mantenendo la stessa strategia e vedrai le differenze.

    In ogni caso gli indicatori, almeno quelli standard di PRT, sono sempre calcolati sulla base delle effettive barre dello strumento.

    Una media a 10 periodi su EurUsd verrà calcolata anche sulla barra della domenica, nonostante tu possa averla nascosta sul grafico, d’altra parte la barra c’è e rappresenta dei prezzi reali del mercato, che tu voglia vederli o meno.

    #81788 quote
    Gianluca
    Participant
    Master

    Fai delle prove con orari personalizzati diversi, mantenendo la stessa strategia e vedrai le differenze.

    In ogni caso gli indicatori, almeno quelli standard di PRT, sono sempre calcolati sulla base delle effettive barre dello strumento.

    Una media a 10 periodi su EurUsd verrà calcolata anche sulla barra della domenica, nonostante tu possa averla nascosta sul grafico, d’altra parte la barra c’è e rappresenta dei prezzi reali del mercato, che tu voglia vederli o meno.

    Si, ma questo non mi chiarisce.

    Se io devo decidere di lanciare una strategia, in base a cosa la lancio. Quei due backtest di una strategia perfettamente identica sono palesi.

    #81790 quote
    robertogozzi
    Moderator
    Master

    Ti ripeto, gli indicatori vengono calcolati sulle candele effettive del broker, tu puoi (come facevo io inizialmente per il DAX) limitare la visualizzazione dalle 8 alle 22 (7-21 UTC+1), però IG contratta anche in una parte di quelle ore che tu NON vuoi vedere, quindi una media a 10 periodi alle 8 di mattina ti prenderà ANCHE quelle ore notturne che IG mantiene aperte, anche se sul grafico tu non le vedi.

    Se tu con gli appositi comandi decidi di tradare tra le 15 e le 18, ProOrder e ProBacktest lo fanno, ma calcolando i dati ANCHE sulle altre ore, nascoste o meno che siano.

    Ripeto, quando anch’io usavo orari personalizzati mi segnalava un incrocio anche quando sul grafico non c’era, ma c’era nelle barre che avevo deciso di NON vedere!  Decisi di seguire gli orari standard del broker e non ho più avuto problemi, magari sul grafico del DAX vedo un sacco di candele, spesso nulle o quasi, di notte che mi sciupano il grafico (mentre prima vedevo il GAP), però almeno quello che vedo è quello che fanno ProOrder e ProBackTest.

    #81791 quote
    robertogozzi
    Moderator
    Master

    Un’altra cosa, non usare spesso il QUOTE, altrimenti i post si allungano smisuratamente, tanto si sa di cosa si parla.

    Usalo solo quando davvero vuoi evidenziare qualcosa di specifico, magari togliendo dalla citazione le righe superflue. Grazie.

    #81796 quote
    Gianluca
    Participant
    Master

    Capisco, ma loro dicono il contrario, io avevo 2 strategie che avevano risultati opposti e loro mi hanno risposto che succedeva perchè un conto su cui avevo lanciato la strategia aveva orari personalizzati ne veniva influenzato anche PRO ORDER e l’altro no.
    Come si spiega questa cosa?

    #81798 quote
    robertogozzi
    Moderator
    Master

    Una volta che hai capito quale dei due settaggi va bene per la tua strategia (personalizzato o standard) adotta sempre quello!

    #81802 quote
    Gianluca
    Participant
    Master

    Certo per logica. Ma a me serve sapere la certezza di come funziona una cosa.
    Ed è inspiegabile come non riescano a darmi una risposta.

    #81829 quote
    Jakub
    Participant
    Average

    Buongiorno a tutti,

    dopo aver esaminato la suddetta discussione, il servizio tecnico di ProRealTime conferma i seguenti punti:

    1. La personalizzazione degli orari di trading influisce sul calcolo degli indicatori e, di conseguenza, sugli ordini a mercato aperti dai sistemi di trading. Per maggiori informazioni vi invito a cliccare qui;
    2. L’opzione che permette di nascondere i dati del weekend, ha una funzione meramente visiva. I nostri sistemi ignorano l’abilitazione della suddetta funzionalità. L’esempio di Roberto calza a pennello il seguente punto: un sistema di trading può entrare a mercato anche qualora si fosse verificata una condizione durante il weekend;
    3. Gli obiettivi e gli stop piazzati dal sistema possono essere attivati in orari diversi.
      • Gli ordini Limite e Stop piazzati con le istruzioni “AT <price> LIMIT” and “AT <price> STOP” potranno essere eseguiti durante le ore di trading personalizzate a meno che un ordine di questo tipo sia piazzato sull’ultima barra delle ore di trading personalizzate. In questo caso, sarà piazzato sulla possima apertura normale di mercato (ore di trading personalizzate).
      • Gli ordini piazzati con le istruzioni nel codice “SET TARGET”, “SET STOP” e “SET STOP TRAILING” possono essere ancora eseguiti al di fuori delle ore di trading personalizzate se il mercato é aperto.

    Auguro a tutti un buon mercoledì.

    Cordialmente,

    Jakub

    robertogozzi thanked this post
    #81850 quote
    Gianluca
    Participant
    Master

    quindi, mi conferma che personalizzando gli orari di trading sulla piattaforma pro real time, sponsorizzata con conto IG, lanciare una trading system con proorder subisce questa influenza di orario anche se nel codice sono segnalati altri orari?
    nello specifico, dei due screen sopra postati per ottenere i risultati sperati positivi va prima personalizzato l’orario (come indicato qui https://www.prorealcode.com/wp-content/uploads/2018/10/ORARIO-PERSONALIZZATO-PRT.jpg ) come indicato e poi lanciato il pro order piuttosto che l’orario standard?

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

Chiarimento Orari personalizzati PRT e ProOrder


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Gianluca @altares Participant
Summary

This topic contains 11 replies,
has 3 voices, and was last updated by Gianluca
7 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 10/01/2018
Status: Active
Attachments: 2 files
Logo Logo
Loading...