Acquisto sopra una condizione
Forums › ProRealTime forum Italiano › Supporto ProOrder › Acquisto sopra una condizione
- This topic has 7 replies, 2 voices, and was last updated 2 years ago by tatankayotanka.
-
-
11/24/2021 at 11:36 AM #182206
Buongiorno volevo creare un sistema di trading da applicare a dei titoli estrapolati da uno screener, questo
12345678910111213141516171819Timeframe(1 h)Inizio = 153000Fine = 163000GAP = Dopen(0)>1.15* Dclose(1)SCAMBI = VOLUME >1000000IF Time >= Inizio AND Time <= Fine THENIF Time = Inizio THENx = 0HH = highLL = lowELSEHH = max(HH,high)LL = min(LL,low)IF Time = Fine THENx = HH >= (LL * 1.20)ENDIFENDIFENDIFSCREENER[Gap and scambi and x](Realizzato con l aiuto di Roberto Gozzi) dove acquisto il titolo quando il prezzo ha superato il max. +0.5% ( per “garanzia”) della 1 candela di un ora e poi con uno SL -5% TP 30% TS 5% e con chiusura forzata a 5′ prima della chiusura della borsa di riferimento e se possibile con un utilizzo per singolo trade di 1/3 del capitale a disposizione
11/25/2021 at 12:26 PM #182257Questo è il codice c he ho provato sul DAX a 5 minuti (per potere uscire 5 minuti prima della chiusura), mentre lavora internamente sul 30 minuti (per potere utilizzare orari di mezz’ora). Ogni orario e parametro dovrai variarlo per adeguarlo al reale, in quanto io li ho indicati in modo casuale:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768DEFPARAM CumulateOrders = falseTimeframe(Default)ONCE Inizio = 083000ONCE Fine = 093000ONCE Chiusura = 172500ONCE Capitale = 50000ONCE LottiMin = 0.2IF Not OnMarket THENLotti = 1Rischio = (Capitale + StrategyProfit) / 3SogliaTS = 0ENDIF//Timeframe(30 minute,UpdateOnClose)GAP = Dopen(0)>(1.0002* Dclose(1))SCAMBI = VOLUME >10000IF Time >= Inizio AND Time <= Fine THENIF Time = Inizio THENx = 0HH = highLL = lowELSEHH = max(HH,high)LL = min(LL,low)IF Time = Fine THENx = HH >= (LL * 1.002)ENDIFENDIFENDIFCond = Gap and Scambi and x//Timeframe(Default)IF Cond AND Not OnMarket THENEntrata = closeSL = Entrata * 0.03 //2% SLTP = Entrata * 0.08 //6% TPSogliaTS = TP * 0.01 //10$ TSUscita = Entratak = SL / PipSize * PipValueIF k > Rischio THENTemp = Rischio / ky = Lotti * Tempz = round((y * 10) - 0.5)Lotti = max(LottiMin,z / 10)ENDIFBUY Lotti CONTRACT AT MARKETSET TARGET PROFIT TPSET STOP LOSS SLENDIFIF OnMarket AND Time >= Chiusura THENSELL AT MarketENDIFIF OnMarket THENIF close >= Uscita + SogliaTS THENUscita = Uscita + SogliaTSENDIFIF Uscita > Entrata THENSELL AT Uscita STOPENDIFENDIF//graph Lotti//graph SL//graph TP//graph k//graphonprice Entrata//graphonprice Entrata - SL coloured(255,0,0,255)//graphonprice Uscita + SogliaTS coloured(0,0,255,255)Per i parametri, anche per quanto riguarda lo screener, sono estremamente selettivi.
Verifica che lde percentuali che mi hai detto siano quelle corrette, tenendo come esempio il DAX, che vale circa 16000. Il 30% sono 4800 pips, il 5% sono 800 pips, ecc…11/27/2021 at 5:06 PM #1824181234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768DEFPARAM CumulateOrders = falseTimeframe(Default)ONCE Inizio = 093000ONCE Fine = 100000ONCE Chiusura = 155500ONCE Capitale = 50000ONCE LottiMin = 0.2IF Not OnMarket THENLotti = 250Rischio = (Capitale + StrategyProfit) / 3SogliaTS = 0ENDIF//Timeframe(30 minute,UpdateOnClose)GAP = Dopen(0)>(1.0002* Dclose(1))SCAMBI = VOLUME >1000000IF Time >= Inizio AND Time <= Fine THENIF Time = Inizio THENx = 0HH = highLL = lowELSEHH = max(HH,high)LL = min(LL,low)IF Time = Fine THENx = HH >= (LL * 1.1)ENDIFENDIFENDIFCond = Gap and Scambi and x//Timeframe(default)IF Cond AND Not OnMarket THENEntrata = closeSL = Entrata * 0.03 //2% SLTP = Entrata * 0.08 //6% TPSogliaTS = TP * 0.05 //10$ TSUscita = Entratak = SL / PipSize * PipValueIF k > Rischio THENTemp = Rischio / ky = Lotti * Tempz = round((y * 10) - 0.5)Lotti = max(LottiMin,z / 10)ENDIFBUY Lotti CONTRACT AT MARKETSET TARGET PROFIT TPSET STOP LOSS SLENDIFIF OnMarket AND Time >= Chiusura THENSELL AT MarketENDIFIF OnMarket THENIF close >= Uscita + SogliaTS THENUscita = Uscita + SogliaTSENDIFIF Uscita > Entrata THENSELL AT Uscita STOPENDIFENDIF//graph Lotti//graph SL//graph TP//graph k//graphonprice Entrata//graphonprice Entrata - SL coloured(255,0,0,255)//graphonprice Uscita + SogliaTS coloured(0,0,255,255)Ciao Roberto ho provato a far girare il tuo programma cambiando solo INIZIO FINE CHIUSURA VOLUME
Alcune cose non mi tornano
– Nel titolo deve entrare una sola volta e dopo le 15:55(per USA) non deve fare nessun trade, mentre qui entra ogni minuto e dopo le 15:55
– Deve entrare se prezzo e maggiore del max della prima candela di mezz’ora quella delle 9:30/10:00 mentre qui entra più in basso
– Volevo entrare con un terzo del capitale in ogni operazione , mentre qui entra in lotti/pezzi
– L’ingresso deve avvenire al prezzo max della candela ½ ora +0.5% , non lo vedo11/27/2021 at 5:21 PM #182423Scrivi il testo nel post, non separatamnente.
Per i documenti devi utilizzare solo tra questi tipi di file:
– PDF per testi formattati
– TXT per testi non formattati
– JPG o PNG per le immagini.
Grazie 🙂Ci darò un’occhiata appena possibile.
11/27/2021 at 5:54 PM #18242511/29/2021 at 5:39 PM #182491L’entrata si può fare SOLO in lotti, ovviamente vanno rapportati al rischio desiderato.
Ho aggiunto/modificato:
- entrata DOPO l’orario di FINE ed entro l’orario di CHIUSURA
- una sola entrata al giorno
- ho corretto il calcolo dei lotti in base al rischio
- il prezzo d’entrata adesso è sul MASSIMO + n%
L’ho provato sul DAX, 30 minuti, 200K barre. Ho messo percentuali abbastanza diverse da quelle da te indicate altrimenti non avrebbe fatto nessuna operazione. Ho provato a cercare l’azione della tua immagine, ma non l’ho trovata, IG ha solo BIOFRONTERA AG (non INC.).
Se vuoi usare solo UNA candela da 30 minuti indica INIZIO e FINE con la stessa ora.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768DEFPARAM CumulateOrders = falseTimeframe(Default)ONCE TradeON = 1ONCE Inizio = 093000ONCE Fine = 093000ONCE Chiusura = 155500ONCE Capitale = 50000ONCE LottiMin = 0.2IF Not OnMarket THENLotti = 100 //100 per default, ma il calcolo sul rischio viene fatto all'entrataRischio = (Capitale + StrategyProfit) * 0.30 //30% rischio (sul capitale + utili)SogliaTS = 0ENDIFIF IntraDayBarIndex = 0 AND Not OnMarket THENTradeON = 1x = 0ENDIF//Timeframe(30 minute,UpdateOnClose)GAP = Dopen(0)>(1.0001* Dclose(1))SCAMBI = VOLUME >10000IF OpenTime >= Inizio AND OpenTime <= Fine THENIF OpenTime = Inizio THENHH = highENDIFIF OpenTime = Fine THENHH = max(HH,high)ENDIFENDIF//Timeframe(default)IF x = 0 THENx = (close >= (HH * 1.01)) //Massimo + 0.1%ENDIFCond = Gap and Scambi and x and OpenTime <= Chiusura and OpenTime >= Fine and TradeONIF Cond AND Not OnMarket THENEntrata = closeSL = Entrata * 0.04 //4% SLTP = Entrata * 0.15 //15% TPSogliaTS = TP * 0.015 //1.5% TSUscita = Entratak = (SL / PipSize * PipValue) * LottiIF k > Rischio THENTemp = Rischio / ky = Lotti * Tempz = round((y * 10) - 0.5)Lotti = max(LottiMin,z / 10)ENDIFBUY Lotti CONTRACT AT MARKETTradeON = 0SET TARGET PROFIT TPSET STOP LOSS SLENDIFIF OnMarket THENIF close >= Uscita + SogliaTS THENUscita = Uscita + SogliaTSENDIFIF Uscita > Entrata THENSELL AT Uscita STOPENDIFENDIF//graph Lotti//graph SL//graph TP//graph k//graphonprice Entrata//graphonprice Entrata - SL coloured(255,0,0,255)//graphonprice Uscita + SogliaTS coloured(0,0,255,255)11/29/2021 at 9:27 PM #182505Ok grazie domani provo, perchè l ingresso lo si può fare solo in lotti e non in cash?
11/29/2021 at 10:52 PM #1825061234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768DEFPARAM CumulateOrders = falseTimeframe(Default)ONCE TradeON = 1ONCE Inizio = 093000ONCE Fine = 093000ONCE Chiusura = 155500ONCE Capitale = 50000ONCE LottiMin = 0.2IF Not OnMarket THENLotti = 700 //100 per default, ma il calcolo sul rischio viene fatto all'entrataRischio = (Capitale + StrategyProfit) * 0.30 //30% rischio (sul capitale + utili)SogliaTS = 0ENDIFIF IntraDayBarIndex = 0 AND Not OnMarket THENTradeON = 1x = 0ENDIF//Timeframe(30 minute,UpdateOnClose)GAP = Dopen(0)>(1.15* Dclose(1))SCAMBI = VOLUME >10000IF OpenTime >= Inizio AND OpenTime <= Fine THENIF OpenTime = Inizio THENHH = highENDIFIF OpenTime = Fine THENHH = max(HH,high)ENDIFENDIF//Timeframe(default) // qui deve essere con TF 1 MInutoIF x = 0 THENx = (close >= (HH * 1.05)) //Massimo + 0.5%ENDIFCond = Gap and Scambi and x and OpenTime <= Chiusura and OpenTime >= Fine and TradeONIF Cond AND Not OnMarket THENEntrata = closeSL = Entrata * 0.04 //4% SLTP = Entrata * 0.15 //15% TPSogliaTS = TP * 0.015 //1.5% TSUscita = Entratak = (SL / PipSize * PipValue) * LottiIF k > Rischio THENTemp = Rischio / ky = Lotti * Tempz = round((y * 10) - 0.5)Lotti = max(LottiMin,z / 10)ENDIFBUY Lotti CONTRACT AT MARKETTradeON = 0SET TARGET PROFIT TPSET STOP LOSS SLENDIFIF OnMarket THENIF close >= Uscita + SogliaTS THENUscita = Uscita + SogliaTSENDIFIF Uscita > Entrata THENSELL AT Uscita STOPENDIFENDIF//graph Lotti//graph SL//graph TP//graph k//graphonprice Entrata//graphonprice Entrata - SL coloured(255,0,0,255)//graphonprice Uscita + SogliaTS coloured(0,0,255,255)Ho modificato la linea gap portandolo al 15%.Poi volevo cambiare il secondo time frame in quanto le operazioni di ingresso devono essere fatte con candele ad 1′ . Cmq va bene in quanto su questo titolo BFRI mi fa un ingresso giornaliero e basta, Pero due cose volevo chiederti , se non e proprio possibile inserire un acquisto in $ e non in lotti e seconda cosa questo programma mi permette di fare backtest ma io vorrei trasformarlo in uno screener e a seguire un ordine , la prima parte dove ha come criteri la candela di aperture superiore del 15% dal prezzo di chiusura che e la parte di scrrener e poi l acquisto
-
AuthorPosts
Find exclusive trading pro-tools on