Alle righe 7-10, che significano quelle diverse assegnazioni alla stessa variabile COUNT?
ONCE Count = … garantisce che il sistema inizializzerà quella variabile, con il valore da te indicato, solo la prima volta che viene eseguito. Tu potrai cambiarlo quando vorrai, ma il sistema, alle candele successive ignorerà l’istruzione ONCE.
Nel tuo caso COUNT avrà inizialmente valore 3 perché l’hai indicato per ultimo (il sistema legge il codice in ordine sequenziale, dall’inizio alla fine) e poi non lo cambierà più, a meno che lo cambi tu come hai fatto alla riga 12.
Inoltre, alla riga 12 (come alle altre che la seguono), tu hai scritto:
LONGEXIT= (TRADEPRICES+0.0020)
e formalmente va bene, però funziona solo sul Forex, perché, ad esempio, su indici come il DAX non funziona, perché non ha così tanti decimali, ti consiglio di indicando i Pips che t’interessano e di convertirli utilizzando PIPSIZE, in tal modo lo stesso codice funzionerà con qulunque strumento, che sia Forex, Indici, Azioni ecc…, così:
LONGEXIT= (TRADEPRICES+20*pipsize) //aggiunge 20 pips al prezzo desiderato e lo assegna alla variabile LONGEXIT
Un altro paio di suggerimenti:
1) cerca di usare un misto di lettere minuscole e maiuscole, saranno più leggibili, sia le istruzioni che le variabili. Prova vedere quale di questi due codici uguali si legge meglio:
ORARIOINIZIO=090000
ORARIOFINE=173000
ORARIOCHIUSURA=220000
MEDIA=AVERAGE[20]
IF TIME=>ORARIOINIZIO THEN
IF CLOSE CROSSES OVER MEDIA THEN
BUY 1 CONTRACT AT MARKET
ENDIF
OrarioInizio = 090000
OrarioFine = 173000
OrarioChiusura = 220000
Media = Average[20]
If Time >= OrarioInizio Then
Buy 1 Contract at Market
Endif
2) meglio se cerchi di allineare (anche se non sempre è possibile) i dati, se indenti i blocchi IF…ENDIF ed i cicli di qualche spazio (io uso 3 spazi, ma va bene anche solo uno) verso destra e se per le variabili e nomi in generale usi nomi significativi che ti aiutino a capire subito di cosa si tratta, questo ulteriore esempio (è lo stesso del n. 1, ma molto meno leggibile):
A=090000
B=173000
C=220000
D=AVERAGE[20]
IF TIME=>A THEN
IF CLOSE CROSSES OVER D THEN
BUY 1 CONTRACT AT MARKET
ENDIF
Sono solo esempi, se li inserisci così ti viene segnalato errore per variabili inutilizzate.