AIUTARE CHI PUÒ!!! - pagina 11

 
Techno:
Assolutamente no, è la stessa cosa, un esperto completamente diverso. Usa il mio, riempi i dettagli mancanti

NON STO PARLANDO DI QUELLO ORIGINALE, STO PARLANDO DI QUELLO CHE HO FATTO CON LE TUE PARTI... MA GRAZIE MILLE PER LA LEZIONE CON L'ARRAY!
 
sllawa3:
MA LA DOMANDA RIMANE ANCORA... COME AGGIRARE L'ERRORE DI SELEZIONE... È SOLO UN ESPERTO CON UN ARRAY... NON SI PUÒ SEMPRE SEGUIRE QUESTO SCHEMA...
... invece degli array potremmo usare molte variabili. La differenza in Expert Advisors è che il blocco di valutazione dell'ordine è indipendente dal resto del programma. La modifica non dipende nemmeno dalla cancellazione, mentre nel tuo caso tutto è in un unico posto. Per scrivere tutto insieme, bisogna essere molto esperti, e hai appena fatto un errore da qualche parte, sarebbe più facile scrivere un nuovo EA che affrontare quel casino.
 

In breve, se non azzeri le variabili, non sono azzerate da nessun'altra parte, e niente nella tua versione originale funziona. Se li azzeri alla fine, allora l'EA funziona, ma hai una linea, per esempio, if(OrderType() == OP_BUYSTOP&DB==1){OrderDelete(OrderTicket(),CLR_NONE);return(0);}

E non funziona niente, perché un ordine limite può andare prima e l'ordine a mercato solo dopo, e questa condizione non sarà mai soddisfatta e l'ordine pendente non sarà cancellato. Quindi, il tuo Expert Advisor funziona solo quando la sequenza degli ordini nel terminale è in accordo con l'algoritmo, come hai capito succede raramente in 11 anni sono state aperte 90 operazioni, l'ho controllato. Quindi la conclusione è la struttura sbagliata del programma, o meglio la totale dipendenza di un'iterazione da un'altra durante l'overshoot.

 
SO CHE C'È QUALCOSA CHE NON VA... L'HO CERCATO... MA IL TUO CODICE È MOLTO PIÙ CORTO... MOLTO PIÙ BREVE...
 
sllawa3:
BEH, OVVIAMENTE C'È QUALCOSA CHE NON VA... QUINDI L'HO CERCATO...
quindi ti ho scritto l'errore qui sopra. La struttura del programma non è corretta, cioè non è in un errore di un simbolo, ma nel 70% di tutto il programma.
 

HAI ANCHE UN BUG NEL TUO CODICE... NON MODIFICA LE POSIZIONI DI ACQUISTO, QUINDI SE SCATTA UN BUY STOP, L'ORDINE VIENE PIAZZATO SENZA STOP E TAKEAWAY E GLI ALTRI NON VENGONO APERTI

NESSUN DATO DB[2]==0 DB[3]==0 ANCHE

 
Ho capito... set DB[0] not > 1 a >=1....
 
Sì, l'ho corretto nel mio, ho solo dimenticato di metterlo nel file caricato
 
sllawa3:

HAI ANCHE UN BUG NEL TUO CODICE... NON MODIFICA LE POSIZIONI DI ACQUISTO, QUINDI SE SCATTA UN BUY STOP, L'ORDINE VIENE PIAZZATO SENZA STOP E TAKEAWAY E GLI ALTRI NON VENGONO APERTI

NESSUN DATO DB[2]==0 DB[3]==0 ANCHE

Slava, il tuo problema è che non accetti nuove idee... Ti è stato dato un approccio diverso, ma ti aspetti una soluzione pronta...

Sta a voi decidere come trattare i possibili problemi con gli ordini - requotes, prezzi errati e così via...

 
Techno:
Sì, l'ho sistemato io stesso, ho solo dimenticato di mettere
nel file caricato.

Ho deciso di riscrivere tutti i miei EA usando un array... sto pensando a come aggiungere altre 2 variabili - order lot e order profit e 2 ordini per bylimit e selligit

nella tabella di ricerca degli ordini

ci sono limitazioni sul numero di variabili orizzontali e verticali? e le variabili prima dell'inizio [4] è il numero di ordini o il numero di variabili in ogni ordine?