STRATEGIA DI TRADING

Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • #61658 quote
    beppe8949
    Participant
    Average

    Ciao a tutti!

    Sapreste indicarmi gentilmente come posso fare in modo che l’autotrading:

    1 Mi apra una posizione long quando il prezzo della candela attuale supera il massimo al rialzo della candela precedente (TF 1 minuto)

    2 Mi apra una posizione short quando il prezzo della candela attuale supera il minimo al ribasso della candela precedente (TF 1 minuto)

    Grazie mille! 🙂

    #61678 quote
    robertogozzi
    Moderator
    Master

     

    1 Mi apra una posizione long quando il prezzo della candela attuale supera il massimo al rialzo della candela precedente (TF 1 minuto)

    2 Mi apra una posizione short quando il prezzo della candela attuale supera il minimo al ribasso della candela precedente (TF 1 minuto)

    Risposta 1

    IF close > high[1] THEN....

    Risposta 2

    IF close < low[1] THEN....

    Ovviamente le inserirai dove metterai il BUY o SELLSHORT.

    Tieni presente che la verifica viene fatta SOLO alla CHUSURA della barra, per cui il prezzo potrebbe avere superato i valori anche di diversi Pips!

    #61704 quote
    beppe8949
    Participant
    Average

    Grazie mille Roberto, gentilissimo, ma per quanto riguarda il codice completo, dovrebbe essere una cosa simile?

    // Condizioni per entrare su posizioni long
    IF close > high[1] THEN
    BUY 1 CONTRACTS AT MARKET
    ENDIF
    // Condizioni per entrare su posizioni short
    IF close < low[1] THEN
    SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF

    #61711 quote
    robertogozzi
    Moderator
    Master

    Esattamente così, bene!

    #61726 quote
    beppe8949
    Participant
    Average

    Ho provato giusto ora ma non funziona, nel senso che non mi apre nessuna posizione.. Il mio codice è questo, c’è qualcosa sicuramente di errato..

    Come orario ho messo dalle 15:53 alle 15:53 proprio per vedere ora se apriva qualche posizione ma nulla da fare..

     

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario “Flat Before” non saranno piazzati nuovi ordini o posizioni.
    DEFPARAM FLATBEFORE = 155300
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
    DEFPARAM FLATAFTER = 155300
    // Condizioni per entrare su posizioni long
    IF close > high[1] THEN
    BUY 1 CONTRACTS AT MARKET
    ENDIF
    // Condizioni per entrare su posizioni short
    IF close < low[1] THEN
    SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF

    #61737 quote
    robertogozzi
    Moderator
    Master

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code” per migliorarne la leggibilità.

    La strategia a me funziona, sia su Eur/Usd che sul DAX a 1 minuto, 10 minuti, fino al 4 ore. Non funziona sul giornaliero ovviamente.

    Ovviamente da risultati sballati perché le date che hai indicato, inizio e fine, sono identiche.

    Io le ho cambiate mettendo una differenza di 1 minuto, dalla 150000 alle 150100 ed il risultato è quello nella foto (TF 1 minuto).

    #61739 quote
    beppe8949
    Participant
    Average

    Perfetto si funziona! Ti spiego, io lo userei per entrare sul dax la mattina alle 08:00.. Però non mi sembra corretto in quanto facendo il backtest e andando a vedere i vari ingressi sul grafico, non è per niente preciso.. Io vorrei che entrasse in rialzo se “spacca” il massimo della candela precedente di 2 punti e in ribasso se “spacca” il minimo della candela precedente sempre di 2 punti. Per la chiusura cosa mi consigli? Di farla manualmente o di mettere un TP?

    Ora è così il codice, come dovrei modificarlo per far si che faccia questo? Grazie mille Roberto!

     

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario “Flat Before” non saranno piazzati nuovi ordini o posizioni.
    DEFPARAM FLATBEFORE = 080000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
    DEFPARAM FLATAFTER = 080100
    // Impedisce al sistema di tradare in giorni specifici della settimana
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    // Condizioni per entrare su posizioni long
    c1 = (close>high[1])
    IF c1 AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    // Condizioni per entrare su posizioni short
    c3 = (close<low[1])
    IF c3 AND not daysForbiddenEntry THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF

    #61753 quote
    robertogozzi
    Moderator
    Master

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code” per migliorarne la leggibilità. Grazie.

    #61754 quote
    beppe8949
    Participant
    Average
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    // Il sistema cancellerà tutti gli ordini in attesa e chiuderà tutte le posizioni a 0:00. Dopo l’orario “Flat Before” non saranno piazzati nuovi ordini o posizioni.
    DEFPARAM FLATBEFORE = 080000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
    DEFPARAM FLATAFTER = 080100
    // Impedisce al sistema di tradare in giorni specifici della settimana
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    // Condizioni per entrare su posizioni long
    c1 = (close>high[1])
    IF c1 AND not daysForbiddenEntry THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    // Condizioni per entrare su posizioni short
    c3 = (close<low[1])
    IF c3 AND not daysForbiddenEntry THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    #61755 quote
    beppe8949
    Participant
    Average

    Come dicevo prima vorrei che entrasse long a +2 pips del massimo precedente e in short a -2pips del minimo precedente.
    Inoltre la chiusura della posizione, meglio mettere un TP oppure chiuderla manualmente?
    Grazie mille!

    #61758 quote
    robertogozzi
    Moderator
    Master

    IG ha orari di negoziazione DAX diversi da altri broker (vedi le due foto per i giorni feriali e per il fine settimana, presi dal sito di IG).

    Se vuoi che la barra precedente alle 08:00 sia quella delle 21:59 (sul TF a 1 minuto, ad esempio) devi seguire i 6 passi che ti ho evidenziato in una foto per ottenere l’orario desiderato. Come puoi vedere PRT vuole che l’orario sia indicato in UTC (non nell’ora italiana, che è UTC+1).

    #61766 quote
    robertogozzi
    Moderator
    Master

    Se chiudi manualmente un’operazione aperta da una strategia, automaticamente ProOrder CHIUDE quella strategia e dovrai farla ripartire te.

    #61767 quote
    beppe8949
    Participant
    Average

    No no, la barra che precede le 8 dev’essere quella delle 7.59 e come orari ci siamo, la cosa che non capisco è perchè a volte entra quando il prezzo spacca il minimo o il massimo delle 7.59 e a volte no.. Oppure entra “male” e non è preciso.. Non vorrei ci sia qualcosa di errato sul codice..

    #61769 quote
    robertogozzi
    Moderator
    Master

    Per i 2 pip, la riga 12 diventa:

    BUY 1 CONTRACT AT high[1] + (2 * pipsize) STOP

    e la riga 17:

    SELLSHORT 1 CONTRACT AT low[1] - (2 * pipsize) STOP

    Tieni presente che gli ordini pendenti (STOP e LIMIT) restano validi per una sola candela, alla chiusura della quale, se non entrati a mercato, sono cancellati. Se lo desideri puoi reinserirli a tuo piacimento quante volte vuoi.

    #61771 quote
    robertogozzi
    Moderator
    Master

    La precisione in entrata non saprei dirti quanto possa essere accurata. Ti allego uno screenshot del TF a 1 secondo di stamani mattina.

    Si vede che al secondo 08:00:05 c’è una candela rialzista con apertura in GAP ribasista, che viene subito colmato, magari con un ulteriore GAP (invisibile, forse dovremmo scendere ai singoli tick per verificarlo), per cui può capitare su strumenti voltatili come Dax, EurUsd ecc… che questi gap siano frequenti e quello STOP è un ordine di cui viene garantita l’esecuzione ma non il prezzo.

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

STRATEGIA DI TRADING


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
beppe8949 @beppe8949 Participant
Summary

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

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