Scusate e’ possibile creare queste condizioni che a me non funzionano?
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Scusate e’ possibile creare queste condizioni che a me non funzionano?
- This topic has 20 replies, 2 voices, and was last updated 3 months ago by robertogozzi.
-
-
08/29/2024 at 9:12 AM #236800
Buongorno,scusate ancora ; ho inserito 3 indicatori base (macd e uno stocastico )pero’ vorrei farli lavorare abbinati e ho
scritto questo comando nella condizione di entrata long ma non me la esegue o almeno me la esegue parziale…..
cioe’ non esegue c1 e c2 assieme o c1 e c3 assieme,devo ricorrere a formule piu’ compicate?
grazie mille a tutti
123IF (c1 AND c2)or (c1 and c3) THENBUY 1 CONTRACT AT MARKETENDIF08/29/2024 at 9:27 AM #236802Il codice che hai postato dovrebbe entrtare a mercato quando almeno una delle due condizioni principali si verificano, cioè basta che sia SEMPRE verificata la condizione C1 e che sia vera almeno una della altre due (o entrambe).
Prova a scriverla così:
1IF c1 AND (c2 or c3) THEN1 user thanked author for this post.
08/29/2024 at 9:58 AM #236806Grazie infinite !! pero’ ho provato il codice mi da questo errore che attacco qua
al punto del indicatore 9 (indicatore che gira e che ho preimpostato e richiamato con fx)compare il triangolo
alert che mi dice errore interno ordine sconosciuto tasto enter spazio
e non gira grazie infinite del suo tempo e competenza
123456789101112131415// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = MACDline[12,26,8](close)indicator2 = MACDSignal[12,26,8](close)c1 = (indicator1 >= indicator2)indicator9= myschafftom, mylevel75, mylevel25=CALL "schaff tom"c5=indicator9 >=[75]c6=indicator9>[25]IF c1 and (c5 or c6) THENBUY 1 CONTRACT AT MARKET08/29/2024 at 10:14 AM #236808Si, l’operatore di assegnazione “=” non può essere indicato più di una volta.
Nel tuo caso l’indicatore restituisce 3 valori, quindi basta che lo scrivi così:
1myschafftom, mylevel75, mylevel25=CALL "schaff tom"ed utilizzi le 3 variabili che ti restituisce.
Nel caso t’interessi solo la prima variabile, puoi scriverlo in uno di questi due modi:
123myschafftom, ignored, ignored=CALL "schaff tom"// oppureindicatorX, ignored, ignored=CALL "schaff tom"dove al posto di X, se lo desideri, puoi mettere una o più cifre o lettere a tuo piacere.
1 user thanked author for this post.
08/29/2024 at 10:16 AM #236809Qui puoi trovare indicazioni utili https://www.prorealcode.com/documentation/call/.
08/29/2024 at 10:29 AM #236812Grazie mille sei gentilissimo ma non ci arrivo purtroppo; da lunedi’ faro’ corso avanzato ,io ho
scritto cosi’ ma non capisco la tua spiegazione troppo tecnica per me ecco il codice che ho fatto ma non va
nella tua spiegazione cosa devo mettere al posto di punto 1 ? e indicator x vuole dire che devo cambiare indicatore?
ho scritto cosi , non riesci per caso a scriverlo come andrebbe fatto? grazie infinite veramente
12345678910111213141516171819// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = MACDline[12,26,8](close)indicator2 = MACDSignal[12,26,8](close)c1 = (indicator1 >= indicator2)indicator9=myschafftom, mylevel75, mylevel25=CALL "schaff tom"c5=myschafftom, ignored, ignored>=75c6=myschafftom, ignored, ignored>=25IF c1 and (c5 or c6) THENBUY 1 CONTRACT AT MARKETENDIF08/29/2024 at 10:45 AM #236815Ho provato anche a modificarlo anche cosi’ ma non va…..mi arrendo non riesco a capire la logica ho messo
ignored agli altri 2 ma non so se ho capito bene grazie mille ancora
1234567891011121314151617// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = MACDline[12,26,8](close)indicator2 = MACDSignal[12,26,8](close)c1 = (indicator1 >= indicator2)indicator9= myschafftom, mylevel75, mylevel25 = CALL "schaff tom"c5=myschafftom,ignored,ignored >75c6=myschafftom, ignored, ignored>=25IF c1 and (c5 or c6) THENBUY 1 CONTRACT AT MARKETENDIF08/29/2024 at 11:00 AM #236819Si, forse è meglio che tu faccia anche il corso più avanzato, come ti ho detto l’operatore “=” non può essere utilizzato più di una volta sulla stessa riga.
1 user thanked author for this post.
08/29/2024 at 11:08 AM #236824Grazie mille , se per caso avrai tempo se riuscissi a riscrivermelo tutto corretto solo una volta sarebbe fantastico e cosi’ vedrei ma comunque sei stato
gentilissimo ,cosi’ non riesco grazie mille ciao
08/29/2024 at 3:20 PM #236857allora se ho capito devo mettere es
indicator9=myschafftom = CALL “schaff tom”
cosi’ ho solo un operatore dopo e non 3 = ma non funziona …ok grazie mille lo stesso
08/29/2024 at 5:27 PM #236870No, il simbolo “=” non può essere messo sulla stessa riga più di una volta.
Se t’interessa solo il primo dato devi scrivere:
1myschafftom, ignored, ignored = CALL "schaff tom"ed usi la variabile myschafftom, oppure devi scrivere:
1indicator9, ignored, ignored = CALL "schaff tom"ed usi la variabile indicator9.
1 user thanked author for this post.
08/29/2024 at 5:42 PM #236871grazie mille gentilissimo
08/29/2024 at 6:00 PM #236872Gentilissimo Roberto ho fatto questo codice ,e’ corretto secondo lei? i segnali che riporta sono completamente sballati ma solo per capire se
ho fatto come diceva lei grazie mille ancora
123456789101112131415161718192021222324252627// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = MACDline[12,26,8](close)indicator2 = MACDSignal[12,26,8](close)c1 = (indicator1 >= indicator2)indicator9, ignored, ignored = CALL "schaff tom"c2=indicator9 >=75c3=indicator9>25IF c1 and (c2 or c3) THENBUY 1 CONTRACT AT MARKET// Condizioni per uscire da posizioni longc4 = (indicator1 <= indicator2)c5=indicator9 <=75c6=indicator9 <=25IF c4 or c5 or c6 THENSELL AT MARKETENDIFENDIF08/30/2024 at 6:04 PM #236924Si, mi sembra corretto:
- apre una posizione quanto si verifica C1 + una qualunque tra C2 e C3
- chiude la posizione quando una sola qualunque delle condizioni C4, C5 o C6 si verifica.
Non posso provarlo perché non ho l’indicatore “schaff tom“, se lo alleghi o posti il link dove posso trovarlo mgari faccio anche qualche verifica.
1 user thanked author for this post.
08/30/2024 at 11:29 PM #236931Grazie mille Roberto!! la formula “schaff tom” e’ pari pari quella pubblicata qua (avevo solo cambiato nome)e che riporto sotto a seguire
https://www.prorealcode.com/prorealtime-indicators/schaff-trend-cycle2/#:~:text=The%20STC%20indicator%20combines%20the,80%20readings%20are%20considered%20overbought.ma il problema e’ che non capisco se e’ un baco del programma (non credo vista la mia ignoranza a riguardo) o altro perche’se utilizzo questo indicatore
nel sistema sopra report #236872 noterai che acquista con la condizione C1 e solo la condizione C2 ignorando completamente la C3 (cioe’ solo con schaff sopra 75 e
non quando va sopra 25 perdendosi una grande porzione dei rialzi e non solo , sta long quando da istruzioni dovrebbe stare flat!!!
faccio un attach della videata del sistema che salta fuori a me con l’indicatore e il sistema citati grazie mille ancora del tempo e della competenza che mi regaliformula indicatore (presa da prorealcode)
1234567891011121314151617181920212223242526272829303132333435363738394041//input parametersTCLen =10MA1 = 23MA2 = 50Once Factor = 0.5if barindex>MA2 then//{Calculate a MACD Line}XMAC = ExponentialAverage[MA1](Close) - ExponentialAverage[MA2](Close)//{1st Stochastic: Calculate Stochastic of a MACD}Value1 = Lowest[TCLen](XMAC)Value2 = Highest[TCLen](XMAC) - Value1//{%Fast K of MACD}if Value2 > 0 thenFrac1 = ((XMAC - Value1)/Value2) * 100elseFrac1 = Frac1[1]endif//{Smoothed Calculation for % Fast D of MACD}PF = PF[1] + (Factor * (Frac1 - PF[1]))//{2nd Stochastic: DCalculate Stochastic of smoothed Percent Fast D, 'PF', above}Value3 = Lowest[TCLen](PF)Value4 = Highest[TCLen](PF) - Value3//{% of Fast K of PF}if Value4 > 0 thenFrac2 = ((PF - Value3)/Value4) * 100elseFrac2 = Frac2[1]endif//{Smoothed Calculation for %Fast D of PF}PFF = PFF[1] + (Factor * (Frac2 - PFF[1]))endifRETURN PFF, 75 coloured(0,0,255) as "level 75", 25 coloured(0,0,255) as "level 25" -
AuthorPosts