Errori, bug, domande - pagina 2237
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
Alcuni personaggi hanno un timeout e altri no. Come faccio a sapere l'età massima della spunta che può ancora essere percepita da OrderSend (no [No price])?
Chi cazzo lo sa.
Il flag FILE_SHARE_WRITE sembra funzionare in questa combinazione, ma sorge un'altra domanda: qual è lo scopo di questa particolare scrittura? Logicamente, se abilitiamo la separazione della scrittura, dovrebbe essere aggiunto al flag di scrittura:
Questo è esattamente quello che ho provato, e dà anche un errore.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Piattaforma di trading MetaTrader 5 resa disponibile per i clienti di AMP Futures
fxsaber, 2018.07.23 22:34
Esempio in cui è impossibile fare un ordine a mercato anche quando Bid/Ask è un multiplo di TickSize
Qui Last price non è un multiplo di TickSize. Non ha niente a che fare con gli ordini a mercato, ma OrderCheck è ancora in errore - non permette di fare un ordine a mercato.
Alcuni personaggi hanno un timeout e altri no. Come faccio a sapere l'età massima della spunta che può ancora essere accettata da OrderSend (no [No price])?
Succede che l'ultimo tick ricevuto 16 secondi fa non è percepito come rilevante per OrderSend. Questo deve essere un bug, dopo tutto.
Ho attivato MetaTrader, trovato il mio vecchio esempio, aggiunto FILE_SHARE_WRITE (anche se non ne avevo bisogno) - il risultato non è cambiato... Forse per un'altra ragione non ha funzionato per me
In alternativa, potete posizionare il file in memoria (MemMap) e lavorare lì tramite semaforo, e poi scaricare i dati nel file tramite semaforo
A proposito, questo metodo vi darà un grande guadagno di velocità
In alternativa, potete posizionare il file in memoria (MemMap) e lavorare lì tramite semaforo, e poi scaricare i dati nel file tramite semaforo
A proposito, questo metodo vi darà un grande vantaggio di velocità
Il fatto è che avevo un piccolo file di configurazione e ogni Expert Advisor doveva leggerlo solo una volta prima di partire - l'operazione più semplice - vedi l'esempio nei link sopra... e tu dici semafori)
Dico che la scrittura su questo problema per diverse pagine, e dato che il problema con la barba e risolvere il problema gli sviluppatori apparentemente non possono o non vogliono perché Te ne ho offerto uno, se non ti piace usa winapi che problema c'è )) ma è meglio che scrivere la stessa cosa senza fare nulla, puoi usare gli stessi semafori per leggere da un file fisico, lo stesso semaforo segnala che è occupato e devi aspettare!
Su questo semplice script, eseguito prima con scrittura = true e poi su un altro grafico con scrittura = false, ottengo un errore.
L'apertura per la lettura manca del flag FILE_SHARE_WRITE (permettere la scrittura), poiché c'è uno scrittore.
Questa è una limitazione del sistema (WinAPI).
Ecco le bandiere corrette con le quali il vostro codice funzionerà:
Ecco i flag corretti per far funzionare il vostro codice:
Si prega di correggere FileLoad
Forum sul trading, sistemi di trading automatico e test di strategia
Bug, bug, domande
fxsaber, 2018.07.10 19:26
Errore in FileLoad. Se con il flag FILE_COMMON, due agenti locali cercano di leggere i dati tramite FileLoad, uno degli agenti si blocca.
È possibile impostare i flag appropriati in FileOpen, ma non in FileLoad. Pertanto, permettete l'accesso al file tramite FileLoad se l'altro FileLoad lo legge.
Perché? )
Perché non c'è uno zero nell'elenco delle bandiere
Identificatore
Valore
Descrizione
LETTURA DEL FILE
1
Il file è aperto per la lettura. Questo flag è usato quando si apre un file (FileOpen()). FILE_WRITE e/o FILE_READ devono essere impostati quando un file viene aperto.
FILE_WRITE
2
Il file è aperto per la scrittura. Questo flag è usato per aprire un file (FileOpen()). Quando un file viene aperto, i flag FILE_WRITE e/o FILE_READ devono essere impostati.
FILE_BIN
4
Modalità di lettura-scrittura binaria (nessuna conversione da o a stringa). Questo flag è usato per aprire i file (FileOpen())
FILE_CSV
8
File di tipo csv (tutti gli elementi scritti sono convertiti in una stringa del tipo appropriato, unicode o ansi, e separati da un separatore). Questo flag è usato quando si apre un file (FileOpen())
FILE_TXT
16
Semplice file di testo (come il csv, ma senza separatore). Questo flag è usato quando i file vengono aperti (FileOpen())
FILE_ANSI
32
Stringhe ANSI (caratteri a byte singolo). Questo flag è usato quando si aprono i file (FileOpen())
FILE_UNICODE
64
Stringhe UNICODE (caratteri a due byte). Questo flag è usato quando si aprono i file (FileOpen())
FILE_SHARE_READ
128
Accesso in lettura condiviso da più programmi. Questo flag è usato quando si apre un file (FileOpen()), ma non sostituisce la necessità di FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_SHARE_WRITE
256
Questo flag è usato per la condivisione dell'accesso in scrittura da parte di più programmi. Questo flag è usato per aprire i file (FileOpen()), ma non sostituisce FILE_WRITE e/o FILE_READ quando si apre un file.
FILE_REWRITE
512
Il file può essere sovrascritto da FileCopy() e FileMove(). Il file deve esistere o essere scrivibile. Altrimenti, il file non può essere aperto
FILE_COMMON
4096
Posizione del file nella cartella condivisa di tutti i terminali client\Terminal\Common\Files. Questo flag è usato quando si aprono i file (FileOpen()), si copiano i file (FileCopy(), FileMove()) e si controlla se i file esistono (FileIsExist())
E se gli sviluppatori sistemano tutti i loro difetti, a molti non piacerà. Molto più della metà del codice smetterà di funzionare.