Errori, bug, domande - pagina 1755

 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

fxsaber, 2016.08.03 22:16

HistoryOrderGetInteger(OrderTicket, ORDER_TIME_DONE_MSC ) - restituisce zero nel tester!

Per favore, correggetelo.
 

Gli ordini vengono fatti più velocemente del ping.

 
Ho incontrato situazioni in cui
HistorySelect(0, TimeCurrent())

Crea una tabella di cronologia incompleta. L'ho riscontrato solo alla prima chiamata dopo l'accesso all'account. Quelli successivi, l'intera storia è data.

Non riesco a riprodurlo. Ora funziona, ora no. Il conto, per favore.

 
fxsaber:

Gli ordini vengono fatti più velocemente del ping.

I ping sono raramente ricalcolati.
 
fxsaber:
Di fronte a situazioni in cui
HistorySelect(0, TimeCurrent())

Crea una tabella di cronologia incompleta. L'ho riscontrato solo alla prima chiamata dopo l'accesso all'account. In quelli successivi, viene data tutta la storia.

Non riesco a riprodurlo. Ora funziona, ora no. Il conto, per favore.

Non fate mai TimeCurrent() come data finale, fate TimeCurrent() +86400 per assicurarvi di catturare tutti i trade finali.

TimeCurrent non è l'ultima ora esatta, ma "l'ultima ora conosciuta del server durante gli aggiornamenti", che non è precisa al 100%. Soprattutto all'inizio.

 
Renat Fatkhullin:

Non fare mai TimeCurrent() come data finale, fai TimeCurrent()+86400 per assicurarti che tutte le transazioni finali siano catturate.

TimeCurrent non è l'ultima ora esatta, ma "l'ultima ora conosciuta del server durante gli aggiornamenti", che non è precisa al 100%. Soprattutto all'inizio.

Grazie, è quello che farò. Ma sicuramente non si tratta dell'insetto.

Ho effettuato l'accesso ai conti in cui le transazioni sono state fatte molto tempo fa. Così tanto tempo fa, che la scheda Storia è vuota (devo fare una richiesta per la storia completa con il mio mouse).

E qui con loro HistorySelect a volte restituisce zero, a volte il valore è inferiore di uno rispetto alle corse successive. Tutto sommato, c'è sicuramente un problema.

 
Renat Fatkhullin:

Non fare mai TimeCurrent() come data finale, fai TimeCurrent()+86400 per assicurarti che tutte le transazioni finali siano catturate.

TimeCurrent non è l'ultima ora esatta, ma "l'ultima ora conosciuta del server durante gli aggiornamenti", che non è precisa al 100%. Soprattutto all'inizio.

il +60 non è sufficiente?
 

Ho guardato SB e non ci sono HistorySelect e HistoryOrderGetTicket! Niente affatto!

Come funzionerà?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

Sono sempre più convinto che SB sia pieno di limitazioni (non c'è nemmeno un'implementazione parziale).

Perché non è stato possibile usare un grande sistema di linguaggio MQL4-order per SB fin dall'inizio?

 
fxsaber:

Ho guardato SB e non ci sono HistorySelect e HistoryOrderGetTicket! Niente affatto!

Come funzionerà?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex(const int index)
  {
   ulong ticket=HistoryDealGetTicket(index);
   if(ticket==0)
      return(false);
   Ticket(ticket);
//---
   return(true);
  }
//+------------------------------------------------------------------+

Sono sempre più convinto che sia pieno di limitazioni (non c'è nemmeno un'implementazione parziale).

Perché non usare un grande sistema di linguaggio MQL4-order per SB fin dall'inizio?

L'ignoranza non vi esime dalla responsabilità.

La classe CDealInfo è progettata per facilitare l'accesso alle proprietà degli affari. Ma per accedere ai trade, ognuno richiede sempre prima una traccia di storia tramite HistorySelect.

Fareste meglio a guardare più esempi e leggere articoli prima di scrivere domande da nerd e trarre conclusioni.

 
Vladimir Karputov:

L'ignoranza non esime dalla responsabilità.

La classe CDealInfo è per un facile accesso alle proprietà dell'affare. Ma per accedere ai trade, ognuno richiede sempre prima un'istantanea della storia tramite HistorySelect.

Faresti meglio a guardare più esempi e leggere articoli prima di scrivere domande palesemente nulle e saltare alle conclusioni.

Ti risponderei nel tuo stile, ma esprimere i tuoi pensieri su un moderatore può facilmente farti bannare.

Se ci sono restrizioni in SB, potete e dovete parlarne.