COSTANTE PREZZO INGRESSO

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #131804 quote
    eclarari1
    Participant
    Average

    Buongiorno. Avrei bisogno di un supporto di programmazione.

    Una volta fatto il mio primo ingresso sul mercato

    • if condizione and not onmarket then

    buy N share at market

    endif  ,

    vorrei che il mio primo prezzo di ingresso (tradeprice) diventasse una costante K, ( una retta…)  che posso incrociare  sopra/sotto nel tempo e che rimanga sempre quella, appunto, anche che se andro’ a fare altri acquisti in futuro .. ho provato con

    • if condizione and not onmarket then
    • k= tradeptice
    • endif

    mo non mi sembra che funzioni.. Mi potreste  dare una dritta?

    Ringrazio anticipatamente

    Emanuele

    #131814 quote
    robertogozzi
    Moderator
    Master

    la riga che hai scritto va bene, ma solo la prima volta, altrimenti tutte le volte varierà.

    La prima cosa da fare è inizializzare la variabile K con 0 agli inizi del codice:

    ONCE k = 0

    dopodiché, anche subito sotto, scrivi:

    IF k = 0 THEN
       k = TradePrice
    ENDIF

    siccome solo la prima volta sarà zero, le volte successive non verrà più cambiata e rimarrà invariata finché lo vorrai tu con un’altra condizione che la faccia cambiare, o riportare a zero.

    #131828 quote
    eclarari1
    Participant
    Average

    Grazie 1000!

    #132721 quote
    eclarari1
    Participant
    Average

    Buonasera. Avrei bisogno di un ulteriore supporto.

    Ho creato un programma chiamiamolo “A” nel quale a condizione LONG entro BUY nel mercato. Il tradeprice come da suo suggerimento del precedente post diventa una mia costante. Funziona tutto.

    In un secondo programma “B”  al verificarsi della condizione LONG (identica al programma A) non entro realmente nel mercato, devo solo riprodurre la stessa costante di ingresso del programma “A” ed avere quindi lo stesso  riferimento  nel programma B .

    Quindi utilizzando la funzione ONCE:

    once k=0
    if condizioneLONG and k=0 THEN
    k=open
    ENDIF

    if condizioneEXIT then
    k=0
    endif

    Problema: nel programma B la costante  (k=open)  risulta essere il prezzo di apertura   della barra stessa ove si verifica la condizione LONG , nel mentre l’acquisto “reale” del programma A avviene  all’apertura della barra successiva.. lo stesso succede per  la condizione di uscita .  Quindi nel  programma B i segnali arrivano  sempre con una barra di anticipo  rispetto alla condizione reale del programma A.

    E’ possibile trovare una soluzione a questo problema?

    Ringrazio anticipatamente

    Emanuele

    #132730 quote
    robertogozzi
    Moderator
    Master

    Per favore NON duplicare i post, tra l’altro sbagliando forum ed usando lo stesso titolo. Grazie 🙂

    Li ho riunificati.

    #132731 quote
    robertogozzi
    Moderator
    Master

    Non è possibile che possano esserci entrate diverse a seconda della strategia.

    Le strategie vengono sempre eseguite quando una barra CHIUDE (barra di setup, dove le condizioni sono verificate), appena prima che la nuova barra APRA (barra d’eventuale entrata).

    Fammi un esempio pratico e un pò più dettagliato.

    #132878 quote
    eclarari1
    Participant
    Average

    Grazie . Dovro’ controlare ancora  qualcosa allora.

    Attualmente i programmi sono molto lunghi , magari appunto anche un po’ contorti.. se non ne esco vedro’ di farne uno semplificato per l’uso.

    grazie 1000

    #132889 quote
    eclarari1
    Participant
    Average

    .. ecco in allegato un file relativo ad un programma semplicissimo e che rende l’idea . Applicato su dati orari di un’azione che ho scelto a caso A2A .

    Come puoi notare l’ingresso BUY reale avviene alla barra delle ore 16 con tradeprice 1,121 (valore open+ spread immagino).

    La costante K invece che vado a determinare con la stessa  strategia (close>mm20) riporta  il valore di apertura della barra precedente (1,11).

    In effetti rileggendo  la definizione dell’operatore  OPEN viene indicato come “prezzo di apertura della barra corrente“..io invece vorrei replicare la barra ed il valore tradeprice del vero acquisto.

    Spero sia chiaro

    Ringrazio anticipatamente per la cortese attenzione

    prova-dimostativa-azioni-A2A.itf
    #132892 quote
    robertogozzi
    Moderator
    Master

    Scrivilo così:

    mm20=Average[20](close)
    if not onmarket then
    k=0
    endif
    if close>mm20 AND NOT ONMARKET then
    buy 1 share at market
    k=close
    endif
    
    if close<mm20 then
    sell at market
    k=0
    endif
    //
    ///// INGRESSO SIMULATO
    //once k=0
    //if close>mm20 and k=0 and not onmarket then
    //k=(open)
    //endif
    //IF close<mm20 then
    //k=0
    //endif
    //
    //
    GRAPH TRADEPRICE
    GRAPH K

    siccome per conoscere TRADEPRICE occorre una barra, mentre K viene subito valorizzato, per avere iv valore corretto occorre che l’operazione duri almeno 2 barre.

    #133060 quote
    eclarari1
    Participant
    Average

    Perdonami Robero, questo programma ritorna K come il “close” della barra precedente all’ingresso e quindi differisce per tempo e valore dal tradeprice. Non so se c’e’ ancora qualcosa da aggiustare oppure se e’ il massimo che si puo’ fare..

    Inoltre, come gia’ segnalato nel primo post, la parte BUY e quello che io ho chiamato INGRESSO SIMULATO, in realta’ fanno parte  parte di due programmi diversi tra loro: uno dove posso andare solo LONG  (e che quindi mi acquistera’ con BUY) ed un secondo dopo posso andare solo SHORT e la funzione BUY non la posso usare.. E’ appunto in questo secondo programma (short..) che devo simulare il Tradeprice LONG  che avviene nel precedente programma. Quindi , essendo solo un ingresso “fake” , non posso legarlo a comandi BUY oppure a funzioni tipo ONMARKET  , in quanto io non saro’ mai veramente LONG .

    Spero di essere stato chiaro .

    Ringrazio anticipatamente

    Emanuele

    #133162 quote
    robertogozzi
    Moderator
    Master

    No, il TRADEPRICE (salvo slippage, o gaps in reale) è lo STESSO prezzo del close. Quindi K non è la barra precedente, ma quella corrente (perché la nuova sta per iniziare e non sarà accessibile fino alla chiusura, a parte l’uso del supporto MTF per accedervi su TF più brevi, ma questo è un altro discorso, credo).

    Se la barra chiude a 11000, CLOSE sarà 11000 ed anche TRADEPRICE sarà 11000 solo che mentre ProOrder conoscerà l’esatto TradePrice alla FINE della barra successiva (quella d’entrata, che sta per aprirsi quando viene eseguita l’entrata) il CLOSE lo sai già al momento di entrare in posizione.

    #133197 quote
    eclarari1
    Participant
    Average

    .. giusto per chiudere il cerchio.. Se ho un segnale BUY  sull’ultima barra del Venerdi’ , io acquisto fisicamente il contratto venerdi’ sera alla chiusura o il lunedi’ mattina alla riapertura? Oppure acquisto il Lunedi’   con tradeprice riferito alla chiusura del venerdi? Mi puoi chiarire ?

    Ringrazio anticipatamente

    #133200 quote
    robertogozzi
    Moderator
    Master

    Acquisti SEMPRE quando la nuova barra sta per riaprire, è una differenza minima, di pochi millisecondi.

    Per cui se alla chiusura della barra chiudono i mercati, che sia il venerdì sera o prima di una festività l’entrata avverrà alla riapertura, con il TradePrice che sarà noto alla chiusura del lunedì sera.

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

COSTANTE PREZZO INGRESSO


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
eclarari1 @eclarari1 Participant
Summary

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

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 05/15/2020
Status: Active
Attachments: 1 files
Logo Logo
Loading...