Errori, bug, domande - pagina 2290

 
Nikolai Semko:

Sì, installato su un altro terminale - funziona anche nella release.

Bug solo con la lettura. Non c'è modo di leggere.

 
fxsaber:
#define protected public
  #include <Canvas\Canvas.mqh>
#undef protected
 
fxsaber:

Bug solo con la lettura. Non c'è modo di leggerlo.

Sì, l'ho già capito. Peccato.
Pensi che MQ si preoccuperà di questo?
Ne dubito, però.

È un peccato, naturalmente, dovremo rinunciare all'idea di riscrivere alcuni codici da MT5 a MT4. Eppure, la folla principale è ancora sul 4K. Un mistero della natura...

 
fxsaber:

Penso che tu non abbia letto la tela prima, hai solo fatto delle voci lì.

Mi sono ricordato ora che un paio di anni fa non riuscivo a capire perché il codice funzionasse su 5 e non su 4. Ora capisco che la ragione era che il codice non funzionava quando si leggeva dalla risorsa.

 

Immaginiamo una TS inversa sulle reti. Tutti gli accordi sarannodi tipo DEAL_ENTRY_INOUT.

Per sapere dalla storia quale era la dimensione della posizione al momento di fare un affare, abbiamo bisogno di correre per PositionID ogni volta, calcolando il lotto. Oppure, è necessario creare un po' di caching per farlo funzionare senza lag.

Se avete fatto un centinaio di lanci, dovrete eseguire il ciclo questo centinaio di volte ogni volta, con corrispondente HistorySelectByPosition non veloce.


Se ho capito bene, allora non c'è altro metodo per determinare questo valore.


Oppure, per esempio, fate molte DEAL_ENTRY_IN e DEAL_ENTRY_OUT, senza chiudere una posizione. Ed è possibile determinare il volume della posizione storica, ancora una volta, solo con un appropriato jogging sulla storia.


È possibile inserire DEAL_POSITION_VOLUME - dimensione della posizione dopo un trade?

 

Non so se sto scrivendo nel posto giusto, ma nel mio segnale, che serve a monitorare le prestazioni dell'EA, è apparso un avviso che non ha assolutamente nulla a che fare con la realtà.

"L'80% dei guadagni sono stati fatti in 16 giorni. Questo è il 4% della durata totale del segnale di 376 giorni"".


Come può essere, o sto fraintendendo qualcosa?

segnale

 
Un errore nella logica degli operatori
int f( int x )
{
    while ( true ) {
        /*   ...*/
        /*if ...*/ continue;
        /*if ...*/ return 1;
        /*if ...*/ continue;
        /*   ...*/
    }
} //Error: '}' - not all control paths return a value
 
A100:
Un errore nella logica degli operatori

Questo non è serio.

 
fxsaber:

Questo non è serio.

Se non fosse grave, gli sviluppatori qui e qui ... non lo starebbe aggiustando. Credetemi, non sono stupidi e sanno riconoscere la differenza tra un serio
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2016.11.02
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

Gli oggetti grafici non hanno una proprietà che definisce il loro ordine di sovrapposizione (Z-Order). La proprietà esistente OBJPROP_ZORDER non ha niente a che fare con questo, anche se ha un nome simile per qualche motivo.

Pensavo che l'ordine di sovrapposizione fosse determinato dalla data di creazione di un oggetto. Tuttavia, se per qualsiasi oggetto si fa

ObjectSetInteger(chartid, objectname, OBJPROP_TIMEFRAMES, OBJ_NO_PERIODS);
ObjectSetInteger(chartid, objectname, OBJPROP_TIMEFRAMES, OBJ_ALL_PERIODS);

allora questo oggetto viene posizionato sopra gli altri. Nessuna proprietà di questo oggetto viene modificata. Di conseguenza, è impossibile determinare programmaticamente quale oggetto è sopra o sotto. Tuttavia, MT memorizza questa informazione da qualche parte. Pertanto, vorrei avere una proprietà corrispondente in ObjectGetInteger.

Motivazione: