Ordini su livelli predeterminati

Forums ProRealTime forum Italiano Supporto ProOrder Ordini su livelli predeterminati

Viewing 10 posts - 1 through 10 (of 10 total)
  • #62646

    Ciao a tutti, mi chiedevo come si possa impostare codice che permetta ingressi e chiusure a livelli predeterminati (che siano essi numerici, quindi un determinato prezzo, o indicatori, ad esempio resistenze supporti ecc), anche tenendo conto del timeframe considerato.

    Vi propongo un esempio in modo che il discorso sia più chiaro e poi riadattabile ad altre situazioni simili da chiunque.

    Supponiamo di considerare livelli pivot mensili (S2 S1 Piv R1 R2). e di voler fare quanto segue:

    Ad inizio periodo (apertura del mese), 2 ordini in attesa: un ordine long che si attiverebbe qualora il prezzo toccasse Resistenza 1, con target Resistenza 2, e stop loss il Pivot; ordine Short che si attiverebbe qualora il prezzo toccasse Supporto 1, con target Supporto 2, e stop loss il Pivot. Una delle due esclude l’altra, ovvero, se per prima viene toccata R1, viene annullato l’ordine short in attesa su S1, e viceversa.

    Esempio: mese x
    – R2 1,30
    – R1  1,20
    -Pivot 1,10
    -S1 1,00
    -S2 0,90

    All’inizio del mese avremo 2 ordini in attesa: uno long da R1 a R2 con stop pivot, uno short da S1 a S2 con stop pivot. Il primo che viene aperto annulla l’altro, avremo un solo trade nell’arco del time frame considerato.
    Può poi capitare che il prezzo, una volta partito il trade, non arrivi nè a Target, nè a stop loss. In questo caso vorrei che venisse chiuso con la chiusura dell’ultima candela del timeframe considerato (in questo caso erano pivot mensili, quindi chiusura all’ultimo giorno del mese).
    Se poi nel corso del time frame considerato non si attivassero gli ordini in quanto il prezzo non raggiunge nè R1 nè S1, annullamento ordini a fine dell’ultima candela del tf considerato.

    Penso sia più lungo da leggere che da codificare per chi è ferrato, io ho provato ma ho trovato varie difficoltà.
    Più che per trading automatico, vorrei utilizzarlo per backtest per analizzare comportamenti simulando ingressi / uscite a determinati livelli. Qui ho inserito i pivot points, ma ovviamente può essere valido anche per livelli numerici o altro preterminati ad inizio periodo. Anche interessante il poter cambiare intervallo di tf per queste analisi.

    Grazie a chiunque mi aiuterà!

     

     

     

    #62666

    Ho spostato il topic nel supportp ProOrder in Italiano.

    Per favore aggiorna la bandiera del tuo paese nel profilo.

    Grazie.

     

    #62668

    Per poterti aiutare vorrei sapere su quale strumento e TF lo vuoi utilizzare?

    Poi vedremo se e come cambiare TF e/o strumento, ma per partire preferisco avere un’indicazione precisa.

    Roberto

    1 user thanked author for this post.
    #62681

    Buongiorno Roberto,

    grazie. Si in effetti ho dimenticato di scrivere lo strumento che era la cosa fondamentale. Vorrei testarlo solo su forex, qualsiasi coppia andrebbe bene. Prendiamo come esempio lo strumento spot Eur/Usd, diciamo TF settimanale. Qundi considerando pivot resistenze e supporti ecc nell’arco di una settimana, con eventuale chiusura per trade non arrivati a stop/target il venerdi sera.

    P.S. ho aggiornato la bandiera come mi hai chiesto, non avevo notato che era preselezionato Australia 🙂

    #62855

    Ciao Roberto,
    sei riuscito a tirar giù qualcosa?
    rileggendo il tutto vedo che ci potrebbero essere anche dei casi limite che non rientrano in quelle supposizioni: ad esempio apertura (settimanale in questo caso) con prezzo già sopra R1 o sotto S1.
    Però diciamo che sono casi che non capitano spesso e che semmai si possono valutare in un secondo step!

    #62936

    Intanto devi importare ed installare il file dei Pivot Giornalieri-Settimanali-Mensili (https://www.prorealcode.com/topic/customised-pivot-point-indicator/) creato da ProRealTime su richiesta di un utente, perché dovrà essere richiamato dalla strategia.

    Allego anche il file della strategia (parzialmente funzionante) che puoi importare e di cui riporto il testo qui di seguito:

    Le righe iniziali sono l’inizializzaziine delle variabili (in realtà non servono, è solo per chiarezza). Ogni variabile ha un nome che inizia con

    • “d” per i pivot Daily (giornalieri)
    • “w” per i pivot Weekly (Settimanali)
    • “m” per i pivot Monthly (Mensili)

    seguiti da “P” per Pivot, oppure R1 per Resistenza1, S1 per Supporto1 ecc…

    Siamo, come hai detto tu, sul TF settimanale, per cui alla chiusura della settimana la strategia verrà eseguita (ovviamente lo sarà all’inizio della candela successiva, alla riapertura settimanale) e verificherà se è già a mercato, in tal caso chiude le operazioni (tu vuoi chiuderle a fine settimana, ma non è possibile, si può fare solo alla riapertura) , dopodiché piazza due ordini STOP, uno d’acquisto su R1 ed uno di vendita su S1.

    Il problema grosso è alle righe relative al TARGET ed allo STOP LOSS, perché si può solo indicare un Target e solo uno SL, siccome non sappiamo quale dei due ordini, lo SHORT o il LONG, entrerà (se entrerà) a mercato, io li ho messi per i Long.

    Ovviamente così non può andare.

    Si potrebbero inserire alla canxdela successiva, una volta verificato se siamo a mercato LONG o SHORT, ma allora dovresti tenere l’operazione aperta per più di una settimana e rischieresti, comunque, nella settimana in cui entra a mercato, di non essere tutelato da uno SL!

    Credo vada ripensata la strategia, a meno che non ci sia qualche soluzione che non conosco e che magari  @nicolas può suggerirci.

     

    #62947

    Ciao Roberto,

    grazie per la risposta.

    Si effettivamente cosi non funziona perchè il rischio di prendersi parecchi pip in faccia è alto.

    Mi sembra il minimo condividere le mie osservazioni con voi.  Il tutto nasce dal fatto che ho notato che, a prescindere dai time frame, il prezzo a seconda degli strumenti ha dei comportamenti statisticamente ripetitivi che hanno a che vedere coi pivot. Ad esempio su pivot mensile / settimanale forex, per alcune coppie che ho analizzato (eurusd, usdjpy, eurjpy ecc), circa nell’80% dei mesi/settimane, il prezzo intercetta il pivot.

    Ho svolto analisi su excel (uno sbattimento infinito) impostando formule per il calcolo dello stop loss ottimale, e su diversi strumenti analizzando gli ultimi 3-4 anni ho trovato riscontri profittevoli. Il problema è che ci vogliono giorni se non settimane per analizzare un singolo strumento, con una sola tipologia di ingressi, un solo timeframe. Chi può dire che con un altro tf i risultati non siano migliori? o non si abbia minori perdite nelle settimane negative?

    Da qui la volontà di sviluppare un codice che svolga questi ingressi/uscite basati sui pivot, all’interno di una finestra temporale predefinita, per testare meglio tutte le possibili alternative: ad esempio cosa succede se da R1 entro short verso Pivot, o se entro long verso R2 e via dicendo.

    Insomma permetterebbe di analizzare tutte le variabili e tf e vedere meglio su cosa sia più profittevole.

    Comunque, anche operativamente avevo lo stesso “problema”: la domenica sera impostavo già i due ordini, uno Long e uno Short, ciascuno con proprio stop loss e target. Chiaramente poi appena uno si attivava dovevo chiudere manualmente l’altro, il che implicava costante osservazione della piattaforma.

    Se si riuscisse a fare in modo che l’ordine parta non appena prezzo tocca o R1 o S1 (in questo esempio), e contestualmente tenga aperto relativo stop loss e target ma chiuda gli altri, è fatto.

    Però ho letto un po di thread dove hai partecipato, e mi pare di aver capito che prorealcode non funzioni con la candela in corso, ma solo a chiusura.

    Per fugare ogni dubbio sul fatto di non essermi spiegato a dovere in precedenza, propongo un esempio con immagine allegata:

    EurUsd – Settimanale.

    Qui avrei impostato i 2 ordini per la prossima settimana: Short da R1w, con stop su R2w, e Target su Pivw; Long da S1w, con stop S2w, e target Pivw. Se dopo l’apertura domenica, il prezzo mi va a toccare R1w, allora ingresso short e contestualmente chisura dell’ordine long su S1 (con relativo stop e target collegati ad esso).

    Questa tipologia di ingressi per altro era quella che mi risultava più profittevole (nel primo post avevo chiesto il contrario, da S1 target S2, e da R1 target a R2, proprio per provare qualcosa di diverso).

     

     

     

     

     

    #62959

    Ho buttato giù una versione leggermente modificata, invece di usare le istruzioni per SL e TP, ho messo i relativi ordini pendenti, in pratica 3 per i LONG e 3 per gli SHORT:

    1. ordine pendente di entrata
    2. ordine pendente di SL (se non è entrato è ininfluente)
    3. ordine pendente di TP (se non è entrato è ininfluente)

    Questo è il nuovo codice, di cui allego anche il file da importare. Provalo e vedi se fa qualche entrata/uscita corretta:

     

     

    #62989

    Grazie Roberto! Verifico! 🙂

    #62992

    Parrebbe non girare mi genera troppi ordini.
    L’ho cmq modificato per simulare esattamente l’esempio nell’immagine allegata, ovvero ordine SHORT pendente da wR1, con TP pendente sul pivot wP, e SL pendente su wR2. E ordine LONG pendente da wS1, con TP pendente su wP e SL pendente su wS2.

    Però niente, mi genera sempre un elevato numero di ordini settimanali, e per altro non in corrispondenza dei livelli pivot predeterminati.

    Di seguito il codice modificato

     

     

     

Viewing 10 posts - 1 through 10 (of 10 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login