[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 338

 

Vinin 20.08.2012 13:28

Gek34:

Grazie mille lo smonterò. E con la seconda domanda, mi puoi dire 3 post sopra?

Non ci sono molte informazioni

Codice allegato: Quando un ordine pendente limit o stop viene piazzato, appare una linea da modificare, se la sposto, l'ordine viene modificato come necessario, ma poi ogni tick cerca di modificarlo, anche se non ne ho più bisogno

Non ho tenuto conto di tutti gli errori ma non ho voglia di riscriverlo ora. I font non sono allegati (se non li hai installati il nome sarà storto)

File:
pobedaov5.mq4  51 kb
 
Gek34:

Vinin 20.08.2012 13:28

Gek34:

Grazie mille lo smonterò.E con la seconda domanda, non può sollecitare 3 post sopra?

Non ci sono molte informazioni

Sto allegando il codice: Dopo aver piazzato un ordine pendente limit o stop, appare una linea di modifica, se la sposti, l'ordine sarà modificato come necessario, ma dopo ogni tick cerca di modificarlo, anche se non ne ho più bisogno.

Non ho tenuto conto degli errori quando scrivevo il codice, ma ora non ho voglia di riscriverlo


Bisogna capire la logica per capirla. E questo, per me, richiede molto tempo. Scusa
 

Allora formulerò la domanda in modo diverso: se un errore durante la modifica dell'ordine viene visualizzato non nel ( giornale, il giornale è pulito) ma nella scheda (Esperti) significa che

1. Un errore nei calcoli di Expert Advisor (una richiesta al server per modificare l'ordine non è stata inviata)?

2. il server ha restituito l'errore (dato che questo accade ogni volta, l'account può essere bloccato)?

 
Gek34:

Allora formulerò la domanda in modo diverso: se un errore durante la modifica di un ordine viene visualizzato non nel ( giornale, il giornale è pulito) ma nella scheda (Esperti) significa che

1. Un errore nei calcoli di Expert Advisor (una richiesta al server per modificare l'ordine non è stata inviata)?

2. il server ha restituito l'errore (dato che questo accade ogni volta, l'account può essere bloccato)?


Codice di errore. Se 0, nessuna richiesta è stata inviata al server.
 
skyjet:
... MetaTrader può decidere se i risultati sono importanti o no?

Sì, se hai spuntato la casella "Skip Useless Results". Scheda Risultati ottimizzazione, tasto destro del mouse.
 
Zhunko:
Se siete alla ricerca, fate qualche altra ricerca sotto DOS. Può essere utile.

Grazie, ho capito.

Molto divertente.

 

https://www.mql5.com/ru/forum/138609/page333#683047

Tuttavia, qualcuno può aiutarmi a capire come organizzare correttamente l'array? Non è un problema complicato, ma non riesco a capirlo da solo.

 
silhouette:

https://www.mql5.com/ru/forum/138609/page333#683047

Tuttavia, qualcuno può aiutarmi a capire come organizzare correttamente l'array? Non è un problema complicato, ma non riesco a capirlo da solo.

Prova a risolverlo su un pezzo di carta:

2) Trova la lunghezza di una serie di valori verdi e rossi e memorizzali in un array.

Personalmente, non mi è chiaro quale dovrebbe essere la dimensione degli array. In altre parole - in quale periodo di tempo vuoi vedere un'immagine dei valori verdi e rossi, a partire da quale barra?

 
artmedia70:

Prova "sulla carta" a risolvere questo problema:

2) Trova la lunghezza di una serie di valori verdi e rossi e memorizzali in un array.

Personalmente, non capisco quale dovrebbe essere la dimensione degli array. In altre parole - in quale periodo di tempo vuoi vedere l'immagine dei valori verdi e rossi, a partire da quale barra?

Quale dovrebbe essere la dimensione degli array - non lo so. Il suo indice dovrebbe accumularsi su tutto l'intervallo di barre calcolate, cioè a partire dal limite della barra.

Cercherò di descrivere la logica del problema a parole.

  • Abbiamo tre buffer di indicatori che disegnano un LSMA colorato. Se il suo valore sulla barra attuale è superiore a quello precedente, lasciamo il valore nei buffer giallo e verde e cancelliamo il valore in rosso. Se il valore attuale è inferiore a quello precedente - al contrario. In tutti gli altri casi - cancelliamo il valore nei buffer rosso e verde, lasciando solo quello giallo.
  • Il valore del buffer della serie verde è 1, il valore dell'indice è 0. Se il buffer verde sulla barra corrente =EMPTY_VALUE e anche su quella precedente =EMPTY_VALUE, allora il valore del buffer verde aumenta di uno (accumulo di valore). Se il valore del buffer verde == EMPTY_VALUE, mentre il valore del buffer rosso == EMPTY_VALUE anche (solo il colore giallo sul grafico), significa che la serie è finita - assegniamo la lunghezza della serie alla serie verde con indice 0 (la salviamo nel buffer). Aumentiamo l'indice dell'array di uno (i prossimi saranno ora 1, 2, 3 ecc.), resettiamo il valore della serie a uno, aspettiamo l'inizio della prossima serie verde.
  • Manipolazioni simili vengono eseguite con la matrice della serie rossa.
 
granit77:
Sì, se hai spuntato la casella "Salta risultati inutili". Scheda Risultati ottimizzazione, tasto destro del mouse.
Grazie!