Sell alla chiusura della barra

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #137669 quote
    Rapto87
    Participant
    New

    Salve a tutti…sono nuovo e poco pratico di programmazione…cercavo un codice per chiudere l operazione in profit o loss oppure alla chiusura della barra corrente(ogni barra = 1 operazione ).

    Usando

    If LongOnMarket AND  BarIndex >= (TradeIndex + N) THEN
    SELL AT MARKET

    Dove n= 0 …. Mi chiude all’apertura della barra successiva ed andrebbe bene ma non mi parte a questo punto la condizione per quella barra…in poche parole mi scavalla e l ordine entra dopo 2 barre. Ho cosi 1 ordine una barra si e una no…a me serve 1 ordine ogni barra…mi sapete aiutare?Grazie a tutti in anticipo

    #137674 quote
    robertogozzi
    Moderator
    Master

    Per aggiornare le varie costanti relative ai vari stati (OnMarket, StrategyProfit, ecc…) ProOrder ha bisogno di una barra, per cui tu dai il comando di cui sopra, che va bene, ma non riesce a saperlo prima della barra successiva.

    Per risolvere il problema basta che, all’inizio metti:

    DEFPARAM CumulateOrders = true

    in tal modo gli dici che può aprire anche più posizioni contemporaneamente (non è vero perché tu l’hai già chiusa, ma lui ancora non lo sa).

    Inoltre NON usare queste condizioni per aprire una posizione:

    IF OnMarket
    IF LongOnMarket
    IF ShortOnMarket

    altrimenti NON entra a mercato fino alla barra successiva.

    Rapto87 thanked this post
    #137681 quote
    Rapto87
    Participant
    New

    Grazie Roberto per la risposta tempestiva innanzitutto.

    In realtà io usavo proprio if not  OnMarket come condizione…

    con = CLOSE + 1 * pipsize
    n = 0
    
    // Condizioni per entrare su posizioni long
    IF NOT LongOnMarket THEN
    BUY 1 CONTRACTS AT con STOP
    SET TARGET PROFIT abs(close - low) + 2 * pipsize
    SET STOP LOSS abs(close - low) + 5 * pipsize
    ENDIF

    Ora che condizione uso?

    Poi in realtà ho riscontrato altro problema con profit e loss….(sono su Forex eur aud)  non dovrebbe essere 20 ticks e  50 ticks? Oltre a non corrispondere a volte non entrano proprio….

    #137685 quote
    robertogozzi
    Moderator
    Master

    Per TICKS intendi il quinto decimale dopo la virgola? Si, 2 pips equivalgono a 20 decimi di pips (o ticks se preferisci). Generalmente il prezzo ufficiale si dovrebbe fermare a 4 decimali, il quinto è stato aggiunto da vari anni per facilitare e rendere più precisi i calcoli e gli indicatori ).

    Perché vuoi usare LONGONMARKET, se la posizione l’hai già chiusa poche righe prima sai benissimo che non può essere a mercato, no?

    Rapto87 thanked this post
    #137687 quote
    Rapto87
    Participant
    New

    Si intendo 2 pips…ma provandola sul grafico non corrisponde…e nn capisco il perchè…

    Per la condizione io vorrei eliminare LONGONMARKET ma mi da errore anche inserendo  DEFPARAM CumulateOrders = true

    Un IF devo cmq metterlo per la condizione giusto?  metto qualcosa  che risulta sempre vera?

    #137747 quote
    robertogozzi
    Moderator
    Master

    IF non è obbligatorio, lo metti solo se un certo evento deve dipendere da una condizione verificata o no.

    Questo puoi saperlo solo tu. Devi vedere te se è meglio avere il problema che lamentavi precedentemente, oppure non avere quella condizione.

    Rapto87 thanked this post
    #138122 quote
    robocop
    Participant
    Average

    In che senso se si usa IF longonmarlet then entra arrivato dalla narea successiva?

    #138126 quote
    robertogozzi
    Moderator
    Master

    Come detto all’inizio, i vari stati di posizionamento sul mercato hanno bisogni di una barra per essere  acquisiti dal sistema, per cui è quello che intendevo per barra successiva.

    #138132 quote
    robocop
    Participant
    Average

    Certamente dipende dal fatto che sono alle prime armi, per ora mi ero fatto queste convinzioni:

    – in proorder il codice è chiamato tra la fine di una barra e l ‘inizio della successiva.
    – l’intervallo tra una chiamata e l’altra dipende (ignorando MultiTimeFrame per semplicità) dal time della chart
    – tutti i valori delle variabili di sistema (close, open, high, low, openminute, opendate, strategyprofit, longonnmarket, shortonmarket, ecc) si riferiscono alla barra appena chiusa.

    In numeri.

    la strategia è applicata in un timeframe a 15 secondi. il codice è chiamato ogni 4 volte in un minuto,

    1 volta, alla fine della barra aperta alle 13:00:00 e chiusa alle 13:00:14 prima che si apra quella 13:00:15    — con opentime che vale 130000, open valore delle 13:00:00, close valore delle 13: 00:14, high e low rispettivamente il valore più alto e più basso registrato tra le 13:00:00 e le 13:00:14

    2 volta, alla fine della barra aperta alle 13:00:15 e chiusa alle 13:00:29 prima che si apra quella 13:00:30   — con opentime che vale 130015, open valore delle 13:00:15, close valore delle 13: 00:29, high e low rispettivamente il valore più alto e più basso registrato tra le 13:00:15 e le 13:0029, short e long on market come sono alla fine della barra chiusa

    3  volta, alla fine della barra aperta alle 13:00:30 e chiusa alle 13:00:44 prima che si apra quella 13:00:45,   — con opentime che vale 130030, open valore delle 13:00:30, close valore delle 13: 00:44, high e low rispettivamente il valore più alto e più basso registrato tra le 13:00:30 e le 13:0044, short e long on market come sono alla fine della barra chiusa

    4 volta, alla fine della barra aperta alle 13:00:45 e chiusa alle 13:00:59 prima che si apra quella 13:01:00,    — con opentime che vale 130045, open valore delle 13:00:45, close valore delle 13: 00:59, high e low rispettivamente il valore più alto e più basso registrato tra le 13:00:45 e le 13:0059, short e long on market come sono alla fine della barra chiusa

     

    ho capito bene?

    #138133 quote
    robertogozzi
    Moderator
    Master

    Si, solo che l’ora di chiusura non è 14, 29, 44 e 59, ma combacia con l’inzio della barra successiva, quindi sarà 15, 30, 45 e 00.

    OpenTime restituisce l’ora di apertura, Time quella di chiusura della candela.

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

Sell alla chiusura della barra


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Rapto87 @rapto87 Participant
Summary

This topic contains 9 replies,
has 3 voices, and was last updated by robertogozzi
5 years, 7 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 06/30/2020
Status: Active
Attachments: No files
Logo Logo
Loading...