Funzione OrderSendAsync() - pagina 6

 
Renat:

Il punto è che la richiesta asincrona praticamente non dà nessuno stato "inviato con successo".

Il completamento riuscito della funzione significa solo "dal punto di vista del cliente l'ordine sembra corretto ed è stato gettato nel tubo di rete, aspetta la risposta in OnTrade".

Scusa, sono stato via per un po'.

Tuttavia, vorrei chiarire questa frase: "Wait for reply onTrade" che si riferisce a una situazione in cui una richiesta non ha raggiunto il server.

Se la richiesta non ha raggiunto il server, non verrà generato nessun evento Trade che potrebbe essere legato a questa richiesta "mancante". Giusto? E se è così, non otterrò nessuna risposta appropriata nemmeno in OnTrade(). Sarebbe corretto trarre una tale conclusione:

Se la funzione OrderSendAsync() termina con successo, la richiesta potrebbe non raggiungere il server, e in questo caso è inutile aspettare la risposta in OnTrade()

?

 

sergeev:

Yedelkin:
Sps! Si scopre che una richiesta asincrona inviata con successo può facilmente perdersi e non entrare nella storia.

No.

Spiegare, per favore. "No", la mia conclusione è sbagliata o è una conferma?

Molto probabilmente, è una conclusione errata, ma Renat ha detto prima che "se la richiesta non ha raggiunto il server, non ha alcuna possibilità di apparire nel terminale del client". Se continuiamo con questa logica: se la richiesta non ha possibilità di apparire nel terminale del cliente, non ha possibilità di entrare nel terminale di base e quindi non ha possibilità di entrare nella base degli ordini storici. Se questo ragionamento non è corretto, dov'è l'errore e qual è?

 
Renat:

Il punto è che la richiesta asincrona praticamente non dà nessuno stato "inviato con successo".

Il completamento riuscito della funzione significa solo che "dal punto di vista del cliente, l'ordine sembra corretto ed è stato gettato nel tubo di rete, aspetta la risposta in OnTrade".

Spero che nel prossimo futuro OnTrade venga migliorato in modo tale che il controllo"la richiesta non ha raggiunto il server" possa essere organizzato dall'utente senza problemi e, di fatto, così come altri tipi di controllo di esecuzione.

perché nella sua forma attuale OnTrade non è capace di tali prodezze, dato che non ha idea del tipo di risposta su cui sta lavorando.

 
Urain:

Spero che OnTrade sia finalizzato nel prossimo futuro in modo che il controllo"la richiesta non ha raggiunto il server" possa essere organizzato dall'utente senza problemi, così come altri tipi di controllo dell'esecuzione.

perché nella sua forma attuale OnTrade è incapace di tali prodezze, dato che non ha idea del tipo di risposta su cui sta lavorando.

In linea di principio, possiamo aggiungere una risposta virtuale "richiesta fallita per timeout" se dopo aver inviato la richiesta non abbiamo ricevuto una risposta dal server entro 5-10 secondi che la richiesta ha raggiunto il server.

Questo ci permetterà di catturare una richiesta rimbalzata in OnTrade. Ma per fare questo, dovremo sovraccaricare la funzione con l'aggiunta di parametri.

 
Yedelkin:


Se la richiesta non ha raggiunto il server, non verrà generato nessun evento Trade che potrebbe riferirsi a questa richiesta "mancante". Giusto?

Sì, questo ha senso.

Possiamo aggiungere una risposta virtuale come ho descritto sopra. Questo ci permetterà di controllare l'esecuzione di operazioni asincrone.

 
Renat:

In linea di principio, possiamo aggiungere una risposta virtuale "richiesta fallita per timeout" se, dopo aver inviato la richiesta, non riceviamo una risposta dal server entro 5-10 secondi che la richiesta ha raggiunto il server.

Questo ti permetterà di catturare il rimbalzo di un ordine in OnTrade. Ma per farlo dovrete sovraccaricare la funzione con l'aggiunta di parametri.

Mi stai spaventando,

La gente sta aspettando il miglioramento di OnTrade con parametri per implementare il controllo dell'esecuzione. Avete suonato che sarà "in una build" cioè cronologicamente nella prossima.

Ho avuto tre ordini in sospeso per mesi, in attesa di un timeout, e voi dite "possiamo... "ma dobbiamo sovraccaricare..."

Non stai facendo un perfezionamento di OnTrade?

Non so gli altri, ma io non sono contento della situazione attuale. Ho rimandato la scrittura di tutti i codici fino a quando MQL5 avrà un funzionale che garantisce il controllo diretto dell'esecuzione, non indiretto.

 
Urain:

Mi stai spaventando,

La gente sta aspettando miglioramenti a OnTrade con parametri per implementare il monitoraggio runtime. Avete detto che sarà "in una build" cioè cronologicamente nella prossima build.

Ho tre ordini in sospeso da mesi, e voi dite "possiamo... "ma dobbiamo sovraccaricare..."

Non state facendo un perfezionamento di OnTrade?

Cercheremo di farlo nella prossima build.

Ci sono in realtà un sacco di lavori in corso, in più è il periodo delle vacanze estive - è difficile mantenere il solito ritmo di sviluppo.

 
Renat:

Diamoci da fare e cerchiamo di farlo nella prossima build.

I compiti nel lavoro sono davvero tanti, in più è ancora tempo di vacanze - in estate, il solito ritmo di sviluppo è difficile da mantenere.

Uff, che sollievo :)

davvero spaventato, perché è una situazione reale, parlato l'un l'altro e dimenticato, e la gente sta aspettando sperando :)

Vorrei poter vivere abbastanza a lungo :))

 

I metacaratteri costituiscono un terminale forte, leggero e versatile .

Forte e leggero che hanno già imparato a fare. Ma qui c'è un altro compito: la continuità. Abbiamo bisogno di collegare in un unico terminale tutti i "chokepoints" di diverse piattaforme di trading e un mucchio di broker. Credo che questo sia il problema. Non c'è più un MQ5 universale.

PS Sì I parametri di OnTrade sono in attesa. E sui nostri agenti di cambio. E abbiamo bisogno di un modo efficace per gestire l'asincronia. Poi sembra che non ci siano concorrenti (per i terminali). Il tester da solo vale molto...

 
Renat:

In linea di principio, possiamo aggiungere una risposta virtuale "richiesta fallita per timeout" se, dopo aver inviato la richiesta, non riceviamo una risposta dal server entro 5-10 secondi che la richiesta ha raggiunto il server.

Ci permetterà di prendere una rottura di richiesta in OnTrade. Ma per questo avremo bisogno di sovraccaricare la funzione con l'aggiunta di parametri.

Possiamo aggiungere una risposta virtuale come ho descritto sopra. Questo ci permetterà di controllare l'esecuzione di operazioni asincrone.

Grazie, è una buona soluzione. Almeno il mio problema è risolto. Aspettando, ma non spingendo :)