Codice orario ordini

Viewing 15 posts - 1 through 15 (of 32 total)
  • Author
    Posts
  • #93556 quote
    illenza
    Participant
    Junior

    Salve, sto usando defparam per istruire il sistema su quando stare a mercato con operatività intraday

    DEFPARAM FLATBEFORE = 090000
    DEFPARAM FLATAFTER = 220000

    Sul pdf online di Proreal non trovo le istruzioni per dire al sistema di non effettuare più ordini sell o buy da una certa orsa, vorrei inserire la stringa nel codice dicendogli di non effettuare più nessun ordine a partire dalle 21.

    mi potete segnalare il codice?

    grazie

    #93560 quote
    robertogozzi
    Moderator
    Master

    Invece di dire quando smettere di operare ti consiglio di indicare quando operare.

    Dove hai il BUY/SELLSHORT aggiungi alle tue condizioni:

    IF not OnMarket AND MieCondizioni AND time >= 090000 AND time <= 210000 THEN
    #93569 quote
    illenza
    Participant
    Junior

    Ciao Roberto, grazie per la prontezza. Sto facendo girare il programma su 3 minuti.

    Ho definito i parametri per operare (futures mini sp500), dalle 02 alle 22.

    Il problema è che chiudendo un’ora prima, ovvero alle 21, mi perderei (a conti fatti e statistiche di performance analizzate) alcuni euro.

    Ora, la mia idea è dire al programma “lavori dalle 02 alle 22, ma dalle 21 se non sei a mercato non piazzi più ordini”.

    Da quello che ho capito posso lasciare i DEFPARAM con gli orari e dire al sistema “se non sono a mercato alle 21, dalle 21 alle 22 non mi piazzi ordini”.

    Quindi in pratica dovrei lasciare i defparam e inserire nelle condizioni

    IF not OnMarket AND MieCondizioni AND time >= 210000 AND time <= 220000 THEN

    Scusa l’ignoranza ma sono da poco entrato nel mondo dei ts automatici e sto piano piano imparando, e sto facendo tutto da solo essendo anche totalmente digiuno di programmazione ma me la sto cavando.

    Ne approfitto per chiederti inoltre, visto che sei il moderatore, se condividendo i sistemi c’è la possibilità di migliorarli. Sto trovando cose interessanti, ma non si finisce mai di imparare e un aiuto, oltre che gradito, è sempre utile, come utile penso sia il condividere dei sistemi che hanno una buona idea di base e che possono essere migliorati.

    Grazie ancora per la tua gentilezza e disponibilità.

    #93575 quote
    robertogozzi
    Moderator
    Master

    Devi lasciare DEFPARAM FlatBefore/FlatAfter, in quanto questi impediscono che tu entri a mercato al di fuori da quegli orari, anche se le condizioni sono soddisfatte. FLATAFTER chiude ogni posizione aperta a quell’ora.

    Se, invece, vuoi impedire che vengano aperte posizioni in orari più delimitati (rispetto a quelli di cui sopra) devi usare la riga  di cui ti ho fatto l’esempio.

    Ti posto il link ad un mio programma di studio, in particolare fai attenzione alle righe 3-4, 19 e 26 https://www.prorealcode.com/topic/mid-daily-range-bo-dax-mtf/ dove specifico in quali orari e giorni aprire posizioni.

    Certo, la condivisione può permettere di migliorare una strategia o dare spunti a qualcuno (spero sia così nel caso del link di cui sopra).

    Ci sono buone strategie, che molti usano, magari modificandole, ad esempio PATHFINDER che puoi ricercare e trovare facilmente.

    #93649 quote
    illenza
    Participant
    Junior

    grazie Roberto. Dovrebbe essermi chiaro

    Non ci capisco molto nel codice ma gli darò un’occhiata e cercherò di capire qualcosa.

    Sto testando delle semplici strategie. Magari te ne mando qualcuna.

    grazie mille, a presto

    Ps ho aggiunto al sistema il “quit” in modo da definire praticamente uno stop giornaliero per la stregia

    #93704 quote
    illenza
    Participant
    Junior

    Ciao Roberto. Ti mando questi 2 codici per sapere cosa ne pensi.

    Lavorano uno su SP500  a 3 minuti, con contratto da 1 euro (su IG) e uno sul Gold (anche questo da 1 euro su IG).

    Ne ho altri che stanno girando in virtuale ma questi 2 da qualche gg li sto facendo girare in reale. L’idea di base è quella di avere dei programmini che sfruttando un’esposizione molto piccola possano rendere statisticamente abbastanza bene da creare una entrata piccola ma continua ogni mese ed eventualmente gestire il portafoglio competo dei sistemi.

    Ovviamente la size è modificabile, applicabile anche a SP500 mini o future, a seconda delle disponibilità di ognuno.

    Lavorano su pattern di candele. Quello sul gold lavora con il concetto di ritracciamento nel trend.

    Ovviamente sono migliorabili. Io non so ancora come fare per condividere con tutti gli altri le strategie e sinceramente vedo cose per me complicatine. E forse le mie sono troppo basiche. Ho fatto comunque dei test con le variabili per trovare i parametri migliori per tp e sl, nonché sma.

    Cmq te le mando giusto per avere una tua opinione, senza voler disturbare o essere pedante, immagino avrai mille cose da fare. Non so come fare per postare il codice in modo che si vedano i colori…

    A presto

    // sp500 3 min
    
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = false // Posizioni cumulate disattivate
    DEFPARAM FLATBEFORE = 010000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
    DEFPARAM FLATAFTER = 220000
    //daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 5 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    // Condizioni per entrare su posizioni long
    sma200 = average [160]
    sma50 = average [50]
    //candela verde
    c1 = (close > open)
    //close maggiore del precedente open
    c2 = (close > open[1])
    //candela 1 rossa
    c3 = (close[1] < open[1])
    //candela 2 rossa
    c4 = (close[2] < open[2])
    c5 = (close > sma200)
    c6 = sma50 > sma200
    
    IF not onmarket and c1 AND c3 and c4 and c5 and c2 and c6 AND not daysForbiddenEntry and time<=203000 THEN
    buy 3 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    
    //candela 1 verde
    c10 = (close [1]> open[1])
    //candela uscita rossa
    c11 = (close < open)
    //candela di uscita chiusura sotto open candela verde
    c12 = (close < open[1])
    //candela di uscita max maggiore candela verde
    c13 = (high > high[1])
    c14 = (close > sma200)
    c15 = close < sma50
    
    IF c10 AND c11 and c12 and c13 and c14 and c15 THEN
    sell AT MARKET
    ENDIF
    
    // Stop e target
    
    SET STOP $LOSS 45
    //set stop $trailing 100
    SET TARGET $PROFIT 60
    
    IF onmarket and PositionPerf < -0.005 THEN
    QUIT
    ENDIF
    
    //IF STRATEGYPROFIT < -75 or STRATEGYPROFIT > 500 THEN
    //QUIT
    //ENDIF
    // gold a h1
    
    //————————————————————————-
    // Codice principale : GOLD-3close-inverse
    //————————————————————————-
    //VA BENE SU TREND AL RIBASSO
    
    //posizione originaria test ottimo con 5 contratti, messo 2 contratti per prova
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    DEFPARAM FLATBEFORE = 090000
    // Cancellare tutti gli ordini in attesa e chiudere tutte le posizioni all’orario “Flat After”
    DEFPARAM FLATAFTER = 220000
    
    // Impedisce al sistema di tradare in giorni specifici della settimana
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    //guadagno=1.00 //1%
    //if ONMARKET and POSITIONPERF>guadagno then
    //SET STOP $LOSS 0
    //endif
    
    // Condizioni per entrare su posizioni long
    //indicator1 = Average[200](close)
    sma50 = average[50] (close)
    c1 = (close > close[1])
    c2 = (close[1] < close[2])
    c3 = (close[2] < close[3])
    c4 = (close > sma50)
    c5 = (sma50 > sma50[2])
    
    IF c1 and c2 and c3 and c4 and c5 AND not daysForbiddenEntry THEN
    sellshort 2 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per entrare su posizioni short
    //indicator2 = Average[200](close)
    //c3 = (close < indicator2)
    sma50 = average[50] (close)
    c10 = (close < close[1])
    c11 = (close[1] > close[2])
    c12 = (close[2] > close[3])
    c13 = (close < sma50)
    c14 = (sma50 < sma50[2])
    
    IF c10 and c11 and c12 and c13 and c14 AND not daysForbiddenEntry THEN
    buy 2 CONTRACT AT MARKET
    ENDIF
    
    // Stop e target
    //SET STOP $LOSS 300
    //set stop $trailing 50
    //SET TARGET $PROFIT 200
    #93854 quote
    robertogozzi
    Moderator
    Master

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code”, in modo da rendere il codice più leggibile. Adesso l’ho messo a posto io.

    Non ho ancora avuto il tempo di provarli, lo farò agli inizi della prossima settimana.

    Buon fine settimana.

    #93856 quote
    illenza
    Participant
    Junior

    grazie, una precisazione… nel codice cè un commento che dice che va bene in trend al ribasso… in realtà mi è rimasto dentro, non doveva esserci quel commento… va provato in entrambe le direzioni

    buon we anche a te

    #93857 quote
    illenza
    Participant
    Junior

    ti passo anche questo. lo sto testando in reale dopo un periodo in virtuale e avendo effettuato alcune modifiche (ovviamente con una size molto piccola).

    gira su sp500 1€, solo long

    //-------------------------------------------------------------------------
    // Codice principale : SP-3min-OT1
    //-------------------------------------------------------------------------
    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = false // Posizioni cumulate disattivate
    DEFPARAM FLATBEFORE = 010000
    DEFPARAM FLATAFTER = 220000
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    // Condizioni per entrare su posizioni long
    sma160 = average [160]
    sma50 = average [50]
    //candela verde
    c1 = (close > open)
    //close maggiore del precedente open
    c2 = (close > open[1])
    //candela 1 rossa
    c3 = (close[1] < open[1])
    //candela 2 rossa
    c4 = (close[2] < open[2])
    c5 = (close > sma160)
    c6 = sma50 > sma160
    
    IF not onmarket and c1 AND c3 and c4 and c5 and c2 and c6 AND not daysForbiddenEntry and time<=203000 THEN
    buy 3 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    
    //candela 1 verde
    c10 = (close [1]> open[1])
    //candela uscita rossa
    c11 = (close < open)
    //candela di uscita chiusura sotto open candela verde
    c12 = (close < open[1])
    //candela di uscita max maggiore candela verde
    c13 = (high > high[1])
    c14 = (close > sma160)
    c15 = close < sma50
    
    IF c10 AND c11 and c12 and c13 and c14 and c15 THEN
    sell AT MARKET
    ENDIF
    
    // Stop e target
    SET STOP $LOSS 45
    SET TARGET $PROFIT 100
    
    IF PositionPerf < -0.004 THEN
    QUIT
    ENDIF
    
    
    #93858 quote
    illenza
    Participant
    Junior

    preciso che il codice lavora su grafico a 3 minuti

    #94259 quote
    robertogozzi
    Moderator
    Master

    Per te è profittevole?

    Dipende anche dallo spread, non so quanto sia. Io ho messo 5 pips e non è profittevole. Fa molte entrate ed a me piacciono le strategie che non ne fanno molte, altrimenti lavora prevalentemente per il broker.

    #94313 quote
    illenza
    Participant
    Junior

    ciao roberto, te lo avevo mandato solo per avere un tuo parare dato che mi sono avvicinato da poco a questo mondo. La tua osservazione è giusta, infatto ho fatto alcuni cambiamenti, ti metto il codice e lo screenshot dei risultati.

    Lo spread è di 0.4 punti. sp500 1€ a 3 min, broker IG. Questo già soffre molto meno i ribassi e fa poche operazioni. Ho ottimizzato con le variabili medie mobili e stop e profit. L’idea è quella di avere un sistema con poco drow, il minor numero di operazioni e la maggiore stabilità possibile, poi basta aumentare i size.

    // Definizione dei parametri del codice
    DEFPARAM CumulateOrders = false // Posizioni cumulate disattivate
    DEFPARAM FLATBEFORE = 010000
    DEFPARAM FLATAFTER = 220000
    daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
    
    // Condizioni per entrare su posizioni long
    sma200 = average [160]
    sma50 = average [40]
    //candela verde
    c1 = (close > open)
    //close maggiore del precedente open
    c2 = (close > open[1])
    //candela 1 rossa
    c3 = (close[1] < open[1])
    //candela 2 rossa
    c4 = (close[2] < open[2])
    c5 = (close > sma200)
    c6 = sma50 > sma200
    c7 = sma200 > sma200[5]
    
    IF not onmarket and c1 AND c3 and c4 and c5 and c2 and c6 and c7 AND not daysForbiddenEntry and time<=203000 THEN
    buy 3 CONTRACT AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    
    //candela 1 verde
    c10 = (close [1]> open[1])
    //candela uscita rossa
    c11 = (close < open)
    //candela di uscita chiusura sotto open candela verde
    c12 = (close < open[1])
    //candela di uscita max maggiore candela verde
    c13 = (high > high[1])
    c14 = (close > sma200)
    c15 = close < sma50
    
    IF c10 AND c11 and c12 and c13 and c14 and c15 THEN
    sell AT MARKET
    ENDIF
    
    
    // Stop e target
    SET STOP $LOSS 45
    //set stop $trailing 100
    SET TARGET $PROFIT 60
    
    IF onmarket and PositionPerf < -0.005 THEN
    QUIT
    ENDIF
    
    IF STRATEGYPROFIT < -75 or STRATEGYPROFIT > 500 THEN
    QUIT
    ENDIF

     

    Se hai qualche consiglio o osservazione ti ringrazio. Se ti disturbo troppo ti prego di dirmelo, non voglio essere invasivo.

    a presto

    Immagine.png Immagine.png
    #94322 quote
    robertogozzi
    Moderator
    Master

    Stavolta fa poche operazioni, appena 5 in oltre un anno!

    Però è sempre negativo.

    #94360 quote
    illenza
    Participant
    Junior

    scusa roberto ma su cosa lo hai provato? il mio è su 3 minuti e non è negativo come vedi dallo screen… te ne manderò un’altro basato su alcune medie che sembra dare buoni risultati… buon we

    #94363 quote
    robertogozzi
    Moderator
    Master

    Io l’ho provato sul US 500 CASH $1 (cfd di IG, 3 minuti) con 200k barre di storico.

    Buon fine settimana anche a te.

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

Codice orario ordini


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
illenza @illenza Participant
Summary

This topic contains 31 replies,
has 2 voices, and was last updated by illenza
6 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 03/13/2019
Status: Active
Attachments: 4 files
Logo Logo
Loading...