Errori, bug, domande - pagina 527

 
Swan:

Esperti di visualizzazione.

La divisione per zero è un errore critico. I programmi mql si rifiutano categoricamente di farlo)

Se non lo capite, potete fare qualcosa del genere:

Ho mostrato che la divisione per zero si verifica solo in un caso particolare, questo zero non dovrebbe essere, e non esiste se si prende il divisore e il divisibile separatamente, questo è ciò che non è chiaro,

OK, grazie per questo, ci darò un'occhiata io stesso. Forse c'è un po' di verità nella sua risposta, grazie ancora.

 
Im_hungry:

Sfortunatamente, ci vuole tempo per entrarci. E il tempo è denaro.

Il problema non si risolverà da solo,

C'è un concetto di aiuto disinteressato, a mql4.com e in altre circostanze anch'io aiuto di tanto in tanto se posso. Avresti potuto semplicemente stare zitto.
 
Olegts:
Esiste una cosa come l'aiuto disinteressato, a mql4.com e in altre circostanze, anch'io a volte aiuto se posso. Avresti potuto semplicemente stare zitto.
Reciproco, amico mio - reciproco.
 
papaklass:

È normale che sia così?

Una posizione viene chiusa, e la richiesta PositionGetDouble(POSITION_PRICE_OPEN) restituisce il valore della posizione chiusa. Finché non viene aperta una nuova posizione, il valore della vecchia posizione (già chiusa) non viene modificato. È normale che sia così?

Fatemi capire bene. La query PositionGetDouble(POSITION_PRICE_OPEN) viene fatta dopo la query di disponibilità della posizione?
 

punto interessante cioè

Per evitare questo uso il seguente

double open = 0.0;
if (PositionSelect(Symbol_1))
 {
  open = PositionGetDouble(POSITION_PRICE_OPEN);
 }

e sarà zero come desiderato.

 
papaklass:

Richiesta PositionsTotal() = 0. Ora faccio la query PositionGetDouble(POSITION_PRICE_OPEN) e ottengo in risposta il prezzo di apertura di una posizione già chiusa. Idealmente, dovrei ottenere zero, dato che non c'è nessuna posizione aperta. Sì, dopo aver chiesto dell'esistenza della posizione.

Secondo me, tutto rientra nelle regole:

La funzione PositionSelect() copia i dati di posizione nell'ambiente software, e le chiamate successive a PositionGetDouble(), PositionGetInteger() e PositionGetString() restituiscono i dati precedentemente copiati. Questo significa che la posizione stessa potrebbe non esistere più (o potrebbe essere cambiata in volume, direzione, ecc.), ma i dati di questa posizione possono ancora essere recuperati. Per garantire la ricezione di dati di posizione freschi, si raccomanda di chiamare la funzione PositionSelect() immediatamente prima di chiamarli.

Tuttavia, non capisco perché i dati di posizione devono essere richiesti se la selezione della posizione fallisce. Ma non importa.

 

Cari sviluppatori. Non prenderla come un'imposizione, ho una domanda: cosa ne pensi della possibilità di cancellare un ordine in sospeso se il prezzo ha raggiunto un valore?

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Diubakin:

Dopo l'aggiornamento alla Build 507, sto avendo due problemi nel tester:

1. Durante l'ottimizzazione, quando si cambia scheda del tester, il terminale si blocca occasionalmente (non sempre);

2. Se un'enumerazione è stata selezionata come parametro ottimizzato, allora quando si cerca di eseguire uno dei risultati dell'ottimizzazione, Expert Advisor non vede il valore di questa enumerazione, cioè è sempre uguale a zero.

Sembra che abbiamo trovato un problema con le enumerazioni durante l'ottimizzazione e il terminale si blocca. Dovrete aspettare la prossima build.
 
stringo:
Sembra aver trovato un problema con l'enumerazione durante l'ottimizzazione e l'abbandono del terminale. Dovrete aspettare la prossima build.

Fantastico. Non riesci a riprodurre il problema degli agenti remoti che si bloccano?
Mi sono già stancato di loro. Raramente un'ottimizzazione va in porto senza bloccarsi.
Devo spegnere gli agenti congelati, poi accenderli e così via fino al prossimo congelamento.
E si blocca sia sugli agenti che si trovano sulla rete locale che sugli agenti cloud (meno spesso).

 
crOss:

È fantastico. Non riesci a riprodurre il problema con gli agenti remoti che si bloccano?
Mi sto stancando di loro. Raramente un'ottimizzazione va in porto senza bloccarsi.
Devo spegnere gli agenti bloccati, poi riaccenderli e così via fino al prossimo blocco.
E si blocca sia sugli agenti che si trovano sulla rete locale che sugli agenti cloud (meno spesso).

Molte cose sono state sistemate negli agenti. E non dovete aspettare la prossima build. Devi aspettare che gli agenti remoti si aggiornino alla build attualmente rilasciata