Come codificare? - pagina 307

 

...

Sì, hai capito bene

Per quanto riguarda l'impostazione del fasle: mql è un linguaggio simile al C/C++, il che significa che falso == 0 e vero == 1. Quindi si può usare in questo modo. Non puoi dichiarare il tipo della variabile globale poiché sono esclusivamente doppie, ma usando i modi superiori puoi usarle come se fossero booleane

crsnape@btinternet.com:
Ahh... capisco. Perché le variabili globali salvano i loro valori in memoria. Quindi, come dici tu, quando finisce il backtesting ed è a 5000, questo viene salvato in memoria anche se il backtesting viene rieseguito, quindi non tornerà mai falso perché BarsGV non è sotto 5000? Cavolo, è profondo.

E inoltre, se genera un errore, imposta HasOrderedGV a false in modo da poter continuare con il resto del codice?

Ho capito bene?

BTW- questo è permesso?

GlobalVariableSet(HasOrderedGV, false);

Perché in MQL4 Book dice:

datetime GlobalVariableSet([/TD] [TD]string name, double value)
Il secondo valore nella mia istanza è bool non double?
 

Funziona di nuovo. Fantastico.

Grazie.

 

O lo era...

Ho inserito le mie solite date di prova che sono 04.01.2011- 20.07.2012. Ha funzionato bene ieri sera quando ho inserito il BarsGV in init(), ma quando l'ho testato questa mattina senza fare alcuna modifica ha piazzato un solo ordine il 17.01.2011. Poi l'ho testato di nuovo 5 minuti dopo, senza apportare alcuna modifica e ha restituito circa 30 ordini dal 19.01.2011- 21.04.2011!

Fondamentalmente funziona come dovrebbe, ma si blocca prima della data di chiusura specificata. Non ci sono errori nel diario, fa il mio print() come dovrebbe ecc. Il mio criterio di entrata dovrebbe sviluppare dei trade fino al 20.07.2012.

Mi sembra davvero temperato e posso solo supporre che abbia a che fare con la mia GlobalVariable. Cosa ne pensate?

 

Questo è il mio diario:

2012.07.23 09:08:16 2011.03.21 16:18 Tester: take profit #2 a 1.42100 (1.42100 / 1.42125)

2012.07.23 09:08:15 2011.03.04 14:39 Tester: take profit #1 a 1.40040 (1.40043 / 1.40068)

2012.07.23 09:08:14 2011.02.04 13:39 Tester: stop loss #3 a 1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Numero biglietto 3 Simbolo EURUSD Prezzo 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: EA cerca di posizionare il livello di take profit...con successo

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: modificare #3 comprare 0,01 EURUSD a 1,37175 sl: 1,35700 tp: 1,41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: posizione take profit calcolata con successo

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ordine piazzato con successo

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: EA tentativo di piazzare ordine di acquisto...

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: aperto #3 comprare 0,01 EURUSD a 1,37175 sl: 1,35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Dimensione della posizione calcolata con successo usando la percentuale di rischio derivata

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Percentuale di rischio pronta per il calcolo dei lotti

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ordine precedente in profitto. Rischio del 3% assegnato

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ticket numero 2 ottenuto per ultimo ordine aperto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ticket numero 2 ottenuto per ultimo ordine aperto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Controllo dei criteri di acquisto... successo. Ordine pronto per essere piazzato

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Numero biglietto 2 Simbolo EURUSD Prezzo 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: EA cerca di posizionare il livello di take profit...con successo

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: modificare #2 acquistare 0,01 EURUSD a 1,35995 sl: 1,33960 tp: 1,42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: posizione di take profit calcolata con successo

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ordine piazzato con successo

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: EA cerca di piazzare un ordine di acquisto...

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: aperto #2 comprare 0,01 EURUSD a 1,35995 sl: 1,33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Dimensione della posizione calcolata con successo usando la percentuale di rischio derivata

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Percentuale di rischio pronta per il calcolo dei lotti

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ordine precedente in profitto. Rischio del 3% assegnato

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ticket numero 1 ottenuto per ultimo ordine aperto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ticket numero 1 ottenuto per ultimo ordine aperto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Controllo dei criteri di acquisto... successo. Ordine pronto per essere piazzato

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Numero biglietto 1 Simbolo EURUSD Prezzo 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: EA cerca di posizionare il livello di take profit...con successo

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: modifica #1 acquistare 0,01 EURUSD a 1,34415 sl: 1,32540 tp: 1,40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: posizione take profit calcolata con successo

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Ordine piazzato con successo

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: EA tentativo di piazzare ordine di acquisto...

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: aperto #1 acquistare 0,01 EURUSD a 1,34415 sl: 1,32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Dimensione della posizione calcolata con successo usando la percentuale di rischio derivata

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Percentuale di rischio pronta per il calcolo dei lotti

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Nessun ordine precedente identificato. Rischio dell'1% assegnato

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Numero di ticket -1 ottenuto per l'ultimo ordine aperto

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Verifica dei criteri di acquisto... riuscita. Ordine pronto per essere piazzato

