Salve è da un po di tempo che ho in mente di operare con IG attraverso la piattaforma ProrealTime. Mi sto focalizzando sul trading automatico perchè mi piace l approccio del backtest e vorrei ridurre ai minimi termini l approccio emotivo. Non ho esperienze al riguardo…tuttavia vengo dal poker online e qualche soddisfazione me la sono levata finche ci stavano i presupposti (statistici). Vi illustro al volo la mia strategia e mi farebbe piacere ricevere qualsiasi tipo di commento. Premettendo che inizierei con un capitale molto piccolo e quindi sono disposto ad affrontare un profilo di rischio relativamente alto. Capitale iniziale 500 euro.In macchina metterei esclusivamente sistemi dove il drowdown è 1/3 o almeno 1/2 rispetto al gain del backtest impostandolo con 100 000 unità. Il drowdown inoltre corrisponderà al 10% massimo 15% del capitale. I timeframe in esame cerchero di prenderli piu piccoli possibili in modo da avere una proiezione massima di 3 mesi. Manderei avanti i sistemi finchè non si verifica il drowdown per poi uscire e eventualmente rivalutarli se rompono i nuovi massimi…altrimenti li rimpiazzerei. La possibilità è che i backtest siano affidabili è fino a prova contraria del 50% (riducendo ai minimi termini “funzionano/non funzionano”). Quindi dovrei perdere 10 sistemi di fila per andare rotto. Cioè una possibilità su 1.024. Tuttavia non intendo perdere l intera somma e mi fermerei se mi dovesse rimanere un 40% del capitale iniziale. In questo modo perdere il 60% dovrebbe essere 1 su 64… cioè l’ 1,56%. Ora per quanto riguarda i profitti mettiamo che su i 10 sistemi provati 5 non vadano bene e facciano il loro drodown senza aver accumulato neanche un euro prima, mi troverei con il 50% di capitale in meno…d altro canto se gli altri 5 sistemi dovessero comportarsi come hanno “sempre” fatto prima, avrei il 150% di capitale…che sommate alle perdite dovrebbe portare un guadagno atteso del 100% (150%-50%).Riassumendo avrei 1,56% di possibilità di fallire, un guadagno atteso del 100% e per quanto riguarda il tempo mi rimane un pò difficile perchè non ho ben compreso il discorso di margine…e sulla piattaforma in fase di test ho visto che posso solo inserire lo spread e la % commissioni, ordini, transazione.(che poi ho chiesto sembra che ig per asset “mini” dia lo 0.8 di commissione…ma non so ancora per quale delle tre 3 voci precedenti corrisponda…idee?).Quindi di fatto non so quanti sistemi a queste condizioni possano girare simultaneamente….su internet in piu ho letto di un “magic number” che se non erro sembra essere come un codice identificativo per non far accavallare i sistemi. Ora il mio problema piu grande è come farli andare senza che il broker me li chiuda per via del poco margine.Ovviamente il tempo è denaro…dovrei essere un lampo.. anche xke l affitto di prorealtime è di 30 euro al mese ma i primi 3 mesi è gratuita…impatterebbe in maniera significativa sul bilancio se perdessi tempo. Per ora lascio a voi la lettura e per qualsiasi cosa poco chiara vi prego di chiedere 🙂
un altra domanda altra domanda che mi è sorta “perchè quando ad esempio do le istruzioni per il long nel pannello per compilare ad esempio l incrocio di 2 medie mobili mi chiede i contratti e poi quando ho testato il sistema e poi lo voglio mettere in funzione in basso mi chiede ancora quanti contratti?” Il secondo valore di contratti sarebbe il moltiplicatore del primo?
ah..per il backtest uso la spunta tick per tick. Ho letto in giro che gli storici online non sono attendibili….e che bisogna importatli offline per avere più accuratezza. Ma i post in questione erano del 2008…son cambiate le cose?
ProOrder ti chiede quanti contratti che desideri utilizzare è una protezione per limitare la quantità di contratti calcolata dal tuo codice. Nel caso in cui qualcosa sia stato codificato in modo errato, questa protezione può salvare il tuo account!
I dati sono affidabili, ora puoi anche testare la tua strategia di trading per tick con il nuovo motore backtest.
Ciao Nicolas
Sarebbe possibile inserire questi codici per il Money Management su questo codice
In modo che gente con meno esperienza possa capire dove inserirlo ?
Il Money Management bisogna aggiungerlo al codice oppure bisogna modificarlo? Allego un codice per S&P 500 con posizioni di acquisto, con i codici del Money Management ProRealTime Code
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
bollinger = Average [5] (chiudi) -1.5 * std [5] (chiudi)
c1 = (chiudi [1] CROSSES UNDER bollinger [1])
indicator2 = RSI[2](close)
c2 = (indicatore2 <10)
indicator3 = SuperTrend[6.5,365]
c3 = (chiudi [1]> indicatore3 [1])
indicator4 = SuperTrend[12,365]
c4 = (chiudi [1]> indicatore4 [1])
c5 = (chiudi [1]> chiudi [60])
IF c1 AND c2 AND c3 AND c4 AND c5 THEN
ACQUISTA 1 AZIONI SUL MERCATO DI TOMORROWOPEN
ENDIF
// Condizioni per uscire da posizioni long
indicator5 = Average [5] (chiudi)
c6 = (chiudi [1] CROSSES OVER indicator5 [1])
indicator6 = SuperTrend[6.5,365]
c7 = (chiudi [1] CROSSES UNDER indicator6 [1])
SE c6 O c7 POI
VENDO AL MERCATO DI DOMANI IN PASSERELLA
ENDIF
MoneyManagement ProRealTime Code
Gestione del denaro REM
Capitale = 10000
Rischio = 0,01
StopLoss = 10 // Potrebbe essere la nostra variabile X
REM Calcola i contratti
equity = Capital + StrategyProfit
maxrisk = round (equity * Risk)
PositionSize = abs (round ((maxrisk / StopLoss) / PointValue) * pipsize)
// BUY esempio di ordine
SE condizione Compra allora
ACQUISTA PositionSize CONTRATTI AL MERCATO
ENDIF
// Esempio di vendita SELL
IF conditionSell then
SELLSHORT PositionSize CONTRATTI AL MERCATO
ENDIF
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = Average[5](close)-1.5*std[5](close)
c1 = (close[1] CROSSES UNDER indicator1[1])
indicator2 = RSI[2](close)
c2 = (indicator2 < 10)
indicator3 = SuperTrend[6.5,365]
c3 = (close[1] > indicator3[1])
indicator4 = SuperTrend[12,365]
c4 = (close[1] > indicator4[1])
c5 = (close[1] > close[60])
IF c1 AND c2 AND c3 AND c4 AND c5 THEN
BUY 1 SHARES AT MARKET TOMORROWOPEN
ENDIF
// Condizioni per uscire da posizioni long
indicator5 = Average[5](close)
c6 = (close[1] CROSSES OVER indicator5[1])
indicator6 = SuperTrend[6.5,365]
c7 = (close[1] CROSSES UNDER indicator6[1])
IF c6 OR c7 THEN
SELL AT MARKET TOMORROWOPEN
ENDIF
REM Money Management
Capital = 10000
Risk = 0.01
StopLoss = 10 // Could be our variable X
REM Calculate contracts
equity = Capital + StrategyProfit
maxrisk = round(equity*Risk)
PositionSize = abs(round((maxrisk/StopLoss)/PointValue)*pipsize)
// BUY order example
IF conditionBuy then
BUY PositionSize CONTRACTS AT MARKET
ENDIF
// SELL order example
IF conditionSell then
SELLSHORT PositionSize CONTRACTS AT MARKET
ENDIF