Aiuto brekout max della signal bar
Forums › ProRealTime forum Italiano › Supporto ProOrder › Aiuto brekout max della signal bar
- This topic has 42 replies, 2 voices, and was last updated 6 years ago by Geronima Ortiz.
-
-
05/24/2018 at 4:34 PM #71261
Salve ragazzi, è un pò di tempo che provo a scrivere un semplice sistema, ma sono ferma in un punto morto e dopo 1000 tentativi andati a vuoto ho deciso di chieder aiuto qui sperando che qualche anima buona riesca ad aiutarmi.
In sostanza dopo aver verificato che MIO INDICATORE abbia incrociato al rialzo il valore -50
vorrei che venga presa una posizione LONG solo quando avviene la ROTTURA DEL MAX DELLA BARRA CHE HA GENERATO IL SEGNALE
se nel frattempo MIO INDICATORE non abbia vanificato la condizione iniziale e cioè sia ancora sopra il valore -50
Quest’ultima condizione non so proprio come scriverla
Cè qualcuno disposto ad aiutarmi?
Un abbraccio Geronima
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni long
indicator1 = MIO INDICATORE [10](close)
c1 = (indicator1 CROSSES OVER -50)
c1a = (close > high [ DELLA BARRA CHE HA GENERATO IL SEGNALE, SE C1 ANCORA VALIDO ])IF c1[1] and c1a THEN
BUY 1 CONTRACT AT MARKET
ENDIF05/24/2018 at 5:13 PM #71264in pratica quello che non riesco a scrivere è come fare a prender posizione sulla rottura del max della barra che ha generato il sengale c1, sempre che esso sia ancora valido, e cioè mio indicatore sia ancora sopra il -50
ciao
05/24/2018 at 6:56 PM #71296Prova questo (io non l’ho provato perché non ho l’indicatore)
1234567891011121314151617181920212223242526272829DEFPARAM CumulateOrders = False // Posizioni cumulate disattivateONCE MiaBarra = 0ONCE PrezzoEntrata = 999999// Condizioni per entrare su posizioni longindicator1 = 1//MIO INDICATORE [10](close)c1 = (indicator1 CROSSES OVER -50)IF c1 THENMiaBarra = BarIndexPrezzoEntrata = highENDIF// Condizioni per an nullare il segnale precedenteIF (indicator1 CROSSES UNDER -50) THENPrezzoEntrata = 999999ENDIF// Entrare LONG a mercato (cioè dopo che il prezzo di chiusura ha superato il Massimo della barra del segnale)c1a = (close > PrezzoEntrata)IF c1[MiaBarra] and c1a and Not OnMarket THENBUY 1 CONTRACT AT MARKETENDIF//ALTERNATIVA:// entrare LONG al superamento del massimo della barra che ha gerato il segnale, con un ordine pendente//IF c1[MiaBarra] and Not OnMarket THEN// BUY 1 CONTRACT AT PrezzoEntrata STOP//ENDIFHo messo in fondo l’alternativa del codice per entrare con ordine pendente.
05/24/2018 at 7:25 PM #71301Grazie Roberto,
l’indicatore è Williams presente in prorealtime, ho usato la crazione semplificata per crearlo, la quale mi ha scritto questo sotto, poi ho cercato invano di modificarlo per fargli fare quello che ho scritto nel primo messaggio.
nota le vendite non le ho messe ancora, per non incasinare il codice….ma una volta che sono riuscita ad ottenere ciò che volgio, le inserirò magari copiando le istruzione della parte long
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni long
indicator1 = Williams[10](close)
c1 = (indicator1 CROSSES OVER -50)IF c1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF// Condizioni per uscire da posizioni long
indicator2 = Williams[10](close)
c2 = (indicator2 CROSSES UNDER -50)IF c2 THEN
SELL AT MARKET
ENDIFho provato il tuo codice però non mi plotta nulla…non capisco
05/24/2018 at 7:37 PM #71303Il mio codice era solo uno schema, non può fare niente.
Più tardi o domani lo adatterò come hai specificato tu.
05/24/2018 at 8:13 PM #71304Ti ringrazio.
A presto
05/25/2018 at 9:07 AM #71336Fai delle prove, mi sembra vada bene
BreakOut123456789101112131415161718192021222324252627DEFPARAM CumulateOrders = False // Posizioni cumulate disattivateONCE MiaBarra = 0ONCE PrezzoLong = 999999// Condizioni per entrare su posizioni longindicator1 = Williams[10](close)c1 = (indicator1 CROSSES OVER -50)IF c1 THENMiaBarra = BarIndexPrezzoLong = highENDIF// Condizioni per annullare il segnale precedenteIF (indicator1 CROSSES UNDER -50) THENPrezzoLong = 999999ENDIF// Entrare LONG a mercato (cioè dopo che il prezzo di chiusura ha superato il Massimo della barra del segnale)c1a = (close > PrezzoLong)IF c1[BarIndex - MiaBarra] and c1a and Not OnMarket THENBUY 1 CONTRACT AT MARKETENDIFSET STOP pLOSS 10SET TARGET pPROFIT 20Può capitare che all’uscita, in profitto o perdita poco importa, se il segnale è sempre valido ED il prezzo è ancora sopra a quello di breakout, il sistema apre nuove operazioni. Non so se è quello che vuoi, fai delle prove e vediamo di aggiustarlo.
Una volta che fa quello che desideri con i LONG passererai (o passseremo, se vuoi) anche agli SHORT.
05/25/2018 at 2:42 PM #71347Roberto innanzi tutto ti ringrazio.
Per capire se è quello che ho in mente e se funzione dovrei inserire anche l’uscita dal LONG. Uscta naturale e cioè quando si verificano le condizioni inverse , tralasciando x un momento stop loss e target che falsano le regole.
Ho provato a inserire le regole x l’uscita adattando il tuo codice, ma non va…..te lo allego, mi correggi per favore gli errori fatti?
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
ONCE MiaBarra = 0
ONCE PrezzoLong = 999999
ONCE PrezzoShort = 0// Condizioni per entrare su posizioni long
indicator1 = Williams[10](close)
c1 = (indicator1 CROSSES OVER -50)
IF c1 THEN
MiaBarra = BarIndex
PrezzoLong = high
ENDIF// Condizioni per annullare il segnale precedente
IF (indicator1 CROSSES UNDER -50) THEN
PrezzoLong = 999999
ENDIF// Entrare LONG a mercato (cioè dopo che il prezzo di chiusura ha superato il Massimo della barra del segnale)
c1a = (close > PrezzoLong)IF c1[BarIndex – MiaBarra] and c1a and Not OnMarket THEN
BUY 1 CONTRACT AT MARKET
ENDIF// Condizioni per uscire da posizioni long
indicator2 = Williams[10](close)
c2 = (indicator2 CROSSES UNDER -50)
IF c2 THEN
MiaBarra = BarIndex
PrezzoShort = low
ENDIF// Condizioni per annullare il segnale precedente
IF (indicator2 CROSSES OVER -50) THEN
PrezzoShort = 0
ENDIF//Chiudere LONG a mercato (cioè dopo che il prezzo di chiusura ha superato il Minimo della barra del segnale)
c2a = (close < PrezzoShort)IF c2[BarIndex – MiaBarra] and c2a and Not OnMarket THEN
SELL 1 CONTRACT AT MARKET
ENDIF//SET STOP pLOSS 10
//SET TARGET pPROFIT 2005/26/2018 at 10:23 AM #71375Per scrivere il codice , utilizza il pulsante <> “insert PRT code” in modo da rendere il codice più leggibile. Grazie.
05/26/2018 at 11:17 AM #71382Eccolo, lo commento nel post successivo per potere indicare le linee
123456789101112131415161718192021222324252627282930313233343536373839DEFPARAM CumulateOrders = False // Posizioni cumulate disattivateDEFPARAM PreLoadBars = 0ONCE MiaBarra = 0ONCE PrezzoLong = 999999ONCE PrezzoShort = 0indicator1 = Williams[10](close)c1 = (indicator1 CROSSES OVER -50)c2 = (indicator1 CROSSES UNDER -50)// Condizioni per entrare su posizioni longIF c1 THENMiaBarra = BarIndexPrezzoLong = highPrezzoShort = 0ENDIF// Condizioni per annullare il segnale precedenteIF c2 THENMiaBarra = BarIndexPrezzoShort = lowPrezzoLong = 999999ENDIF// Entrare LONG a mercato (cioè dopo che il prezzo di chiusura ha superato il Massimo della barra del segnale)c1a = (close > PrezzoLong)IF c1[BarIndex - MiaBarra] and c1a and Not OnMarket THENBUY 1 CONTRACT AT MARKETENDIF//Chiudere LONG a mercato (cioè dopo che il prezzo di chiusura ha superato il Minimo della barra del segnale)c2a = (close < PrezzoShort)IF c2[BarIndex - MiaBarra] and c2a and LongOnMarket THENSELL 1 CONTRACT AT MARKETENDIF05/26/2018 at 11:21 AM #71385- Il riferimento all’indicatore WILLIAM’s l’ho messo solo alla linea 8, tanto è sempre lo stesso ed è inutile utilizzare più variabili con nomi diversi per la stessaa cosa
- Entrambe le condizioni C1 e C1, righe 10 e 11, le ho messe all’inizio per chiarezza, quello che conta è QUANDO le utilizzi
- Alla riga 37 ho indicatro che deve chiudere con SELL un posizione LONG già aperta (usando LongOnMarket)
Provalo, io ho fatto solo alcuni test sommari e fammi sapere.
Buon fine settimana!
05/27/2018 at 5:41 PM #71439grazie Roberto, lo provo in giornata max domani.
Buona domenica
Geroniam
05/27/2018 at 6:58 PM #71443Roberto come faccio a dirgli di mettersi SHORT in vece di chiudere la posizione long?
05/28/2018 at 12:05 AM #71448Vuoi metterti SHORT e mantenere aperta anche la posizione LONG?
05/28/2018 at 1:20 PM #71517no!
semplicemente invece di fargli fare la semplice uscita dal long come è ora, vorrei mettermi anche short.
In pratica vorrei che il sistema facesse long e short
-
AuthorPosts
Find exclusive trading pro-tools on