Assistenza per primo (banale) TS

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #63596 quote
    FXtrad
    Participant
    New

    Buonasera a tutti e grazie in anticipo per la vostra disponibilità.

    (come intuirete tra pochissimo) sto provando a scrivere le mie prime righe senza riuscire.

    Quello che volevo provare a scrivere è questo:

    Se non sei già long, Entra long con 1 contratto quando il close di oggi è maggiore del MAXclose degli “n” giorni precedenti.
    Esci dopo “x” giorni
    Se non sei già short, Entra short con 1 contratto quando il close di oggi è minore del minclose degli “n” giorni precedenti.
    Esci dopo “x”giorni

    Ho definito sia n che x con valori compresi tra 1 e 20 con passo 2.
    Non ho inserito né commissioni né spread.
    Capitale di partenza 100000
    Misura per lotto 1

    Il codice è il seguente:

    MAXrel = highest[n](close)
    minrel = lowest[n](close)
    EXIT = BARINDEX - TRADEINDEX
    
    // Condizioni per entrare su posizioni long
    IF NOT LongOnMarket AND Close > MAXrel THEN
       BUY 1 LOT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    If LongOnMarket AND EXIT = x THEN
       SELL 1 LOT AT MARKET
    ENDIF
    
    // Condizioni per entrare su posizioni short
    IF NOT ShortOnMarket AND Close < MINrel THEN
       SELLSHORT 1 LOT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni short
    IF ShortOnMarket AND EXIT = x THEN
       EXITSHORT 1 LOT AT MARKET
    ENDIF

     


    Sto provando sulla versione free della PRT con i dati end of day.

    Ma il sistema mi genera zero trade in tutto lo storico considerato.

    Dove sto sbagliando ?
    Grazie !

    #63600 quote
    robertogozzi
    Moderator
    Master

    Le righe 12 e 22 NON vanno bene in quanto, mentre è consentito accumulare più posizioni anche in tempi diversi, NON ne è consentita la chiusura parziale, per cui vanno chiuse tutte con:

    SELL AT MARKET        //per i LONG
    //  e
    EXITSHORT AT MARKET   //per gli SHORT

    Comunque questo non influisce sul tuo problema.

    La tua strategia NON potrà mai funzionare perché confronti i massimi (ma vale anche per i minimi) delle ultime “n” candele, qujindi anche quella corrente col prezzo di chiusura corrente. Il prezzo di chiusura corrente NON potrà MAI essere superiore al proprio massimo!!!

    Questo funziona (almeno su Eur/usd, h1):

    ONCE n = 10
    ONCE x = 5
    MAXrel = highest[n](close[1])
    minrel = lowest[n](close[1])
    EXIT = BARINDEX - TRADEINDEX
    
    // Condizioni per entrare su posizioni long
    IF NOT LongOnMarket AND Close > MAXrel THEN
       BUY 1 LOT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    If LongOnMarket AND EXIT = x THEN
       SELL AT MARKET
    ENDIF
    
    // Condizioni per entrare su posizioni short
    IF NOT ShortOnMarket AND Close < MINrel THEN
       SELLSHORT 1 LOT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni short
    IF ShortOnMarket AND EXIT = x THEN
       EXITSHORT AT MARKET
    ENDIF

    A parte avere aggiunto le due variabili mancanti n ed x all’inizio, ho modificato le righe 3 e 4 in modo che verifichino fino alla chiusura PRECEDENTE.

    Ho anche modificato le righe 14 e 24 per i motivi sopra indicati.

    Roberto

    #63604 quote
    FXtrad
    Participant
    New

    Buonasera Roberto e grazie per la risposta in real time !
    Ho provato a farlo girare ed in effetti funziona.

    Quindi le variabili n ed x le devo eguagliare ad una costante

    “n = 10
    x = 5 ”
    anche se poi le voglio far variare ed utilizzarle come parametri per una eventuale ottimizzazione?

    Ho capito invece l’errore che facevo mettendo Close invece di Close[1], abbastanza ingenuo direi 🙂

    Grazie di nuovo !

    Luca

    #63609 quote
    robertogozzi
    Moderator
    Master

    Per le variabili ho indicato ONCE, ma serve a poco, fa solo risparmiare qualche microsecondo al sistema che non deve riesaminarle ogni volta.

    Se le tue variabili vuoi eventualmente variarle all’interno della strategia non usare ONCE.

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

Assistenza per primo (banale) TS


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
FXtrad @fxtrad Participant
Summary

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

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 02/22/2018
Status: Active
Attachments: No files
Logo Logo
Loading...