2012.07.23 09:08:12 H4 Periodo EA input: MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10;

Funziona come un orologio ma per qualche motivo decide di smettere di piazzare ordini dopo un certo periodo di tempo...

 

...

Mi dispiace,

Ma quei dati non sono sufficienti per dire cosa sta succedendo al tuo EA. Come ho detto un paio di volte, senza il codice tutto quello che posso fare è indovinare, e dai dati allegati non posso nemmeno indovinare

crsnape@btinternet.com:
Questo è il mio diario:

2012.07.23 09:08:16 2011.03.21 16:18 Tester: take profit #2 a 1.42100 (1.42100 / 1.42125)

2012.07.23 09:08:15 2011.03.04 14:39 Tester: take profit #1 a 1.40040 (1.40043 / 1.40068)

2012.07.23 09:08:14 2011.02.04 13:39 Tester: stop loss #3 a 1.35700 (1.35699 / 1.35724)

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Numero biglietto 3 Simbolo EURUSD Prezzo 1.3718 SL 1.357 TP 0

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: EA cerca di posizionare il livello di take profit...con successo

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: modificare #3 comprare 0,01 EURUSD a 1,37175 sl: 1,35700 tp: 1,41600 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: posizione take profit calcolata con successo

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ordine piazzato con successo

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: EA tentativo di piazzare ordine di acquisto...

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: aperto #3 comprare 0,01 EURUSD a 1,37175 sl: 1,35700 ok

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Dimensione della posizione calcolata con successo usando la percentuale di rischio derivata

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Percentuale di rischio pronta per il calcolo dei lotti

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ordine precedente in profitto. Rischio del 3% assegnato

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ticket numero 2 ottenuto per ultimo ordine aperto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Ticket numero 2 ottenuto per ultimo ordine aperto

2012.07.23 09:08:14 2011.02.01 04:00 H4 Periodo EA EURUSD,H4: Controllo dei criteri di acquisto... successo. Ordine pronto per essere piazzato

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Numero biglietto 2 Simbolo EURUSD Prezzo 1.36 SL 1.3396 TP 0

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: EA cerca di posizionare il livello di take profit...con successo

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: modificare #2 acquistare 0,01 EURUSD a 1,35995 sl: 1,33960 tp: 1,42100 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: posizione di take profit calcolata con successo

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ordine piazzato con successo

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: EA cerca di piazzare un ordine di acquisto...

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: aperto #2 comprare 0,01 EURUSD a 1,35995 sl: 1,33960 ok

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Dimensione della posizione calcolata con successo usando la percentuale di rischio derivata

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Percentuale di rischio pronta per il calcolo dei lotti

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ordine precedente in profitto. Rischio del 3% assegnato

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ticket numero 1 ottenuto per ultimo ordine aperto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Ticket numero 1 ottenuto per ultimo ordine aperto

