Strategia piramide rovesciata
Forums › ProRealTime forum Italiano › Supporto ProOrder › Strategia piramide rovesciata
- This topic has 18 replies, 4 voices, and was last updated 1 year ago by Ciccarelli Franco.
-
-
01/11/2023 at 10:42 AM #207217
Tempo fa mi sono imbattuto nella descrizione di una strategia che mi ha incuriosito. Provo a descriverla e speriamo che venga codificata. Sottostante EURUSD TF 15 minuti, in uno scenario rialzista, si entra long a una determinata condizione e SL a 50 Euro, se il gain diventa 50 E si compra un altro contratto e si alza lo SL a 0 (praticante a paraggio), se l’incremento cresce ancora es 100 si compra una altro contratto e si sposta ancora lo SL a 50 e cosi ad andare. Quando vi è un rintracciamento le posizioni si chiudono con diverse possibilità , per esempio da un minimo di – 50 , ad un pareggio, ed una vincita. La stessa cosa ma a rovescio per un mercato ribassista.
Grazie
01/20/2023 at 7:22 PM #207793Prova questa:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253DEFPARAM CumulateOrders = TrueONCE SL = 50ONCE TP = SLONCE Uscita = 0ONCE myTP = TPSma200 = average[20,0](close)Rialzo = close > Sma200Ribasso = close < Sma200L1 = Rsi[14](close) CROSSES OVER 50S1 = Rsi[14](close) CROSSES UNDER 50CondizioniLong = L1 AND Not OnMarketCondizioniShort = S1 AND Not OnMarketIF CondizioniLong THENBUY 1 Contract at MarketPrezzo = closemyTP = TPUscita = Prezzo - SL * PipSizeSET STOP Price UscitaENDIFIF CondizioniShort THENSELLSHORT 1 Contract at MarketPrezzo = closemyTP = TPUscita = Prezzo + SL * PipSizeSET STOP Price UscitaENDIFProfitto = PositionPrice * PositionPerf / PipSize / PipValueIF Profitto >= myTP THENIF LongOnMarket THENBUY 1 Contract at MarketIF myTP = TP THENUscita = PrezzoELSEUscita = Prezzo + (TP * PipSize)ENDIFPrezzo = closemyTP = myTP + TPSET STOP Price UscitaENDIFELSIF ShortOnMarket THENSELLSHORT 1 Contract at MarketIF myTP = TP THENUscita = PrezzoPrezzo = closeELSEUscita = Prezzo - (TP * PipSize)Prezzo = closemyTP = myTP + TPENDIFSET STOP Price UscitaENDIFgraphonprice Uscitagraphonprice Prezzo coloured("Blue")non sono sicuro di avere interpretato bene la tua richiesta.
01/21/2023 at 8:53 AM #207802Grazie, sempre molto gentile, lo proverò.
01/21/2023 at 5:52 PM #207844Sembra che funzioni, ma non da gran risultati. Forse bisogna ottimizzare i valori della mm e del rsi. Tu lo hai provato?
Grazie
01/24/2023 at 10:57 AM #208059L’ho provata solo per fare i test di funzionamento. Ho notato che non da buoni risultati.
Prova ad ottimizzarla.
01/24/2023 at 12:03 PM #208086Che cosa devo ottimizzare?
01/24/2023 at 12:11 PM #208093Più che altro devi inserirci le tue condizioni, si per individuare il trend che per entrare a mercato.
Per il trend ho utilizzato una media a 20 periodi (in realtà volevo scrivere 200), per l’entrata l’RSI quando passa sopra o sotto il valore 50.
E’ solo un esempio.
01/24/2023 at 12:12 PM #20809401/24/2023 at 6:17 PM #208141Roberto, io di sicuro non so programmare, ma rileggendo il tuo codice per cercare di capire, ho visto le righe 7 e 8 e non vedo come lavorano.
Grazie
01/24/2023 at 7:05 PM #208146Stabiliscono il trend a seconda che il prezzo sia sopra o sotto la media mobile semplice a 20 periodi (anche se volevo scrivere 200).
01/24/2023 at 7:35 PM #208152OK ma non vedo collegamenti con altre istruzioni.
01/24/2023 at 10:16 PM #208157E ‘questo quello che stai cercando?
https://www.prorealtime.com/nl/pdf/probacktest.pdf
https://www.prorealtime.com/en/videos_tutorial/142_trading_system_backtest_optimization
1 user thanked author for this post.
01/25/2023 at 10:39 AM #208177Solo adesso mi sono reso conto! Scusami è stata una svista.
Vanno modificate le linee 11 e 12 così:
12CondizioniLong = L1 AND Not OnMarket AND RialzoCondizioniShort = S1 AND Not OnMarket AND Ribasso01/26/2023 at 10:03 AM #208309Roberto buongiorno,
Ho provato con la modifica e sembra andare meglio, ma fa tanti trade short di poca entità e non capisco il motivo. Comunque ho apportato delle modifiche e sembra andare meglio, è più regolare, anche se il gain è più o meno equivalente .
Ho tolto la media mobile perchè ritengo possa interferire e per gli ingressi ho usato l’indicatore “RSI e regressione lineare” di Nicolas.
Se hai tempo dagli un occhiata , lo allego.
Grazie
01/28/2023 at 12:58 PM #2085571) la riga 14 non serve e rischia di fare confusione, oltre a rallentare l’esecuzione. L’indicatore è già stato richiamato con CALL precedentemente e non cambierà più fino alla prossima candela;
2) quando fai la CALL utilizzi solo i primi due parametri, ma il secondo è la banda bassa e va bene per i LONG, mentre per gli SHORT devi usare la banda ALTA che è il quarto (ed ultimo) parametro. Il terzo non viene effettivamente utilizzato (è la banda mediana).
Ho fatto anche qualche piccola modifica nella logica, in modo particolare ho messo lo Stop & Reverse nella prima entrata (sia Long che Short).
Ti allego il codice modificato:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061// Stop e target: Inserisci qui i tuoi stop di protezione e profit targetDEFPARAM CumulateOrders = TrueONCE SL = vONCE TP = SLONCE Uscita = 0ONCE myTP = TP// Condizioni per entrare su posizioni longindicator1, indicator2, ignored, indicator4 = CALL "rsi e regressione lineare"L1 = (indicator1 CROSSES OVER indicator2)S1 = (indicator1 CROSSES UNDER indicator4)CondizioniLong = L1 AND Not LongOnMarket //OnMarketCondizioniShort = S1 AND Not ShortOnMarket //OnMarketIF CondizioniLong THENBUY 1 Contract at MarketPrezzo = closemyTP = TPUscita = Prezzo - SL * PipSizeSET STOP Price UscitaENDIFIF CondizioniShort THENSELLSHORT 1 Contract at MarketPrezzo = closemyTP = TPUscita = Prezzo + SL * PipSizeSET STOP Price UscitaENDIFProfitto = PositionPrice * PositionPerf / PipSize / PipValueIF Profitto >= (myTP * PipSize) THENIF LongOnMarket THENBUY 1 Contract at MarketIF myTP = TP THENUscita = PositionPricePrezzo = TradePriceELSEUscita = TradePrice + (TP * PipSize)ENDIFPrezzo = closemyTP = myTP + TPSET STOP Price UscitaENDIFELSIF ShortOnMarket THENSELLSHORT 1 Contract at MarketIF myTP = TP THENUscita = PositionPricePrezzo = TradePriceELSEUscita = TradePrice - (TP * PipSize)Prezzo = closemyTP = myTP + TPENDIFSET STOP Price UscitaENDIFgraphonprice Uscitagraphonprice Prezzo coloured("Blue")graphonprice Uscita + (myTP * PipSize) coloured("Green")//graph L1 coloured("Green")//graph S1 coloured("Red")//graph myTP1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on