Allarmi per sistematico su azionario
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Allarmi per sistematico su azionario
- This topic has 15 replies, 3 voices, and was last updated 1 day ago by robertogozzi.
-
-
12/26/2024 at 5:54 PM #241803
Ho provato a creare un indicatore che mi attivasse degli allarmi allo scattare dei segnali di un sistema che su PRT non posso attivare su azionario.
Questo un codice di esempio:// Parametri
StopLoss = 2000
TakeProfit = 3500
StartTime = 150000
EndTime = 180000// Calcolo della dimensione della posizione
Capitale = 10000
MySize = Capitale / Close// Logica di trading
IF Time >= StartTime AND Time < EndTime THEN
IF NOT ONMARKET THEN
// Ordine di acquisto al massimo della sessione
BUY MySize SHARES AT DHigh(0) STOP
// Imposta stop loss e take profit in valori monetari
SET STOP $LOSS StopLoss
SET TARGET $PROFIT TakeProfit
ENDIF// Ordine di vendita al minimo della sessione
SELL AT DLow(0) STOP
ENDIFE’ possibile crearci un indicatore per avere per lo meno gli allarmi che mi permettano di inserire poi ordini manuali ?
12/27/2024 at 3:29 PM #24182112/27/2024 at 3:54 PM #24182412/27/2024 at 4:07 PM #24182712/28/2024 at 12:59 PM #241848Pubblica il tuo argomento nel forum corretto ProBuilder: argomenti su indicatori.
L’ho spostato io dal precedente forum.
Tu hai creato una strategia automatizzata. Puoi usarla per i segnali e per visualizzare target e Stop, ma va tenuto il backtest sempre aperto e funzionante e va modificato il tuo codice come segue:
12345678910111213141516171819202122232425262728// ParametriStopLoss = 2000TakeProfit = 3500StartTime = 150000EndTime = 180000// Calcolo della dimensione della posizioneCapitale = 10000MySize = Capitale / Close// Logica di tradingIF Time >= StartTime AND Time < EndTime THENIF NOT ONMARKET THENMyEntry = DHigh(0)MyExit = DLow(0)// Ordine di acquisto al massimo della sessioneBUY MySize SHARES AT MyEntry STOP// Imposta stop loss e take profit in valori monetariSET STOP $LOSS StopLossSET TARGET $PROFIT TakeProfitELSE// Ordine di vendita al minimo della sessioneSELL AT MyExit STOPENDIFENDIF//GraphOnprice MyEntry + (TakeProfit / abs(CountOfPosition)) AS "Target" coloured("Green")GraphOnprice MyEntry - (StopLoss / abs(CountOfPosition)) AS "Stop" coloured("Red")GraphOnPrice MyEntry AS "Entry" coloured("Blue")GraphOnPrice MyExit AS "Exit" coloured("Black")Se, invece, vuoi un indicatore, questo deve simulare la strategia e visualizzare i dati sul grafico, con l’aggiunta di un segnale quando si verifica un’entrata o un’uscita, in modo che tu possa aggiungere degli allarmi sonori (tramite l’icona della “campanella”):
12345678910111213141516171819202122232425262728293031323334353637383940// ParametriONCE Offset = 100 * PipSizeONCE StopLoss = 2000ONCE TakeProfit = 3500ONCE StartTime = 150000ONCE EndTime = 180000// Calcolo della dimensione della posizioneONCE Capitale = 10000ONCE MySize = Capitale / Close//ONCE LongTrade = 0ONCE MyEntry = DHigh(0)ONCE MyExit = DLow(0)//Segnale = 0// Logica di tradingIF (Time >= StartTime) AND (Time < EndTime) THENIF (high >= MyEntry) AND (high[1] < MyEntry) AND Not LongTrade THENLongTrade = 1Segnale = 1myTarget = MyEntry + (TakeProfit / MySize)myStop = MyEntry - (StopLoss / MySize)ENDIFIF NOT LongTrade AND (close < DHigh(0)) THENMyEntry = DHigh(0)MyExit = DLow(0)myTarget = MyEntry + (TakeProfit / MySize)myStop = MyEntry - (StopLoss / MySize)ENDIFENDIFIF (((low <= MyExit) AND (low[1] > MyExit)) OR (low <= MyStop) OR (high >= myTarget)) AND LongTrade THENLongTrade = 0Segnale = -1ENDIFIF Segnale = 1 THENDrawArrowUP(BarIndex,MyEntry - Offset - Range) coloured("Blue")ELSIF Segnale = -1 THENDrawArrowDOWN(BarIndex,MyEntry - Offset - Range) coloured("Orange")ENDIFRETURN MyEntry AS "Entry" coloured("Blue"),MyExit AS "Exit" coloured("Black"),myTarget AS "Target" coloured("Green"),myStop AS "Stop" coloured("Red"),Segnale AS "Segnale" coloured(255,255,255,1)quando setti l’allarme sul grafico, SEGNALE avrà valore 1 quando c’è un’entrata e valore -1 quando c’è un’uscita.
L’uscita verrà segnalata sempre con -1, qualunque sia il motivo (Stop Loss colpito, Target Profit raggiunto oppure quando il oprezzo scende solo DLow(0).
1 user thanked author for this post.
12/28/2024 at 8:30 PM #24185412/28/2024 at 9:00 PM #24185712/29/2024 at 10:40 AM #241873Se trovi differenze indicami:
- nome dello strumento
- timeframe usato
- data ed ora delle candele dove ci sono entrate/uscite difformi.
12/29/2024 at 5:03 PM #241894Buongiorno.
Molto probabilmente il fatto di essere a mercato nella strategia, rispetto all’indicatore (che non lo sa), influisce su tutto il backtest.
Non mi spiego però quando entrambi non sono a mercato perchè non hanno lo stesso ingresso.
In questo caso ho caricato entrambi su Tesla 15min. La strategia sul prezzo e l’indicatore sul pannello sotto.12/29/2024 at 5:06 PM #24189612/29/2024 at 6:53 PM #241908Ho fatto delle modifiche, ma alcuni problemi restano. Sono legati all’entrate con ordini pendenti, che in un indicatore si gestiscono male:
1234567891011121314151617181920212223242526272829303132333435363738394041ONCE Offset = 100 * PipSizeONCE StopLoss = 2000ONCE TakeProfit = 3500ONCE StartTime = 150000ONCE EndTime = 180000// Calcolo della dimensione della posizioneONCE Capitale = 10000MySize = Capitale / Close//ONCE LongTrade = 0ONCE MyEntry = DHigh(0)ONCE MyExit = DLow(0)//Segnale = 0// Logica di tradingIF (Time > StartTime) AND (Time < EndTime) THENIF (high >= MyEntry) AND (close[1] < MyEntry) AND Not LongTrade AND (Day = Day[1]) THENLongTrade = 1Segnale = 1myTarget = MyEntry + (TakeProfit / MySize)myStop = MyEntry - (StopLoss / MySize)ENDIFIF NOT LongTrade AND (close < DHigh(0)) THENMyEntry = DHigh(0)MyExit = DLow(0)myTarget = MyEntry + (TakeProfit / MySize)myStop = MyEntry - (StopLoss / MySize)ENDIFIF (((low <= MyExit) AND (low[1] > MyExit)) OR (low <= MyStop) OR (high >= myTarget)) AND LongTrade THENLongTrade = 0Segnale = -1ENDIFENDIFIF Segnale = 1 THENDrawArrowUP(BarIndex,MyEntry - Offset - Range) coloured("Blue")ELSIF Segnale = -1 THENDrawArrowDOWN(BarIndex,MyEntry - Offset - Range) coloured("Orange")ENDIF//RETURN LongTrade//return DHigh(0),DLow(0)RETURN MyEntry AS "Entry" coloured("Blue"),MyExit AS "Exit" coloured("Black"),myTarget AS "Target" coloured("Green"),myStop AS "Stop" coloured("Red"),Segnale AS "Segnale" coloured(255,255,255,1)12/29/2024 at 6:54 PM #241909Infatti rimangono sballati.
Proseguo con la soluzione della strategia. Il vero problema è la mancanza dell’alert a questo punto.
Non ho ancora verificato se salvando il piano rimangono salvate anche le strategie attive o se vanno caricate ad ogni nuova apertura (che sarebbe ingestibile sopra un certo numero di titoli).
Certo che questo è sicuramente un limite importante di ProRealTime rispetto a diverse altre soluzioni (es. Tradestation o Multicharts)
12/29/2024 at 7:01 PM #241912I backtest salvati nel template vengono riaperti automaticamente.
01/03/2025 at 8:54 AM #24209901/03/2025 at 10:49 AM #242103Nel frattempo ho riprovato a caricare strategia + indicatore, ovviamente con stesse variabili, sullo stesso sottostante.
Anche quando la strategia non è in posizione le righe “entry”, ecc non sono allineate. Mi aspetterei che nei momenti flat (quando la strategia non è in posizione da codice non ci sono ordini pendenti), dovrebbero coincidere, invece non è così.
-
AuthorPosts
Find exclusive trading pro-tools on