Errore istruzione Return
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Errore istruzione Return
- This topic has 10 replies, 2 voices, and was last updated 2 years ago by Damien00121.
-
-
04/04/2022 at 8:06 PM #191198
Ciao a tutti,
vorrei utilizzare l’ istruzione Return per postare a video un interruttore di ingresso / uscita ts e poi piazzarvi un allarme.
Ma qualunque cosa scrivo Return mi da errore.
Sicuramente il mio errore sarà banale, ho semplificato il codice al massimo, ma ho sempre errore.
Grazie a chi vorrà aiutarmi.
123456789101112131415161718192021222324252627sig=0// Conditions to enter long positionsIF NOT LongOnMarket AND YourConditions THENBUY 1 CONTRACTS AT MARKETsig=1ENDIF// Conditions to exit long positionsIf LongOnMarket AND YourConditions THENSELL AT MARKETsig=0ENDIF// Conditions to enter short positionsIF NOT ShortOnMarket AND YourConditions THENSELLSHORT 1 CONTRACTS AT MARKETsig=-1ENDIF// Conditions to exit short positionsIF ShortOnMarket AND YourConditions THENEXITSHORT AT MARKETsig=0ENDIFreturn sig<>sig[1] as "Signal"04/04/2022 at 11:09 PM #191202Hai mischiato istruzioni per gli indicatori (RETURN) ed istruzioni di una strategia (entrate e uscite dal mercato).
Non è consentito, o crei un indicatore che da dei segnali, oppure crei una strategia che si occupa di entrare e uscire dal mercato.
04/05/2022 at 2:55 PM #191235Roberto,
ho letto – e dimmi se ho capito bene – che l’alarm si può creare solo per un qualcosa di presente nel grafico.
Quindi, se l’alarm lo devo fare su un signal creato sul grafico ma questo non è plottabile all’ interno di un codice con buy/sell , come faccio a creare un alarm che segnali l’entrata e/o l’uscita di posizioni di un trading system?
Grazie del tuo aiuto.
04/05/2022 at 3:01 PM #191236Con un indicatore, ad esempio questo restituisce 1 se c’è un incrocio al rialzo e -1 se è al ribasso (tra due medie):
1234567Segnale = 0IF Average[10,0](close) CROSSES OVER average[50,0](close) THENSegnale = 1ELSIF Average[10,0](close) CROSSES UNDER average[50,0](close) THENSegnale = -1ENDIFRETURN Segnale AS "Segnale"04/05/2022 at 3:30 PM #191246Con un indicatore, ad esempio questo restituisce 1 se c’è un incrocio al rialzo e -1 se è al ribasso (tra due medie):
Questo mi è chiaro, ma io stavo cercando di capire un’altra cosa.
Se non posso mettere return e le istruzioni di buy /sell nello stesso codice, devo mettere a piano due grafici dello stesso titolo su cui lavoro , e carico uno con il codice del return su cui piazzare l’alarm e l’altro col ts vero e proprio, e con le stesse condizioni ovviamente? E’ così che funziona o c’è un altro modo che non riesco a vedere?
Grazie.
04/05/2022 at 4:06 PM #191250Metti l’indicatore che ho scritto sul grafico che vuoi utilizzare (e chiamalo SEGNALE, va bene qualunque nome, basta che con CALL utilizzi quel nome), questa è la strategia:
123456Segnale = CALL "Segnale"IF Segnale = 1 THENBUY AT MARKETELSIF Segnale = -1 THENSELLSHORT AT MARKETENDIF04/05/2022 at 8:56 PM #191274Con un indicatore, ad esempio questo restituisce 1 se c’è un incrocio al rialzo e -1 se è al ribasso (tra due medie):
<!– Crayon Syntax Highlighter v_2.7.2_beta –>
<textarea class=”crayon-plain print-no” style=”tab-size: 4; font-size: 14px !important; line-height: 16px !important; z-index: 0; opacity: 0; overflow: hidden;” readonly=”readonly” wrap=”soft” data-settings=”dblclick”>Segnale = 0
IF Average[10,0](close) CROSSES OVER average[50,0](close) THEN
Segnale = 1
ELSIF Average[10,0](close) CROSSES UNDER average[50,0](close) THEN
Segnale = -1
ENDIF
RETURN Segnale AS “Segnale”</textarea><table class=”crayon-table”>
<tbody>
<tr class=”crayon-row”>
<td class=”crayon-nums ” data-settings=”show”>1234567</td>
<td class=”crayon-code”>Segnale <span class=”crayon-o”>=</span> <span class=”crayon-cn”>0</span><span class=”crayon-st”>IF</span> <span class=”crayon-r”>Average</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>10</span>,<span class=”crayon-cn”>0</span><span class=”crayon-o”>]</span>(<span class=”crayon-st”>close</span>) <span class=”crayon-st”>CROSSES OVER</span> <span class=”crayon-r”>average</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>50</span>,<span class=”crayon-cn”>0</span><span class=”crayon-o”>]</span>(<span class=”crayon-st”>close</span>) <span class=”crayon-st”>THEN</span>Segnale<span class=”crayon-o”>=</span> <span class=”crayon-cn”>1</span><span class=”crayon-st”>ELSIF</span> <span class=”crayon-r”>Average</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>10</span>,<span class=”crayon-cn”>0</span><span class=”crayon-o”>]</span>(<span class=”crayon-st”>close</span>) <span class=”crayon-st”>CROSSES UNDER</span> <span class=”crayon-r”>average</span><span class=”crayon-o”>[</span><span class=”crayon-cn”>50</span>,<span class=”crayon-cn”>0</span><span class=”crayon-o”>]</span>(<span class=”crayon-st”>close</span>) <span class=”crayon-st”>THEN</span>Segnale<span class=”crayon-o”>=</span> <span class=”crayon-o”>-</span><span class=”crayon-cn”>1</span><span class=”crayon-st”>ENDIF</span><span class=”crayon-st”>RETURN</span> Segnale <span class=”crayon-st”>AS</span> <span class=”crayon-s”>”Segnale”</span></td>
</tr>
</tbody>
</table><!– [Format Time: 0.0005 seconds] –>
Roberto, ho fatto copia incolla del tuo codice, ma ho sempre errore. Non ci credo.
04/05/2022 at 9:17 PM #191276Per favore non usare QUOTE quando non strettamente necessario.
Siamo solo io e te, è evidente che ti riferisci a me.
Mi sa che hai copiato l’indicatore in una strategia. Gli indicatori NON possono essere inclusi nella strategia, ma vanno copiati o importati tra gli indicatori.
Se segui le mie istruzioni deve funzionare.
04/05/2022 at 10:31 PM #191287Roberto,
Ho creato l indicatore. E risulta in un panel sotto le candele dei prezzi.
Però quando carico questo codice mi dice che non lo vede.
Grazie per la tua pazienza
04/06/2022 at 1:43 AM #191292Se l’hai chiamato SEGNALE deve vederlo.
Se l’hai chiamato diversamente allora devi mettere quello stesso nome dove c’è l’istruzione CALL.
04/06/2022 at 3:13 PM #191338Ho risolto.
All’ interno del codice la variabile l’avevo chiamata Segnale e veniva anche plottata con questo nome e questo mi aveva effettivamente ingannato.
Ma sono andato a riguardare ed il nome dell’ indicatore creato invece non era “Segnale” e questo determinava l’ errore.
Grazie al tuo aiuto, a poco a poco riesco 🙂
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on