come si fa a creare uno screener partendo da un trading system?
Se hai una strartegia come questa:
IF close crosses over Average[100] Then
buy at market
Endif
puoi trasformala in screener così:
SCREENER [close crosses over Average[100]]
in pratica fai in modo che lo screener rilevi tutti gli strumenti in cui le condizioni del trading system siano verificate.
partendo da questo esempio come lo si trasforma?
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = ADX[18]
indicator2 = DIminus[18](close)
c2 = (indicator3 < 26)
indicator4 = Volume
indicator5 = Average[21](indicator4)
c3 = (indicator4[1] > indicator5[1])
indicator6 = Average[50](close)
c4 = (close[1] > indicator6[1])
indicator7 = DonchianChannelUp[10]
c5 = (DClose(0)[1] > indicator7[1])
IF c1 AND c2 AND c3 AND c4 AND c5 THEN
BUY 1 SHARES AT MARKET
ENDIF
// Condizioni per uscire da posizioni long
indicator8 = Average[50](close)
c6 = (close[1] < indicator8[1])
IF c6 THEN
SELL AT MARKET
ENDIf
Per favore usa sempre il pulsante “Insert PRT code” quando inserisci il codice nei tuoi post per facilitare la lettura degli altri, come ben evidenziato in giallo più sotto.
Grazie 🙂
Eccolo (c1 dovrai inserirlo te dove vuoi, io non so cosa sia):
// Condizioni long
indicator1 = ADX[18]
indicator2 = DIminus[18](close)
c2 = (indicator3 < 26)
indicator4 = Volume
indicator5 = Average[21](indicator4)
c3 = (indicator4[1] > indicator5[1])
indicator6 = Average[50](close)
c4 = (close[1] > indicator6[1])
indicator7 = DonchianChannelUp[10]
c5 = (DClose(0)[1] > indicator7[1])
SCREENER[c1 AND c2 AND c3 AND c4 AND c5]
Funziona anche in verso contrario, cioè applicando un trading system su di uno screener? mi faresti un esempio , grazie mille
Lo screener è questo
GAP= DOpen (0) > 1.10* DClose (1)
SCAMBI=volume>10000000
screener[GAP and SCAMBI]
mentre il trading system devo ancora crearlo. Io per ora sto usando la versione End of day ,ma ho in previsione a breve di passare in real time, quindi ti chiedo il mio screener lo vorei applicare in modo che mi trovi i titoli che hanno un apertura della prima candela >10% rispetto alla chiusura del giorno prima e vorrei saper se lo screener che ho fatto e corretto. Grazie ancora
Si, è corretto.
Per farci una strategia besta prendere le condizioni dello screener (nel tuo caso sono due) e farci la strategia:
GAP= DOpen (0) > 1.10* DClose (1)
SCAMBI=volume>10000000
IF GAP and SCAMBI Not OnMarket THEN
BUY 1 CONTRACT AT Market
ENDIF
basta che ci aggiungi il target e lo stop loss.
L ho fatto ma mi da errore
GAP= DOpen (0) > 1.10* DClose (1)
SCAMBI=volume>10000000
IF GAP and SCAMBI Not OnMarket THEN
BUY 1 CONTRACT AT Market
ENDIF
SET STOP %LOSS 2 %TRAILING 2
SET TARGET %PROFIT 20
GAP= DOpen (0) > 1.10* DClose (1)
SCAMBI=volume>10000000
IF GAP and SCAMBI Not OnMarket THEN
BUY 8 shares AT Market
ENDIF
SET STOP %LOSS 2 %TRAILING 2
SET TARGET %PROFIT 20
Ho messo SL ecc. ma mi da errore , qui ho anche cambiato contratti in azioni, poi altre domande che riguardano il trading sistem , posso continuare qui o preferisci nel forum pro order?
se lo screener mi da più risultati (come mi succede) come faccio a gestire ordini?
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Timeframe(Daily)
Inizio = 20210901 //iniziare dall'1/9/2021
Gap = 0
MyOpen = 0
FOR i = 1 TO BarIndex
IF (Date[i] = Inizio) THEN
MyOpen = Open[i]
break
ELSE
IF (Date[i] < Inizio) THEN
MyOpen = open[i - 1]
break
ENDIF
ENDIF
NEXT
Diff = (Dclose(1) / MyOpen)
IF Diff > 0 THEN
Gap = (diff > 15)
ENDIF
SCREENER[Gap](Diff AS "% Gap")
Quali differenze ci sono da questo programma che mi ha scritto tu in un altra mia domanda e quello da me creato sopra , a me serve un a scrematura di titoli che aprano con +15% dalla chiusura del giorno prima, grazie
La tua riga 6 è errata, non si possono mettere due ordini STOP sulla stessa riga (nonostante sul manuale ci sia un esempio). O l’uno o l’altro. Se li metti su due righe separate prende per buono sempre quello eseguito per ultimo.
Cosa intendi per “lo screener mi da più risultati“? Le strategie possono operare solu su uno strumento (coppia valutaria o azione che sia) lo decidi tu quando la scegli sul grafico. La strategia verifica le condizioni SOLO su quello strumento finanziario, non può, a differenza degli screener, fare ricerche su più titoli.
Se vuoi puoi duplicare la strategia ed eseguirla ANCHE su un altro strumento.
Quello fa la differenza da una certa data fino alla chiusura di ieri.
Per farla tra la chiusura di ieri e l’apertura di oggi occorre questo:
Diff = (Dopen(0) / Dclose(1))
IF Diff > 0 THEN
Gap = (diff > 15)
ENDIF
SCREENER[Gap](Diff AS "% Gap")
Ok grazie ,capito la strategia si può applicare ad un solo strumento per volta . La mia idea era quella di abbinare un TS ad uno screener in modo automatico ,quindi devo farlo assolutamente a mano , cioè lanciare lo screener poi vedere i 3/4 titoli che escono e poi da li applicare il trading sistem ?
Non c’ è modo di creare una lista o simile composta dai 3/4 titoli dello screener e poi da quella attivare il trading sistem in automatico?
GAP= DOpen (0) > 1.10* DClose (1)
SCAMBI=volume>10000000
IF GAP and SCAMBI Not OnMarket THEN
BUY 8 shares AT Market
ENDIF
SET STOP %LOSS 2 %TRAILING 2
SET TARGET %PROFIT 20
L errore che dici alla riga 6 si riferisce a questo prorgamma ? ma e uguale alla crrazione semplice che da la PRT e l ho provato con altri e funziona scritti nello stesso modo
Impossibile. Postane uno scritto così che funzioni.