Techno: quello che intende è che ha tutte le operazioni su tutti gli ordini mescolati in un ciclo, con un'iterazione che influenza significativamente il risultato dell'altra, e non riesce a capire perché non funziona.
Quindi dobbiamo prima separare le cotolette dalle mosche... Non avevo pensato a questo caos :-)
Mi piacerebbe conoscere un Expert Advisor come questo... apre 2 diversi ordini pendenti e chiude il resto quando uno di essi scatta...
c'era un 2 in sospeso nel codice è stato chiamato ... non più ...
fa scorrere gli ordini aperti in base a OrderType() e imposta il contatore:
int count=0;
if(OrderType()<2) count++;
se(count==0)
{ qui c'è un selettore - non appena si incontra OrderType()>1 - cancellarlo: OrderDelete(.....); se la cancellazione ha successo (vedi Documentazione), impostare attivo: OrderSend(...); } Elementare, Watson!
Ho sbagliato un po': se(OrdersTotal()==0) {metti 2 ordini in sospeso} e poi controlla con il selettore del tipo di ordine: una volta trovato uno <2, cerca il secondo >2 e cancellalo
Ecco un ciclo per controllare lo stato degli ordini, dopo di che fare controlli e chiusure e modifiche, dopo ogni azione restituire l'operatore per far sì che il ciclo aggiorni lo stato degli ordini
OK... capisco che non puoi aiutarmi... è inutile dare consigli finché non lo vedo comunque... ne cercherò uno simile (non funziona neanche con questo ciclo di controllo... tutto rimane uguale... e anche con diversi cicli per operazione...)
sllawa3: ok... immaginavo che non saresti stato di grande aiuto... è inutile dare consigli finché non lo vedo comunque... ne cercherò uno simile (non funziona neanche con questo check loop... tutto è uguale... e anche con diversi cicli per operazione...)
Sei diventato pigro... scrivi una funzione (o due, se non sai come fare) che restituisca il numero di ordini nel mercato (storico) per i parametri specificati: simbolo, mago, tipo di ordine, cioè, in qualsiasi combinazione...
poi su ogni tick (o altro time frame con cui inizia l'EA) si definisce il numero di ordini a mercato e di ordini pendenti e usando le loro combinazioni si eseguono le azioni richieste...
mercato == 0 e ordini pendenti == 0
mercato == 0 e ordini pendenti == 2 non fanno nulla
mercato == 1 e ordini pendenti == 1 eliminare un ordine pendente
mercato == 1 e pause == 0 esca
Non posso credere che sia così difficile da fare ...
Mi dispiace. è ora di dimenticare la programmazione procedurale - usa le funzioni...
una variabile salva l'ultimo valore, è ridicolo...
NON C'È NESSUN PROBLEMA NELLA CRONOLOGIA, MA COME FACCIO A SAPERE SE È APERTO O NO? SE IL SELETTORE MANTIENE L'ULTIMO VALORE FINCHÉ NON VIENE RIAVVIATO...
sllawa3: NON C'È NESSUN PROBLEMA NELLA CRONOLOGIA, MA COME FACCIO A SAPERE SE È APERTO O NO? SE IL SELETTORE MANTIENE L'ULTIMO VALORE FINCHÉ NON VIENE RIAVVIATO...
ti è già stato detto 5 volte come farlo da 3 persone, se non capisci, cercane uno già pronto, o chiedi a qualcuno di scriverlo per te
NON È SOLO QUESTO EA CHE È IL PROBLEMA, È QUALSIASI EA... CHE FINCHÉ IL SELETTORE NON VIENE RIAVVIATO (FINCHÉ NON APPARE L'ORDINE) AVRÀ L'ULTIMO VALORE BLOCCATO IN ESSO
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Mi piacerebbe conoscere un Expert Advisor come questo... apre 2 diversi ordini pendenti e chiude il resto quando uno di essi scatta...
c'era un codice base doppio in attesa di 2 chiamato ... ora non c'è ...
quello che intende è che ha tutte le operazioni su tutti gli ordini mescolati in un ciclo, con un'iterazione che influenza significativamente il risultato dell'altra, e non riesce a capire perché non funziona.
Quindi dobbiamo prima separare le cotolette dalle mosche... Non avevo pensato a questo caos :-)
Mi piacerebbe conoscere un Expert Advisor come questo... apre 2 diversi ordini pendenti e chiude il resto quando uno di essi scatta...
c'era un 2 in sospeso nel codice è stato chiamato ... non più ...
fa scorrere gli ordini aperti in base a OrderType() e imposta il contatore:
int count=0;
if(OrderType()<2) count++;
se(count==0)
{ qui c'è un selettore - non appena si incontra OrderType()>1 - cancellarlo: OrderDelete(.....); se la cancellazione ha successo (vedi Documentazione), impostare attivo: OrderSend(...); } Elementare, Watson!
Ho sbagliato un po': se(OrdersTotal()==0) {metti 2 ordini in sospeso} e poi controlla con il selettore del tipo di ordine: una volta trovato uno <2, cerca il secondo >2 e cancellalo
Ecco un ciclo per controllare lo stato degli ordini, dopo di che fare controlli e chiusure e modifiche, dopo ogni azione restituire l'operatore per far sì che il ciclo aggiorni lo stato degli ordini
ok... immaginavo che non saresti stato di grande aiuto... è inutile dare consigli finché non lo vedo comunque... ne cercherò uno simile (non funziona neanche con questo check loop... tutto è uguale... e anche con diversi cicli per operazione...)
Sei diventato pigro... scrivi una funzione (o due, se non sai come fare) che restituisca il numero di ordini nel mercato (storico) per i parametri specificati: simbolo, mago, tipo di ordine, cioè, in qualsiasi combinazione...
poi su ogni tick (o altro time frame con cui inizia l'EA) si definisce il numero di ordini a mercato e di ordini pendenti e usando le loro combinazioni si eseguono le azioni richieste...
mercato == 0 e ordini pendenti == 0
mercato == 0 e ordini pendenti == 2 non fanno nulla
mercato == 1 e ordini pendenti == 1 eliminare un ordine pendente
mercato == 1 e pause == 0 esca
Non posso credere che sia così difficile da fare ...
Mi dispiace. è ora di dimenticare la programmazione procedurale - usa le funzioni...
una variabile salva l'ultimo valore, è ridicolo...
NON C'È NESSUN PROBLEMA NELLA CRONOLOGIA, MA COME FACCIO A SAPERE SE È APERTO O NO? SE IL SELETTORE MANTIENE L'ULTIMO VALORE FINCHÉ NON VIENE RIAVVIATO...
È BURROSO.
NON C'È NESSUN PROBLEMA NELLA CRONOLOGIA, MA COME FACCIO A SAPERE SE È APERTO O NO? SE IL SELETTORE MANTIENE L'ULTIMO VALORE FINCHÉ NON VIENE RIAVVIATO...