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
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
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à.
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.
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
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
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.
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
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
preciso che il codice lavora su grafico a 3 minuti
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.
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
Stavolta fa poche operazioni, appena 5 in oltre un anno!
Però è sempre negativo.
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
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.