richiamare ultima operazione

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #44616 quote
    Luigi5192
    Participant
    Average

    Salve a tutti vorrei capire se il codice che ho scritto va bene per dire al sistema che alla chiusura della candela precedente il portafoglio era investito, e nelle chiusura corrente il portafoglio non è più investito.

    Il codice mi servirebbe per aprire un posizione dopo passate max 2 barre dopo l’ultima operazione chiusa.

    c1 = close[1]<>0 and onmarket

    c2 = close<>0 and not onmarket

    if c1 and c2 then

    sell 1 contract at market

    endif

    #44631 quote
    robertogozzi
    Moderator
    Master

    Prova questo codice, che ho adattato dal manuale: https://www.prorealcode.com/documentation/tradeindex/

    if NotOnMarket and BARINDEX-TRADEINDEX(1)=2 then
       BUY 1 CONTRACT AT MARKET
    endif

    Non l’ho provato, ma sembra logico.

    Quanto al tuo esempio, close è sempre <>0 perché è il prezzo di chiusura della candela e nessun strumento potrà mai avere valore ZERO!!!

    #44662 quote
    Luigi5192
    Participant
    Average

    ok grazie ho provato è sembra funzionare.

    #44675 quote
    Luigi5192
    Participant
    Average

    Volevo solo capire sul comando TRADEINDEX, cioè se prende l’ultima entrata oppure l’ultimo ordine?

    #44738 quote
    robertogozzi
    Moderator
    Master

    BARINDEX è in numero progressivo che indica le barre caricate (trascorse) da quando una strategia viene avviata ed inizia con 0, la prima barra.

    TRADEINDEX è il numero della barra (presa da BARINDEX) in cui un trade è iniziato, TRADEINDEX o TRADEINDEX(1) sono equivalenti, restituiscono sempre l’ultimo ordine eseguito, per cui se un operazione è ancora in corso si tratta di quello corrente, per  il penultimo devi scrivere TRADEINDEX(2) .

    Questo è il link ad un thread in inglese https://www.prorealcode.com/topic/tradeindex-define-please/.

    Questo è una semplicissima strategia, dove, con GRAPH, puoi vedere i valori di BARINDEX e TRADEINDEX

    DEFPARAM CumulateOrders = FALSE
    DEFPARAM FlatBefore     = 090000
    DEFPARAM FlatAfter      = 180000
    
    IF Adx[14] > 40 AND close > open THEN
       BUY 1 CONTRACT AT MARKET
    ENDIF
    
    GRAPH BarIndex      AS "Bix"
    GRAPH Tradeindex    AS "Trx0"
    GRAPH Tradeindex(1) AS "Trx1"
    GRAPH Tradeindex(2) AS "Trx2"

    Nello screenshot allegato puoi vedere la finestra (all’incirca nella parte centrale dell’immagine)  delle variabili con i valori evidenziati.

    Nicolas thanked this post
    #44867 quote
    Luigi5192
    Participant
    Average

    Adesso è tutto chiaro.

    Pero mi viene da chiedere  la variabile GRAPH che avete utilizzato nel codice sopra, che funzione avrebbe in questo caso?

    #44879 quote
    robertogozzi
    Moderator
    Master

    GRAPH è un’istruzione, non una variabile. L’ho usata pet vedere, nel backtest, il valotr delle variabili/costanti.

    Serve per il debugging.

    #45127 quote
    Luigi5192
    Participant
    Average

    o capito, grazie.

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

richiamare ultima operazione


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Luigi5192 @luigi5192 Participant
Summary

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

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 08/25/2017
Status: Active
Attachments: 1 files
Logo Logo
Loading...