Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 15

 
Roffild:

Ho solo descritto un bug ufficialmente confermato. Sei stato tu a suggerire di usare qualche API per risolvere questo problema.

Per favore, non confondete la creazione di un indicatore e la sua chiamata tramite iCustom.


Ecco, non confondere la realtà con le tue fantasie. Questo non è un bug. Quale API sia, è facile da capire. E comunque qual è lo scopo della sua presenza qui?
 
I commenti non pertinenti a questo argomento sono stati spostati in "Gli ordini in sospeso non vengono visualizzati in modalità di visualizzazione".
 

Puoi finire la tua danza del tamburello.

L'SD ha detto che dalla prossima build OrderSend() funzionerà correttamente :)

Sembra che funzioni davvero. Ho appena ricevuto un aggiornamento alla 1550, ho controllato - quando si apre una posizione subito dopo OrderSend() l'intero ambiente è in sincronia.
 
Sergei Vladimirov:
Sembra che abbia funzionato davvero. Ho appena ricevuto un aggiornamento alla 1550, ho controllato - quando si apre una posizione subito dopo OrderSend() l'intero ambiente è in sincronia.
Sono venuti fuori solo nuovi problemi:)
 
Sergei Vladimirov:
L'aggiornamento a 1550 è appena arrivato, controllato - quando si apre una posizione subito dopo OrderSend() l'intero ambiente è sincronizzato.

Confermo, OrderSend è diventato completamente sincronizzato. I bug dei freni sono rimasti

Richiesta/Risposta

Request.action = TRADE_ACTION_REMOVE (8)
Request.magic = 0
Request.order = 136746576
Request.symbol =
Request.volume = 0.0
Request.price = 0.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 0
Request.type = ORDER_TYPE_BUY (0)
Request.type_filling = ORDER_FILLING_FOK (0)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment =
Request.position = 0
Request.position_by = 0


Result.retcode = 10009
Result.deal = 0
Result.order = 136746576
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 2194.767 + 0.003 ms
Result.request_id = 245
Result.retcode_external = 0

Risultato

MP      0       22:37:32.113    Trades  '5338170': cancel order #136746576 buy limit 0.10 #AA at 36.99
JM      0       22:37:34.308    Trades  '5338170': accepted cancel order #136746576 buy limit 0.10 #AA at 36.99
FE      0       22:37:34.308    Trades  '5338170': cancel #136746576 buy limit 0.10 #AA at market done in 2194.779 ms

È interessante notare che il log ora registra il tempo di esecuzione di OrderSend come più lungo di quanto sia in realtà ogni volta. Cioè, se misurate voi stessi il tempo di esecuzione di OrderSend, sarà ogni volta di qualche millisecondo inferiore al valore mostrato nel log.

ZS Appaiono le seguenti voci

deal #120390530 sell 0.10 #PG at 90.36 done (based on order #136747126)
 
Dmitry Fedoseev:

Non confondete la realtà con le vostre fantasie. Questo non è un bug. È chiaro di quale API si tratta. E qual è lo scopo della sua presenza qui?

Quindi dov'è il codice per risolvere questo problema?

Gli sviluppatori hanno già confermato che si tratta di un bug e non c'è soluzione.

Parlando brevemente di me: lavoro qui dal 2009, quindi ho implementato delle macro complete e la struttura B'1001011' in MQL5.

 
Roffild:

Quindi dov'è il codice per risolvere questo problema?

Gli sviluppatori hanno già confermato che si tratta di un bug e non c'è soluzione.

Quale insetto? Dove è stato confermato?

Nessuna API è necessaria per leggere-scrivere i modelli. Tutto è normale, per mezzo di MQL5. Il quarto ha anche implementato https://www.mql5.com/ru/forum/168767/page14#comment_4122244

 
Slawa:

Quale insetto? Dove è stato confermato?

Nessuna API è necessaria per leggere-scrivere i modelli. Tutto è normale, per mezzo di MQL5. Anche il quarto ha fatto https://www.mql5.com/ru/forum/168767/page14#comment_4122244


Non stiamo parlando dei modelli, stiamo parlando di attaccare l'indicatore al programma, ma con l'impostazione della linea dell'indicatore del proprio colore. Questo compagno di cui sopra ritiene che l'assenza della possibilità di impostare il proprio colore sia un bug.
 

La mancanza di capacità di impostare programmaticamente il colore dell'indicatore non è un bug, ma una caratteristica dell'architettura.

Gli indicatori sono divisi in due parti - la parte di disegno e la parte di calcolo. La parte del cassetto dell'indicatore è responsabile del disegno secondo le impostazioni specificate dei buffer calcolati. La parte calcolatrice conta i buffer di conseguenza. Il cassetto degli indicatori vive nel grafico e lavora nel flusso guidato. La parte di calcolo dell'indicatore vive nella cache del periodo dei simboli ed è eseguita nel thread di aggiornamento dei simboli.

La parte di calcolo dell'indicatore non sa nulla della parte di disegno. Gli esperti operano solo con parti di calcolo dell'indicatore (che nella maggior parte dei casi non hanno una parte di disegno).

L'indicatore, creato dall'Expert Advisor, ha la sua parte di disegno solo quando viene chiamato il comando di aggiunta dell 'indicatore al grafico (non importa se è un'aggiunta manuale o ChartIndicatorAdd). La stessa parte di calcolo dell'indicatore può essere accessibile da diversi disegni, per esempio, se ci sono diversi grafici dello stesso simbolo-periodo con lo stesso indicatore.

Riassunto. La parte di calcolo dell'indicatore può "avere" qualsiasi numero di parti, da 0 a 99. La parte calcolata dell'indicatore non sa quante parti di disegno ha.

 
Slawa:
...
È possibile fare in modo che il comando"Apri grafico" nella scheda "Backtest" aggiunga automaticamente tutti gli indicatori utilizzati nell'EA con i parametri appropriati al grafico aperto dopo il test?