I file tkc sono suddivisi per mese. Domande a causa di questo
Se il terminale non ha ancora caricato i dati dei tick, quando chiamate CopyTicks, come fa il terminale a sapere quali file tkc tirare?
Tira ogni mese, a partire dal mese corrente.
CopyTicksRange è implementato sulla base di CopyTicks o indipendentemente?
Basato su CopyTicks, cioè non ottimizzato affatto.
Ho capito bene che ottenere i tick per settembre, per esempio, sarà sempre più veloce attraverso CopyTicksRange che attraverso CopyTicks, perché CopyTicks non sa, attraverso i parametri di input, per quale mese prendere i dati?
No, CopyTicksRange sarà altrettanto lento a causa del punto precedente. Ecco uno script che mostra alcune assurdità dell'attuale implementazione di CopyTicksRange
Sembra essere chiaramente data l'informazione che i file tkc devono essere tirati. Ma no, tirerà allo stesso modo di CopyTicks - tutti i file tkc. E smetterà di funzionare per timeout. Ma in realtà dovrebbe funzionare quasi istantaneamente.
Dovete mettere la storia nell'indicatore il più rapidamente possibile. È possibile richiederlo tramite CopyTicksRange e ottenere un -1 fino a quando tutto viene scaricato. E se si richiede per mese: mese corrente, poi mese precedente, ecc. Non sarà più lento, ma l'indicatore sarà pronto a lavorare con almeno un po' di storia. Giusto?
Nessuna differenza, a quanto pare (vedi punti precedenti).
Quando si cambia il conto(ad un altro server di trading) abbiamo bisogno di scrivere nel file gli ultimi 2000 tick del vecchio conto. Come fare?
Questo non funzionerà.
voidOnDeinit( constint )
{
MqlTick Ticks[];
CopyTicks(_Symbol, Ticks); // Если была смена торгового сервера, то БД-тиков поменяласьFileSave(__FILE__, Ticks);
}
Si prega di generare l'evento CHARTEVENT_ACCOUNTCLOSING prima del cambio di conto, quando lo si elabora (in OnChartEvent) tutto l'ambiente di trading non è ancora passato a quello nuovo.
fxsaber: Quando si cambia il conto(un altro server di trading) è necessario scrivere nel file gli ultimi 2000 tick del vecchio conto. Come si fa?
Questo non funzionerà.
Prima di cambiare il conto, genera l'evento CHARTEVENT_ACCOUNTCLOSING, quando lo elabora (in OnChartEvent) l'intero ambiente di trading non è ancora passato a quello nuovo.
Intelligentemente, dovremmo aggiungere un feedback, come si fa in Windows.
Come un flag in un evento grafico (o no), quando lo si imposta, l'evento stesso (in questo caso, il cambio di conto) viene annullato.
In effetti, una caratteristica così interessante nella lingua e funziona fuori dalla scatola...
Ecco una domanda. Ho scaricato i tick manualmente (685.007 tick) attraverso il menu Symbols. Ho bisogno di EURUSD dal 2016.11.01 00:00 al 2016.11.08 00:00. Ecco uno screenshot.
Sto richiedendo programmaticamente in questo modo:
I file tkc sono suddivisi per mese. Domande a causa di questo
No, CopyTicksRange sarà altrettanto lento a causa del punto precedente. Ecco uno script che mostra alcune assurdità dell'attuale implementazione di CopyTicksRange
Sembra essere chiaramente data l'informazione che i file tkc devono essere tirati. Ma no, tirerà allo stesso modo di CopyTicks - tutti i file tkc. E smetterà di funzionare per timeout. Ma in realtà dovrebbe funzionare quasi istantaneamente.
Nessuna differenza, a quanto pare (vedi punti precedenti).
CopyTicks non funziona in OnDeinit seUninitializeReason !=REASON_CHARTCHANGE
Risultato (dopo la rimozione di Expert Advisor)
Questo succede in Expert Advisors. Negli indicatori, CopyTicks funziona normalmente in OnDeinit.
Questo non funzionerà.
Si prega di generare l'evento CHARTEVENT_ACCOUNTCLOSING prima del cambio di conto, quando lo si elabora (in OnChartEvent) tutto l'ambiente di trading non è ancora passato a quello nuovo.
Quando si cambia il conto(un altro server di trading) è necessario scrivere nel file gli ultimi 2000 tick del vecchio conto. Come si fa?
Questo non funzionerà.
Prima di cambiare il conto, genera l'evento CHARTEVENT_ACCOUNTCLOSING, quando lo elabora (in OnChartEvent) l'intero ambiente di trading non è ancora passato a quello nuovo.
Intelligentemente, dovremmo aggiungere un feedback, come si fa in Windows.
Come un flag in un evento grafico (o no), quando lo si imposta, l'evento stesso (in questo caso, il cambio di conto) viene annullato.
Che sia brusco, ma è fastidioso che dozzine di segnalazioni di bug, vengono risolti, e continuano a spuntare nuovi bug con questo CopyTicks.
Mi stanca questi trucchi.
Risultato
Rimuovere uno dal codice sorgente
Riprodotto su diversi personaggi e server commerciali. Controllato nel giorno libero - i quotisti sono in piedi.
Quando saranno sconfitti i bug in questo thread?
In effetti, una caratteristica così interessante nella lingua e funziona fuori dalla scatola...
Ecco una domanda. Ho scaricato i tick manualmente (685.007 tick) attraverso il menu Symbols. Ho bisogno di EURUSD dal 2016.11.01 00:00 al 2016.11.08 00:00. Ecco uno screenshot.
Sto richiedendo programmaticamente in questo modo:
L'uscita è 0. Cosa c'è di sbagliato?
L'uscita è 0. Cosa c'è che non va?
Moltiplicare per 1000 da e verso.
Moltiplicare per 1.000 da e verso.
Vergogna, mi sono sbagliato. Grazie, amico.
Dopo la prima esecuzione su EURUSD M1 MetaQuotes-Demo abbiamo un risultato corretto
Tutte le prossime esecuzioni mostreranno un bug
La situazione si ripeterà dopo aver ricaricato il terminale: prima corsa - bene, corse successive - bug.
SZY Notate il commento evidenziato nella fonte!