Errori, bug, domande - pagina 854

 
Renat:
Si consiglia di aggiornare i driver video con quelli più recenti. Cosa c'è scritto? Copia le righe del diario di bordo - questo si fa facilmente dal menu.

I driver video sono buoni e i giocattoli funzionano. Allego uno screenshot. Windows XP SP3 senza aggiornamenti. Non aggiornare, perché vinda crepa, e hanno una sorta di aggiornamento lì come controlla.

Ho ancora qualche bug - notizie dal terminale che non partono (apre solo una finestra vuota), indicatori dal terminale che non partono - codice base - il parametro è sbagliato - screenshot allegato.

 
Buona giornata!
Sto cercando di testare un EA nel MQL5 Tester.

Il primo test funziona bene, dopo che ho cambiato il codice dell'EA e l'ho compilato in MetaEditor5, ho rieseguito il tester5, ma il tester5 non vede le nuove modifiche. Quando lo stesso EA viene salvato con un altro nome, tutto è normale. Ho provato a cancellare i file *.ex5 aiuta solo una volta. Si prega di consigliare quali file devono essere cancellati nel tester per farlo funzionare per apportare modifiche all'EA?

Ancora non visualizza l'indicatore quando si visualizza il tester, anche se l'EA calcola secondo l'indicatore.

MT5 build 695

MetaEditor5 build 695

 
alexvd:

Dai tutti i dettagli (versione dell'asse, bit rate, log, versione di IE) a servicedesk. Provato a casa - non si ripete.

O! Grazie mille - mi ha aiutato! Ho aggiornato IE da 6 a 8 e tutto ha funzionato (sia l'editor con gli strumenti, sia Windows HELP, e gli errori di avvio sono spariti dal registro. Ma le notizie nel terminale mostrano solo i titoli - ma non è un grosso problema).
 
gdtt:

Le notizie in russo sono così:

windows 8 64 bit 705 build, liteforex.

Dove devo andare con questo? Vuoi andare al dc, al service desk?

Guarda nelle impostazioni del sistema Windows.

In sette lo è: Main Menu/Control Panel/Language and Regional Standards/Advanced/Unicode Lingua di programmazione supportata.

In otto, non ne ho idea, ma dovrebbe esserci un analogo.

 
MetaDriver:

Guarda nelle impostazioni del parabrezza.

In sette lo è: Main Menu/Control Panel/Language and Regional Standards/Advanced/Language of programs not supporting Unicode.

In otto, non ne ho idea, ma l'analogo dovrebbe esserci.

Il russo è la lingua lì. La stessa cosa nelle sette e lo stesso errore. Non tutte le notizie vanno male:

 
gdtt:

Il russo è la lingua lì. In Seven, la stessa cosa e lo stesso errore. Non tutte le notizie vanno male:

Tada oops.
 

Non sono sicuro di conoscere bene C. Potete dirmi se è permesso accedere a un campo privato di una classe che è protetta da un costrutto privato?

class tst{
public:
  void Set( tst& passed ){
    member = passed.member; 
  }
private:
  int member;
};

Il compilatore non dà alcun avvertimento o errore.

 
gdtt:

Non sono sicuro di conoscere bene C. Potete dirmi se è permesso accedere a un campo privato di una classe che è protetta da un costrutto privato?

Il compilatore non dà alcun avvertimento o errore.

Proibito in che senso? In termini di accesso da altre classi o quando si accede a questo campo dal programma?
 
sergeev:
Proibito in che senso? In termini di accesso da parte di altre classi o accedendo a questo campo da un programma?

Questo costrutto:

member = passed.member;

Penso che dovrebbe essere vietato, perché si riferisce direttamente a un membro privato di un altro oggetto, anche se dello stesso tipo di dati.

Ho sempre pensato che se faccio una tale dichiarazione

private:
  int member;

allora è possibile accedere a un membro di una classe membro solo da metodi appartenenti a quell'oggetto.

 

Colleghi,

c'è un metodo della classe CAccountInfo::MaxLotCheck() nella libreria standard. Applicandolo aENUM_ORDER_TYPE== ORDER_TYPE_BUY_STOP ottengo la dimensione massima del lotto, cioè erroneamente. Sto guardando il codice:

//--- calculate margin requirements for 1 lot
   if(!OrderCalcMargin(trade_operation,symbol,1.0,price,margin) || margin<0.0)
     {
      Print("CAccountInfo::MaxLotCheck margin calculation failed");
      return(0.0);
     }
//---
   if(margin==0.0)   // for pending orders
      return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX));

Domanda: perché questa funzione restituisce la dimensione massima del lotto per gli ordini in sospeso? Si scopre che la funzione OrderCalcMargin() chiamata in precedenza per un ordine in sospeso ha restituito 0,0?

Qualcuno può aiutarmi a capire come usare questa funzione per gli ordini in sospeso. Non l'ho trovato nell'aiuto.

Grazie.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5