Errori, bug, domande - pagina 2235

 
fxsaber:

Come può last-price non essere un multiplo di TickSize?

forse, ho fatto questa domanda qualche anno fa, ho scritto ticks in uno script while(true), ho scritto ticks cambiando i dati in "market overview", c'erano spesso ticks come 1.3555000001, o 1.3555999999

Sono stato sorpreso di ricevere dati di prezzo non normalizzati dal server, non ho ricevuto alcuna risposta, ma ho letto i topic successivi e ho visto le risposte degli sviluppatori che dicono che alcuni tick sono tick per il terminale e l'EA non fa trading con tali tick

anche nel vostro caso, tale prezzo non è un multiplo diSYMBOL_TRADE_TICK_SIZE, il che significa che non si scambierà a tale prezzo.... anche se si scopre che l'analisi Last price può anche essere senza senso ))))

 
Igor Makanu:

Potrei aver fatto questa domanda qualche anno fa, ho scritto tick in uno script while(true), i tick sono stati scritti cambiando i dati in "panoramica del mercato", c'erano spesso tick come 1.3555000001, o 1.3555999999

Il tuo caso è una peculiarità della conversione doppio -> stringa. Ho una situazione leggermente diversa.

 
Il registro EA è di 15 GB. Il tentativo di visualizzarlo nel Terminale lo fa bloccare per più di un minuto.
 
fxsaber:
Il registro EA è di 15 GB. Il tentativo di visualizzarlo nel Terminale lo fa bloccare per più di un minuto.

Cosa vuoi che sia?

 
Alexey Kozitsyn:

Vuoi che sia così?

Nel caso di un grosso tronco, emettete prima un avviso su di esso e chiedete se volete continuare o no.

 
fxsaber:

Nel caso di un grosso tronco, per dare prima un avvertimento su di esso e chiedere se si vuole continuare o no.

Vedi come è diventato immediatamente costruttivo:)

 
Alexey Viktorov:

Il vostro errore è che dopo aver scritto su un file, i dati arrivano sul disco solo dopo FileClose O dopo un reset forzato dei dati sul disco da FileFlush

Altrimenti come si può leggere un file che non esiste?

Mi hai confuso con qualcun altro. Sia con che senza FileFlush l'errore è lo stesso. Il vero Expert Advisor, dove tutto è iniziato, ha inizialmente sia FileFlush che il file stesso.

Il flag FILE_SHARE_WRITE in una tale combinazione sembra funzionare, ma sorge un'altra domanda: qual è lo scopo di una tale voce? Logicamente, se abilitate la separazione della scrittura, dovete aggiungerla esattamente al flag di scrittura:

FILE_READ|FILE_BIN|FILE_SHARE_READ|(writing?(FILE_WRITE|FILE_SHARE_WRITE):0)

Questo è esattamente quello che ho provato, e dà anche un errore.

 
In generale, non è chiaro perché devo controllare un file per la scrittura, quando è richiesta solo la separazione in lettura?
 
Signori, qualcuno può aiutarmi con questa domanda?
 

Il tooltip diMqlTradeCheckResult non appare in ME

#define  TOSTRING(A)  #A + " = " + (string)(A) + "\n"
#define  TOSTRING2(A) #A + " = " + EnumToString(A) + " (" + (string)(A) + ")\n"

string ToString( const MqlTradeRequest &Request )
{
  return(TOSTRING2(Request.action) + TOSTRING(Request.magic) + TOSTRING(Request.order) +
         TOSTRING(Request.symbol) + TOSTRING(Request.volume) + TOSTRING(Request.price) +
         TOSTRING(Request.stoplimit) + TOSTRING(Request.sl) +  TOSTRING(Request.tp) +
         TOSTRING(Request.deviation) + TOSTRING2(Request.type) + TOSTRING2(Request.type_filling) +
         TOSTRING2(Request.type_time) + TOSTRING(Request.expiration) + TOSTRING(Request.comment) +
         TOSTRING(Request.position) + TOSTRING(Request.position_by));
}

string ToString( const MqlTradeResult &Result )
{
  return(TOSTRING(Result.retcode) + TOSTRING(Result.deal) + TOSTRING(Result.order) +
         TOSTRING(Result.volume) + TOSTRING(Result.price) + TOSTRING(Result.bid) +
         TOSTRING(Result.ask) + TOSTRING(Result.comment) + TOSTRING(Result.request_id) +
         TOSTRING(Result.retcode_external));
}

string ToString( const MqlTrade
Motivazione: