Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Buon pomeriggio a tutti!
Ho una situazione leggermente diversa. Broker BCS. Un ordine di mercato non viene eseguito la prima volta.
Invio di un ordine di acquisto al mercato. La funzione restituisce "Ordine effettuato" e il numero dell'ordine, ma l'ordine non viene effettivamente eseguito!
E così il robot fa molti tentativi. Invia un ordine di acquisto al mercato, riceve una risposta positiva, ma non effettua scambi. Allo stesso tempo, il numero d'ordine nella risposta è ogni volta nuovo.
Di conseguenza, prima o poi la posizione si aprirà, ma devi bombardare il broker di ordini, il che è chiaramente sbagliato.
Per favore aiutatemi, non capisco se il mio robot ha dei bug o se il broker sta sbagliando? Non ci sono lamentele sul robot, tutte le funzioni di verifica vanno come previsto e le risposte vengono controllate.
Hanno chiamato i broker, ma il "consulente" ha alzato le spalle, come se si aprisse un affare con le mani, allora c'è un errore nel robot , ma qui sono fuori mercato.
Buon pomeriggio a tutti!
Ho una situazione un po' diversa. Il mio broker è BCS. L'ordine a mercato non viene eseguito al primo tentativo.
Mando un ordine di acquisto al mercato. La funzione restituisce "Ordine effettuato" e il numero dell'ordine, ma in realtà l'ordine non viene eseguito!
E così il robot fa molti tentativi. Invia un ordine di acquisto sul mercato, ottiene una risposta positiva, ma nessun accordo. Il numero d'ordine nella risposta è nuovo ogni volta.
Di conseguenza, la posizione si aprirà prima o poi, ma devo bombardare il broker con ordini, il che è ovviamente sbagliato.
Non so se il mio robot forex è guasto o se il mio broker non funziona bene. Non ho rivendicazioni sul robot, tutte le routine di controllo funzionano correttamente e le risposte vengono controllate.
Ho chiamato i broker, ma il "consulente" ha stretto le mani e ha detto che se un affare viene aperto a mano, significa che il robot è sbagliato e loro non c'entrano niente.
Sergiy!
È difficile dire qualcosa senza aver visto il vostro codice.
Ma, a giudicare dalla stampa, non si controlla correttamente il posizionamento dell'ordine.
Sergei!
È molto difficile da dire senza vedere il vostro codice.
Ma a giudicare dalla stampa, non stai controllando correttamente l'impostazione dell'ordine.
Mikhail, questo è il log del terminale, cioè accetta l'ordine, dice che è corretto, restituisce il codice di successo e il numero dell'ordine, cioè mette l'ordine nella coda di esecuzione ma non lo esegue. E così tante, tante volte.
Ma credo di aver capito.
Secondo l'algoritmo, il rischio consentito ti permette di aprire un trade per l'intero deposito. Deal volume = fondi disponibili / GO, cioè il deposito viene utilizzato quasi fino all'ultimo centesimo. (Questo è un errore, naturalmente, e non dovrebbe essere fatto in questo modo).
Tecnicamente, abbiamo abbastanza denaro per aprire un'operazione in questo volume e l'ordine viene controllato dal terminale e accettato dal kernel MT5(la funzione OrderSend restituisce true e il numero dell'ordine),
Ma poi l'ordine viene rifiutato da qualche parte nella coda di esecuzione (al broker o al gateway con lo scambio) e non viene eseguito come risultato. È qui che entra in gioco il difetto di MT5 sul lato Metacquotes.
Il problema è che io, come cliente, non sono informato in alcun modo su questo. Tutto è andato bene per il robot, ma in realtà l'ordine è stato rifiutato dal broker/gateway/exchange (posso solo speculare qui).
La funzione OrderSend avrebbe dovuto rifiutare l'ordine e restituire il codice di errore TRADE_RETCODE_NO_MONEY al robot ma non è successo per qualche motivo.
Sembra che abbiamo bisogno di tracciare l'esecuzione di OnTradeTransaction in dettaglio.
Michael, è il log del terminale, cioè accetta l'ordine, dice che è riempito correttamente, restituisce il codice di successo e il numero dell'ordine, cioè mette l'ordine nella coda di esecuzione, ma non lo esegue. E così tante, tante volte.
Ma credo di aver capito.
Secondo l'algoritmo, il rischio consentito permette di aprire un trade per l'intero deposito. Volume delle transazioni = fondi disponibili / CS, cioè il deposito viene utilizzato quasi fino all'ultimo centesimo. (Questo è ovviamente un errore, non si può fare).
Tecnicamente, abbiamo abbastanza denaro per aprire un'operazione in questo volume e l'ordine viene controllato dal terminale e accettato dal kernel MT5(la funzione OrderSend restituisce true e il numero dell'ordine),
Ma poi l'ordine viene rifiutato da qualche parte nella coda di esecuzione (al broker o al gateway con la borsa) e non viene eseguito come risultato. È qui che entra in gioco il difetto di MT5 sul lato Metacquotes.
Il problema è che io, come cliente, non sono informato in nessun modo su questo. Per il robot ha avuto successo, ma in realtà l'ordine è stato rifiutato dal broker/gateway/portale (posso solo speculare qui).
La funzione OrderSend avrebbe dovuto rifiutare l'ordine e restituire il codice di errore TRADE_RETCODE_NO_MONEY al robot ma per qualche motivo non l'ha fatto.
Ancora una volta, non stai controllando correttamente l'impostazione dell'ordine.
Solo perché hai ricevuto una FATTURA di un ordine non significa che l'ordine sia stato inserito nello scambio!
Ancora una volta, ripeto che non state controllando correttamente l'impostazione dell'ordine.
Solo perché avete ricevuto una FATTURA di un ordine non significa affatto che l'ordine sia stato piazzato in borsa!
Sono d'accordo, a quanto pare ho una lacuna di conoscenza su questo tema qui.
Non ho mai incontrato questo comportamento prima d'ora, ho banalmente inviato per mercato e si è sempre o aperto o ottenuto un errore immediatamente.
Non ho avuto bisogno di entrare nei dettagli delle sfumature di basso livello dell'esecuzione degli ordini nella coda. E qui...
Sono d'accordo, a quanto pare ho una lacuna di conoscenza su questo argomento.
Non ho riscontrato questo comportamento prima, ho banalmente inviato per mercato e si è sempre o aperto o ha ottenuto un errore immediatamente.
In generale, non avevo bisogno di entrare nei dettagli di basso livello dell'esecuzione degli ordini nella coda. E qui...
Dopo aver ricevuto un ordine, usare la funzione OrderRealSelect()
https://www.mql5.com/ru/forum/67298/page2#comment_2089220
Questo è più o meno quello che dovreste fare:
Questo è più o meno quello che dovreste fare:
Aitugan, forse ci saranno dei commenti dopo tutto? :((
Capisco naturalmente, molto non voglio distrarti dalla tua vacanza a Cipro, ma in qualche modo il silenzio è andato avanti per un tempo oscenamente lungo. :((