
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
Sul marketwatch quasi vuoto di Alpari, il copitix frena tanto quanto su BCS.
Su Robo, tutto è più di un ordine di grandezza più veloce.
Risultati su USDCHF M1, CalcLength dall'indicatore https://www.mql5.com/ru/code/16537:
I risultati sono costantemente fluttuanti + la regola dei singoli fili non è osservata - su uno dei flussi senza il pick and mix per CopyTicks, sull'altro con il pick. La demo non è aperta su BCS, ma la cosa principale è che non ci sono pile su RoboForex.
Strano codice di misurazione. Sono state misurate molte cose inutili, ma non il tempo di richiesta di CopyTicks:
{
const ulong StartTime = ::GetMicrosecondCount();
int X0;
int Y0;
BARS bars(this.Chart);
TICKSPICTURE TicksPicture(this.Chart, &bars, X0, Y0);
this.SetProperty(::OBJPROP_XDISTANCE, X0);
this.SetProperty(::OBJPROP_YDISTANCE, Y0);
TicksPicture.Fill(ColorBid, ::BID);
TicksPicture.Fill(ColorAsk, ::ASK);
TicksPicture.Fill(ColorSpread, ::AVG);
TicksPicture.SendToResource(this.Resource);
::Comment("LastCalcTime = " + (string)::TimeLocal() +
", Ticks = " + (string)bars.GetAmountTicks() +
", CalcLength = " + (string)((::GetMicrosecondCount() - StartTime) / THOUSAND) + " ms.");
::ChartRedraw(this.Chart);
return;
}
In ogni caso, ottimizziamo la chiamata per copiare i tick. Ci vuole molto.
Risultati su USDCHF M1, CalcLength dall'indicatore https://www.mql5.com/ru/code/16537:
Problemi su Alpari Real e BCS Real. È molto facile aprire il vero
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Statistiche di slittamento degli ordini limite alla borsa
pivomoe, 2016.08.25 15:15
Inizia a fare un conto demo mt5 con bx. Riceverai un'e-mail con un link alla distribuzione. Nella fase di selezione del server scegliete non un server demo, ma per il trading reale. Creare un account con dati arbitrari. Creare un certificato. Tutti voi avete un conto reale con saldo zero con quotazioni e storia reali.
I risultati sono costantemente fluttuanti + la regola dei singoli thread non è rispettata - su uno senza stack i thread (dove non c'è bisogno di fare selezioni e fusioni per CopyTicks), sull'altro con stack. La demo non si apre su BCS, ma la cosa principale è che non ci sono flussi su Roboforex
Strano codice di misurazione. Ha misurato un mucchio di roba extra, ma in nessun modo la tempistica della richiesta di CopyTicks:
Non dipende da me. È tutto misurato insieme. L'unica differenza è il server commerciale. Quindi i freni sono solo legati ai copioni.
In ogni caso, la chiamata copyTicks è ottimizzata. Ci vuole molto.
Copyix nella sua forma attuale è molto scomodo. Per esempio, non è assolutamente chiaro come ottenere la zecca che c'era prima.
Perché non possiamo restituire l'indice dell'array di base e lavorare con la base come con un array? Lasciamo i problemi dell'aggiunta di nuovi dati al database interamente all'utente. Lascia che se ne occupi lui stesso, se qualcosa va storto. In questo momento, lavorare con Copyix è, beh, molto scomodo. Sembra che io sia una delle poche persone che lo usa molto attivamente. E posso dire di questo in modo abbastanza responsabile.
Risultati su USDCHF M1, CalcLength dall'indicatore https://www.mql5.com/ru/code/16537:
I risultati sono costantemente fluttuanti + la regola dei threads singoli non è osservata - ci sono threads senza picks e fusioni per CopyTicks su uno di essi, sull'altro con il pick. Su BCS la demo non si apre, ma la cosa principale è che su RoboForex non ci sono pile
Strano codice di misurazione. Misurato un mucchio di cose inutili, ma in nessun modo CopyTicks richiede tempo:
{
const ulong StartTime = ::GetMicrosecondCount();
int X0;
int Y0;
BARS bars(this.Chart);
TICKSPICTURE TicksPicture(this.Chart, &bars, X0, Y0);
this.SetProperty(::OBJPROP_XDISTANCE, X0);
this.SetProperty(::OBJPROP_YDISTANCE, Y0);
TicksPicture.Fill(ColorBid, ::BID);
TicksPicture.Fill(ColorAsk, ::ASK);
TicksPicture.Fill(ColorSpread, ::AVG);
TicksPicture.SendToResource(this.Resource);
::Comment("LastCalcTime = " + (string)::TimeLocal() +
", Ticks = " + (string)bars.GetAmountTicks() +
", CalcLength = " + (string)((::GetMicrosecondCount() - StartTime) / THOUSAND) + " ms.");
::ChartRedraw(this.Chart);
return;
}
In ogni caso, ottimizziamo la chiamata per copiare i tick. Ci vuole molto.
Per favore, chiarisci cosa intendi per fili singoli?
Un'altra domanda, affinché i tick arrivino il più velocemente possibile, è necessario che la tazza non sia aperta nel terminale e che non ci sia una sottoscrizione all'evento di aggiornamento della tazza da parte dell'EA/indicatore?
Da riferimento:
Velocità di uscita: il terminale memorizza per ogni simbolo 4096 tick recenti nella cache ad accesso rapido (65536 tick per i simboli con lo stack in esecuzione), le query a questi dati sono più veloci.
Per favore, chiarisci cosa intendi per flussi singoli?
Forum sul trading, sistemi di trading automatico e test di strategia
Testare 'CopyTicks'.
fxsaber, 2016.10.13 10:18
C'è una sfumatura MT con le zecche in cui la storia delle zecche stessa viene sovrascritta retroattivamente a causa di più fonti di zecche ricevute.
Grazie, ma sapete del vetro e della velocità di ricezione?
No, purtroppo. Renat ha sostenuto che il vetro è permanentemente semplificato per tutto il marketwatch. Ma questa non è una soluzione appropriata per la maggior parte delle situazioni.
Questo è il modo in cui dovreste testare CopyTicks:
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
ulong from =(TimeTradeServer()-1200)*1000;
ulong ticks =GetMicrosecondCount();
int records=CopyTicks(_Symbol,ExtArr,COPY_TICKS_INFO,from,2048);
ticks=GetMicrosecondCount()-ticks;
Print("Time: ",ticks," msc for ",records," records");
}
Ecco l'output in microsecondi: 95 microsecondi per campione di 2048 tick INFO negli ultimi 20 minuti
Per favore, chiarisci cosa intendi per fili singoli?
Il flusso bid/ask e il flusso completo di tick con i volumi e gli ultimi prezzi scambiati sono due grandi differenze.
Differenze cardinalmente grandi.
Un'altra domanda, affinché i tick arrivino il più velocemente possibile, è necessario che il vetro non sia aperto nel terminale e che non ci sia una sottoscrizione all'evento di aggiornamento del vetro dall'Expert Advisor/Indicator?
L'apertura nel terminale o la sottoscrizione nell'EA non ha importanza.
Se il simbolo è in marketwatch, allora il terminale riceve tutto il flusso di tick completo con le puntate incondizionatamente.
Ma soprattutto, i calcoli della frequenza di campionamento di cui sopra sono irrilevanti. Sono fatti così maldestramente (si misura tutto tranne il tempo di CopyTicks) che è persino sorprendente.