2012.07.23 09:08:13 2011.01.21 20:00 H4 Periodo EA EURUSD,H4: Controllo dei criteri di acquisto... successo. Ordine pronto per essere piazzato

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Numero biglietto 1 Simbolo EURUSD Prezzo 1.3442 SL 1.3254 TP 0

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: EA cerca di posizionare il livello di take profit...con successo

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: modifica #1 acquistare 0,01 EURUSD a 1,34415 sl: 1,32540 tp: 1,40040 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: posizione take profit calcolata con successo

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Ordine piazzato con successo

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: EA tentativo di piazzare ordine di acquisto...

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: aperto #1 acquistare 0,01 EURUSD a 1,34415 sl: 1,32540 ok

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Dimensione della posizione calcolata con successo usando la percentuale di rischio derivata

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Percentuale di rischio pronta per il calcolo dei lotti

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Nessun ordine precedente identificato. Rischio dell'1% assegnato

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Numero di ticket -1 ottenuto per l'ultimo ordine aperto

2012.07.23 09:08:13 2011.01.19 04:00 H4 Periodo EA EURUSD,H4: Verifica dei criteri di acquisto... riuscita. Ordine pronto per essere piazzato

2012.07.23 09:08:12 H4 Periodo EA input: MagicNumber=42; RiskRewardRatio=3; D1SlowMAPeriod=200; D1FastMAPeriod=50; FastMACDPeriod=12; SlowMACDPeriod=26; SignalPeriod=9; DNCPeriod=120; SL_Period=10;

Funziona come un orologio, ma per qualche motivo decide di smettere di piazzare ordini dopo un certo periodo di tempo...
 

Ciao mladen, ho allegato il file. Spero di averlo scritto bene e che abbia senso!

File:
 

...

Da quello che posso vedere dal codice: le barre contate (la funzione IndicatorCounted()) non funzionano negli EA (presumo che tu stia usando quella, dato che nel codice manca la definizione CountedBars).

Può funzionare solo negli indicatori

crsnape@btinternet.com:
Ciao mladen, ho allegato il file. Spero di averlo scritto bene e che abbia senso!
 

Scusa mladen, non sapevo cosa intendevi con la funzione CountedBars perché non l'ho usata nel mio codice, così ho scaricato il file che avevo postato e l'ho aperto ed è completamente diverso da quello che ho allegato. Strano?

Ho sicuramente allegato quello giusto, è perché ho un segno di lucchetto accanto al file sul mio computer - è tutto quello che posso pensare?

Devi aver pensato che diavolo quando hai aperto quel codice, perché non c'è quasi niente dentro.

 

...

Mi riferivo a questa parte del codice

if (Bars > CountedBars)

CountedBars = Bars

else

return (-888);

E non vedo affatto dove viene dichiarato CountedBars (non riesco nemmeno a compilare quel codice - non solo a causa della mancanza di dichiarazione per quella variabile)

crsnape@btinternet.com:
Scusa mladen, non sapevo cosa intendessi con la funzione CountedBars perché non l'ho usata nel mio codice, così ho scaricato il file che avevo postato e l'ho aperto e il file è completamente diverso da quello che ho allegato. Strano?

Ho sicuramente allegato quello giusto, è perché ho un segno di lucchetto accanto al file sul mio computer - è tutto quello che posso pensare?

Devi aver pensato che diavolo, quando hai aperto quel codice, perché non c'è quasi niente dentro.
 

Scusa mladen, il codice che hai visto tramite il file che ho allegato è completamente sbagliato - non assomiglia affatto al mio codice attuale, nonostante abbia allegato il file corretto (ho controllato due volte il nome del file).

Tutto quello che posso pensare è che il file su cui sto lavorando ha un lucchetto accanto ad esso sul mio sistema. Non so cosa sia o faccia. Qualche idea/?

PS- è il mio EA perché ho usato la creazione guidata EA e ha il mio nome in alto accanto al copyright,