codifica ingresso long
Forums › ProRealTime forum Italiano › Supporto ProBuilder › codifica ingresso long
- This topic has 15 replies, 3 voices, and was last updated 1 month ago by
emilianop.
-
-
06/11/2024 at 9:15 AM #233734
Buongiorno,
cortesemente se possibile mi servirebbe un nuovo aiuto a tradurre in codice la parte di ingresso long di seguito descritta:
//INGRESSO LONG
// il 4° lunedì del mese salva il prezzo del titolo ( di apertura o chiusura non importa poi lo gestisco), poi prima di arrivare al 3° venerdì del mese successivo se il titolo scende di x punti % entra longIF quarto lunedì del mese THEN
MIOPREZZO = azzero il prezzo del precedente 4° lunedì del mese
MIOPREZZO = salvo il prezzo del 4° lunedì del mese in corso
IF MIOPREZZO < x% BUY AT MARKET
//USCITA devo uscire categoricamente il 3° ven del mese ( questo codice è già ok )IF
OpenMonth <> OpenMonth[1] THENVenerdi = 0ENDIFIF (DayOfWeek = 5) AND (DayOfWeek <> DayOfWeek[1]) THENVenerdi = Venerdi + 1ENDIFIF OnMarket AND (Venerdi = 3) AND (DayOfWeek = 5) THENSELL AT MARKET //uscita LONGEXITSHORT AT MARKET //uscita SHORTENDIFgrazie06/11/2024 at 2:32 PM #233745Ciao. Puoi fare lo stesso che hai fatto con il codice di accesso.
1234567891011121314151617181920once monday=0x=-8//----Count every mondayif dayofweek=1 thenmonday=1+mondayelsemonday=mondayendif//----Restart counter every monthif month<>month[1] thenmonday=0endifif monday=4 and dayofweek<dayofweek[1] thenMondayprice=closeendif//----enter longif not onmarket and (close/Mondayprice-1)*100<X thenbuy 1 contract at marketendifgraphonprice mondayprice coloured("blue")1 user thanked author for this post.
06/11/2024 at 3:42 PM #23374906/11/2024 at 5:15 PM #233759Prova questa versione modificata:
123456789101112131415161718192021once monday=0x=-1//----Count every mondayif opendayofweek=1 and opendayofweek <> opendayofweek[1] thenmonday=1+mondayelsemonday=mondayendif//----Restart counter every monthif openmonth<>openmonth[1] thenmonday=0endifif monday=4 and opendayofweek<opendayofweek[1] thenMondayprice=closeendif//----enter longif not onmarket and (close/Mondayprice-1)*100<X thenbuy 1 contract at marketendifgraphonprice mondayprice coloured("blue")graph Monday1 user thanked author for this post.
06/11/2024 at 6:23 PM #233766Grande! questo lavora..
faccio un po di test manuali per capire se fa quel che mi serve
grazie 1000 per ora, molto gentile
1 user thanked author for this post.
06/24/2024 at 5:36 PM #234312Ciao a tutti, se possibile vorrei approfittare ancora della vostra gentilezza per modificare l’uscita del TS:
in questo momento il ts esce sempre il 3° ven del mese, la modifica che vorrei implementare fa un controllo sullo stato della posizione prima di uscire, cioè
if “sono a mercato” and “3° ven mese” and “mio prezzo di carico è > chiusura” then
sell at the market
else “resta a mercato fino a quando il prezzo di carico >= price” // appena il prezzo torna al mio ingresso chiudo la posizione
( ci dovrei ricavare una statistica poi , per avere una sorta di indicatore di recovery, ovvio se il titolo continua a scendere senza mai tornare al pmc resta a mercato)Il ts non deve aprire altre posizioni finchè il prezzo non torna al mio pmc
spero di essere stato chiaro nell’esposizione
e ringrazio ancora per la cortesia, emiliano06/25/2024 at 2:54 PM #234346Nel codice sopra non c’è un’uscita? Va aggiunta?
Il valore di price da dove si prende?
06/25/2024 at 4:42 PM #234348l’uscita ora è questa ( da modificare come descritto sopra):
//USCITA esce il 3° ven del mese ( questo codice è già ok )IF OpenMonth <> OpenMonth[1] THEN
Venerdi = 0ENDIFIF (DayOfWeek = 5) AND (DayOfWeek <> DayOfWeek[1]) THENVenerdi = Venerdi + 1ENDIFIF OnMarket AND (Venerdi = 3) AND (DayOfWeek = 5) THENSELL AT MARKET //uscita LONGEXITSHORT AT MARKET //uscita SHORTENDIFil “price” sarebbe la quotazione in tempo reale cioè il prezzo, non so come PROREALTIME la codifica.. altrimenti se uso CLOSE o OPEN , ho provato ma non fa quello che mi serve..07/01/2024 at 5:31 PM #234663PRICE è il prezzo corrente. Nel momento in cui una candela chiude diventa, per quella candela, il prezzo di chiusura per ritornare ad essere il prezzo corrente immediatamente dopo.
Prova questa versione:
12345678910111213141516171819202122232425262728293031323334once monday=0once friday=0x=-8//----Count every mondayif openmonth<>openmonth[1] thenMondayprice=0monday=0friday=0endifif opendayofweek=1 and opendayofweek <> opendayofweek[1] thenmonday=1+mondayendifif opendayofweek=5 and opendayofweek <> opendayofweek[1] thenfriday=1+fridayendif//----Restart counter every monthif monday=4 and Mondayprice=0 thenMondayprice=closefriday=0endif//----enter longif not onmarket and (close/Mondayprice-1)*100<X thenbuy 1 contract at marketMondayprice=0friday=0endifif OnMarket AND (Friday = 3) AND (close >= TradePrice) THENSELL AT MARKETENDIF//graphonprice mondayprice coloured("blue")//graph Monday//graph Friday coloured("Red")//graph opendayofweek07/02/2024 at 7:45 AM #234675grazie Roberto,
così esce se vengono rispettate le due condizioni ” 3 ven del mese ” e ” prezzo > mondayprice”, però nel caso in cui sono a mercato e il prezzo è < di mondayprice resta a mercato .. corretto però per uscire aspetta il prossimo
3ven del mese … mentre a quel punto dovrei uscire appena il prezzo è > mondayprice .. cioè passato il primo 3 ven del mese da quando sono a mercato … ogni giorno è buono per uscire ..
sarebbe : se sono a mercato e è passato già un 3 ven da quando sono a mercato allora esci appena tradeprice > mondayprice
grazie ancora
07/02/2024 at 8:24 AM #234676qualcosa non mi torna sull’ingresso così modificato, rispetto al codice di prima mi salta alcune entrate…
allego screenshot con il confronto dei due ts, sul vecchio entra su calo quotazioni, mentre con il nuovo codice non entra a mercato
07/02/2024 at 10:45 AM #234695Questo è il codice aggiornato per le uscite:
123456789101112131415161718192021222324252627282930313233343536373839404142434445once monday=0once friday=0IF Not OnMarket THENuscita=0ENDIFx=-8//----Count every mondayif openmonth<>openmonth[1] thenMondayprice=0monday=0friday=0endifif opendayofweek=1 and opendayofweek <> opendayofweek[1] thenmonday=1+mondayendifif opendayofweek=5 and opendayofweek <> opendayofweek[1] thenfriday=1+fridayendif//----Restart counter every monthif monday=4 and Mondayprice=0 thenMondayprice=closefriday=0endif//----enter longif not onmarket and (close/Mondayprice-1)*100<X thenbuy 1 contract at marketMondayprice=0friday=0endifif OnMarket AND (Friday = 3) THENIF (close >= TradePrice) THENSELL AT MARKETELSEUscita=1ENDIFENDIFIF OnMarket AND Uscita AND (close >= TradePrice) THENSELL AT MARKETUscita=0ENDIF//graphonprice mondayprice coloured("blue")//graph Monday//graph Friday coloured("Red")//graph opendayofweek//graphonprice TradePriceper entrate errate o mancanti, dimmi su quale strumento, timeframe, data ed ora sono avvenute (o sarebbero dovute avvenire).
07/02/2024 at 11:15 AM #234696esempio del 10 mar 2020 su Italgas (ma il problema è su tutti i sottostanti)
come vedi il vecchio entra correttamente come da istruzione (zona sopra),
mentre il nuovo codice (zona sotto) non mi genera quell’entrata.allego anche i rapporti dove si evince che il nuovo codice non trova ingressi ..
con x-8 dovrebbero invece esserci, come giustamente segnava il vecchio codiceTF : giornaliero
08/01/2024 at 9:34 AM #23600608/01/2024 at 2:47 PM #236017Scusami per il ritardo.
Ho fatto alcune variazioni, adesso sembra funzionare:12345678910111213141516171819202122232425262728293031323334353637383940414243once monday=0once friday=0x=-8//----Count every monday and Friday (restart every month)if openmonth<>openmonth[1] thenMondayprice=closemonday=0friday=0endifif opendayofweek=1 and opendayofweek <> opendayofweek[1] thenmonday=1+mondayendifif opendayofweek=5 and opendayofweek <> opendayofweek[1] thenfriday=1+fridayIF friday > 3 THENFlag = 1ENDIFendifIF Not Onmarket THENFlag = 0ENDIF//----Restart counter every month//if monday=4 and Mondayprice=0 then//Mondayprice=close//friday=0//endif//----enter longif not onmarket and (close/Mondayprice-1)*100<X thenbuy 1 contract at marketMondayprice=0friday=0flag = 0endifif OnMarket AND (((Friday = 3) and (Flag = 0)) OR Flag) AND (close >= TradePrice) THENSELL AT MARKETENDIF//graphonprice mondayprice coloured("blue")//graphonprice TradePrice coloured("blue")//graph Monday//graph Friday coloured("Red")//graph Flag//graph opendayofweek -
AuthorPosts
Find exclusive trading pro-tools on