Mercato azionario. Azioni. Velocità di esecuzione degli ordini commerciali. - pagina 18

 
Andrey Miguzov inviare l'ordine:

e poi postare sul forum la scheda degli esperti e la scheda del registro per quel commercio.

Poi - cercherò di trovare l'affare nel deal feed. Questo, purtroppo, non è sempre possibile.

Idealmente non da un solo volume. E con il riempimento a prezzi diversi.

L'ho messo nel mio codice, ti manderò gli accordi, ma non credo che ti aiuterà...

 
Andrey Miguzov #:

Sono d'accordo. Questo è così e così triste :(

Risulta che EBS è solo per strategie per le quali il tempo di esecuzione di 100-200ms non è critico.

Anche se, se si guarda a fondo, non ci sono strategie del genere. Il profitto sarà sempre inversamente proporzionale al tempo di esecuzione.

Vi dirò "in confidenza" che non avete bisogno di EBS.

Un normale conto di intermediazione.

Un terminale per la sezione Fondi e l'altro per la sezione Derivati.

Non avete bisogno di fondi aggiuntivi per le azioni, ma per il mercato dei derivati?

Sì, si può semplicemente trasferire dal mercato azionario a quello dei derivati se si è al limite.

Alla scadenza (se la raggiungiamo), le azioni negative ricevute andranno nella sezione Stock dello stesso conto,

dove si ridurranno con quelli positivi (c'è solo un conto)!

 
prostotrader #:

L'ho messo nel mio codice, ti manderò alcuni accordi, ma non credo che ti aiuterà...

Grazie, più che altro per capire cosa può essere spremuto al massimo. E sarebbe interessante confrontare le prestazioni in base ai log e ai tick. Quello che è successo nel mio caso è inaspettato e non riesco a trovare una spiegazione.

prostotrader #:

Vi dirò "in confidenza" che non c'è bisogno di EBS.

Solo un normale conto di intermediazione.

Un terminale per la sezione Azioni, l'altro per la sezione Derivati.

Non avete bisogno di fondi aggiuntivi per le azioni, ma per il mercato dei derivati?

Sì, si può semplicemente trasferire dal mercato azionario a quello dei derivati se si è al limite.

Alla scadenza (se la raggiungiamo), le azioni negative ricevute andranno nella sezione Stock dello stesso conto,

dove si ridurranno con quelli positivi (un conto)!

Esatto, continuerò a pensare. Proverò anche altre strategie su EBS. E probabilmente indietro...

 
prostotrader #:

L'ho messo nel mio codice, ti manderò delle offerte, ma non credo che ti aiuterà...

Non posso aiutarti.

Dopo aver inserito questa stampa, l'EA va in crash

2022.04.12 13:33:29.762 SpFutClient (VTBR-6.22,M1)      Access violation at 0x000007FEFCD689BD write to 0x0000000100000000
2022.04.12 13:33:29.762 SpFutClient (VTBR-6.22,M1)         crash -->  000007 FEFCD689BD 48 C70703010000    mov        qword [rdi], 0x103
2022.04.12 13:33:29.762 SpFutClient (VTBR-6.22,M1)                    000007 FEFCD689C4 8 B4710            mov        eax, [rdi+0x10]
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007 FEFCD689C7 89442470          mov        [rsp+0x70], eax
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007 FEFCD689CB 8 B4714            mov        eax, [rdi+0x14]
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007 FEFCD689CE 89442474          mov        [rsp+0x74], eax
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007 FEFCD689D2 488 B4718          mov        rax, [rdi+0x18]
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)                    000007 FEFCD689D6 A801              test       al, 0x1
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)      
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)      00: 0x000007FEFCD689BD
2022.04.12 13:33:29.763 SpFutClient (VTBR-6.22,M1)      
 
prostotrader #:

Non posso aiutarti.

Dopo aver inserito questa stampa, l'EA va in crash

Speriamo che non abbia causato una perdita. Strano...

Ho sottinteso che è necessario ricevere in anticipo tramite CopyTick() i dati del tick in "last_tick" e specificare un nome dello strumento nella variabile "name".

Non posso dare un codice universale, perché tutti hanno nomi diversi di variabili.

Comunque, grazie per il tentativo.

 

A proposito, TimeToString è un'operazione abbastanza costosa da metterla prima di inviare un ordine scalper.

È meglio salvare il tempo e time_msc, ed elaborarlo e stamparlo da qualche altra parte in OnTimer.

 
Andrey Miguzov #:

Speriamo che non abbia portato a una perdita. Strano...

Intendevo dire che è necessario ricevere in anticipo tramite CopyTick() i dati del tick in "last_tick" e specificare un nome dello strumento in una variabile "name".

Non posso dare un codice universale, perché tutti hanno nomi diversi di variabili.

Comunque, grazie per averci provato.

No, non si preoccupi.

È solo che collegare due MT5 "direttamente" via Pipe non è un compito facile.

Pipe usa kernel32.dll, probabilmente lo usa anche l'ambiente terminale.

Quando tutto è cucinato in una sandbox, non ci sono problemi, ma quando si chiamano funzioni da questa DLL,

si verificano conflitti, quindi tutto si blocca :(

 
JRandomTrader TimeToString è un'operazione abbastanza costosa da metterla prima di inviare un ordine scalper.

Meglio salvare il tempo e time_msc, ed elaborarlo e stamparlo da qualche altra parte in OnTimer.

Sì, è una buona idea. Volevo disabilitare tutto nella versione finale di combattimento, anche il commento. Ma dopo l'elaborazione dei dati e l'invio degli ordini, in linea di principio, nessuno impedisce la visualizzazione/registrazione.

 
Andrey Miguzov #:

Sì, è una buona idea. Volevo disabilitare tutto nella versione finale di combattimento, anche il commento. Ma dopo l'elaborazione dei dati e l'invio degli ordini, in linea di principio, non si impedisce a nessuno di fare anche la visualizzazione/registrazione.

Un'idea completamente inutile. Per quali scopi c'è bisogno di tradurre il tempo in una stringa? Giusto, per guardare il registro o il grafico... E dobbiamo tenere presente l'argomento in cui si sta discutendo. Tutto quello che dicono qui riguarda mql5, e in mql5, l'output in commento o in log, datetime sarà tradotto in forma leggibile internamente, senza alcun intervento.

 
Alexey Viktorov #:

Un pensiero completamente inutile. A che scopo c'è bisogno di tradurre il tempo in una linea? Giusto, per guardare nel registro o sul grafico... E si dovrebbe tener conto dell'argomento in cui si dice questo. Tutto quello che dicono qui riguarda mql5, e in mql5, l'output in commento o in log, datetime sarà tradotto in forma leggibile internamente, senza alcun intervento.

Ebbene la stampante, che fa questa conversione implicitamente, non ha niente da fare prima di inviare l'ordine.

Salviamo i due numeri, inviamo l'ordine in modo asincrono, e dopo possiamo emettere tutto immediatamente o andare a tempo da qualche parte.