Buongiorno,
sono novellino ed ho provato a tirar giù i miei primi codici.
Il più grosso problema lo trovo nell’entrata puntuale: se ad esempio voglio comprare quando il prezzo scende di 3 punti sotto la media mobile a 13 vorrei entrare proprio in quel punto, invece non so come fare e quindi ho messo buy at market e il TS mi compra all’apertura della candela successiva.
Come posso risolvere?
Grazie e scusate la domanda elementare, ma dai manuali non sono riuscito a trovare la soluzione.
DEFPARAM CumulateOrders = False
//calcolo average13
Av13= average[13](close)
//calcolo oscillatore
ent=(low)-av13
//LIVELLO ENTRATA
hy=-3
//CONTRATTI
CNT=1
//tp
tp=12
//sl
sl=tp*0.75
//SEGNALE
IF ent<HY then
buy CNT SHARE at market
endif
set target profit tp
set stop loss sl
Per favore usa il pulsante “Insert PRT code” per inserire codice in modo che sia separato dal testo e formattato per miglirarne la leggibilità. Grazie.
Alla linea 16 inserisci un ordine pendente, invece che a mercato, indicando il prezzo d’entrata usando STOP o LIMIT:
buy CNT SHARE AT Mio_Prezzo STOP //o LIMIT
Grazie, scusate per il “Insert PRT code” .
Il problema però sussiste ancora: la definizione del Mio_Prezzo mi è proprio difficile: dovrebbe essere il prezzo, nel caso del mio semplice TS, al raggiungimento di hy=-3, ma non riesco a definirlo …
Grazie tante, ti sarei molto grato se mi risolvessi la definizione del mio_prezzo per il trading system di cui sopra.
… e comunque perchè mi entra a mercato alla candela successiva e non a quella del raggiungimento del mio target?
Su quale strumento e time frame l’utilizzi?
sulla germania ( dax) timeframe 5 minuti
Se alla fine del tuo codice aggiungi queste 3 righe (o anche di più, tutte le variabili che t’interessa monitorare):
graph Av13
graph ent
graph HY
potrai vedere nel riquadro delle variabili i valori che hanno candela per candela. Tieni presente che la candela da monitorare è quella PRECEDENTE la candela dov’è c’è sopra o sotto la freccia, perché l’entrata avviene SEMPRE appena prima che la nuova candela si apra (le strategie sono sempre eseguite alla chiusura di ogni candela).
Vedi la foto allegata e vedrai cosa devi modificare.
Nel tuo caso devi inserire un ordine pendente. Quale’è il valore da utilizzare per entrare a mercato? Tu hai detto 3 punti (pips) sotto la media a 13, quindi dovrai mettere l’ordine pendente:
buy CNT SHARE AT Avg13 - 3*pipsize LIMIT
meglio che tu usi PIPSIZE per la conversione del prezzo in pips. Sul DAX non ce ne sarebbe bisogno, in quanto il rapporto prezzo/pip è di 1:1, ma sul Forex, dovìè 1:10000 otterresti risultati errati. In questo modo creai un codice che andrà bene su tutti gli strumenti.
Io ho messo LIMIT, ma può essere STOP, dipende dal prezzo corrente (CLOSE), se rispetto ad esso il prezzo d’entrata è migliorativo devi mettere LIMIT, se è peggiorativo devi mettere STOP.
Un’altra cosa cui devi fare attenzione è che tra CLOSE (che è il prezzo corrente) ed il prezzo d’entrata ci sia la distanza minima richiesta dal broker (vedi il suo sito, per lo strumento che t’interessa), altrimenti otterrai ordini rifiutati (anche se il backtest funziona).
grazie tante, proverò, buona giornata