Prezzo corrente
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Prezzo corrente
- This topic has 12 replies, 2 voices, and was last updated 4 years ago by robertogozzi.
-
-
10/19/2019 at 10:58 AM #110564
Buongiorno a tutti e scusate se la domanda sarà davvero banale per tutti, ma da buon neofita sto provando a scrivere qualche riga di comando e riscontro questo problema.
Vorrei che, definito il massimo della candela precedente, potessi entrare a mercato (simulandolo con un drawarrowup ) non appena si verifica la condizione che: il minimo della candela precedente è sotto alla barra inferiore di bollinger e il valore corrente supera il massimo della candela precedente di x pips.
// codizione per il buy
bdown = bollingerdown[20](close)
A = high[1]
c1 = (low[1] < bdown) AND (???? > A+x)IF c1 THEN
DRAWARROWUP (BARINDEX, LOW-OFFSET) COLOURED (0,255,0)Su MT4 usavo ASK, ma qui non riesco a capire come farlo? Qualcuno mi può aiutare?
Grazie sin da ora per ogni aiuto e suggerimento
10/19/2019 at 11:29 AM #110565Eccolo:
12345678// codizione per il buybdown = bollingerdown[20](close)A = high[1]c1 = (low[1] < bdown) AND (close > high[1] + x * pipsize)IF c1 THENDRAWARROWUP (BARINDEX, LOW-OFFSET) COLOURED (0,255,0)è bene moltiplicare X * PIPSIZE, perché con DAX o SP può andare bene anche così avendo un rapporto 1:1 tra prezzo e pips, ma con altri strumenti, specialmente Forex, dove il rapporto è 1:1/10000 il risultato sarebbe sballato. In ogni caso usando PIPSIZE si lascia che sia il sistema ad occuparsi dell’eventuali conversioni, quando necessarie. In Tal modo il codice è portabile su ogni strumento.
>> Per chiarezza dei messaggi sul Forum di Prorealcode, separate le parti del vostro codice usando il pulsante per l’inserimento del testo del codice. << Grazie 🙂
10/19/2019 at 11:42 AM #110567Prima di tutto, grazie del suggerimento.
Stavo provando a fare dei test e mettendo close, ho visto che invece di prendermi il punto appena superiore al massimo della candela precedente, mi prende il massimo della candela stessa. Questo è dovuto al fatto che sto facendo le verifiche a mercato chiuso?
Grazie
10/19/2019 at 12:25 PM #110574No, non fa differenza l’orario.
Prova a modificare la riga 5 così:
1c1 = (low[1] < bdown) AND (close > (high[1] + (x * pipsize)))forse è un problema di parentesi e precedenze tra gli operatori.
10/19/2019 at 1:06 PM #11057910/24/2019 at 5:01 AM #111005Buongiorno a tutti e scusate ancora, ma continuo ad avere una sfasatura di un periodo sull’entrata a mercato. Per semplicità ho provato anche a cambiare indicatore mettendolo uno semplice come l’RSI, ma visto che anche qui con la condizione CROSSES OVER non avevo il risultato voluto, ho provato a scriverla a mano; ma nulla.
1234567valore_rsi= RSI[14](close)c1 = (valore_rsi> 70) and (valore_rsi[1]<70)IF c1 THENBUY 1 CONTRACT AT MARKETENDIFPossibile che non possa entrare a mercato non appena la rsi passa attraversa i 70 punti ?
Ho visto che si può scrivere anche RSI[14] omettendo il (close). Quale valore torna?
Scusate e grazie
Grazie
10/24/2019 at 5:50 AM #111006>> Per chiarezza dei messaggi sul Forum di Prorealcode, separate le parti del vostro codice usando il pulsante per l’inserimento del testo del codice. <<
Grazie 🙂10/24/2019 at 5:54 AM #111007Le strategie vengono SEMPRE eseguite alla chiusura della candela, quindi quando alla chiusura le tue condizioni risultano verificate entra.
Quindi la freccia che indica l’entrata la troverai sopra o sotto la candela successiva.10/24/2019 at 5:56 AM #11100810/26/2019 at 11:34 AM #111264Scusatemi se torno sull’argomento, ma continua a non tornarmi la programmazione con la realtà (simulata); ho sbagliato a programmare lo SL? perchè il sistema mi esce a 12160,7 (verificarsi di un’altra condizione) pur avendo impostato lo stoploss a 12133 (low-corsaminima) toccandol poche barre dopo ?
Non so se vi sia utile, ma allego anche foto dove si vedono i parametri.
123456789101112IF c1 THENminimoprec = low[1]massimoprec = high[1]corsaminima = atrvalue / 4sl = minimoprec-corsaminimatp = massimoprec+atrvalueBUY 1 CONTRACT AT MARKETENDIF// Stop e targetSET STOP $LOSS slSET TARGET $PROFIT tp10/26/2019 at 11:52 AM #111266Alle righe 11 e 12 devi togliere il simbolo del dollaro “$”, perché stai indicando una differenza espressa in prezzo alle righe 5 e 6, non una somma di denaro (per le quali è richiesto l’uso del $ iniziale).
SET STOP vuole:
- LOSS se indichi una differenza in prezzo (esempio High – Low, oppure Close – Close[1]), quindi SET STOP LOSS (High – Low) oppure SET STOP LOSS 40 * pipsize
- pLOSS se indichi un importo in pips, ad esempio ((High – Low)/PIPSIZE), oppure ((Close – Close[1])/PIPSIZE), oppure una costante numerica tipo 40), quindi SET STOP pLOSS ((High – Low)/PIPSIZE) oppure SET STOP pLOSS 40
- $LOSS se indichi un importo in valuta (usa sempre il simbolo $ anche se hai il conto in Euro o Yen, ecc…), ad esempio SET STOP $LOSS 500 se vuoi rischiare al massimo 500 euro (o comunque 500 unità della valuta del tuo conto)
- %LOSS se indichi una percentuale (senza usare il simbolo %, ad esempio per indicare uno stop loss di massimo 0.8% devi scrivere SET STOP %LOSS 0.8)
10/26/2019 at 11:56 AM #11126710/26/2019 at 11:57 AM #111268Scusami, ma ho modificato leggermente il mio post per aggiungere qualche esempio. Rileggilo.
-
AuthorPosts
Find exclusive trading pro-tools on