Errori, bug, domande - pagina 1228

 
Rosh:

Il metodo GetData() è definito nella classe madre di base e non ha bisogno di essere sovrascritto in questo caso.

Si noti che prima di chiamare GetData() è necessario aggiornare i valori nei buffer degli indicatori della classe utilizzando il metodo Refresh()


Ecco alcuni esempi che compilano e funzionano.

Stavo parlando di MQL4. Niente che non si compili lì a causa di quei bug che ho sottolineato. Come ho capito dalla risposta in Service Desk, nessuno vuole trattare con il 4.

 

3 14:55:11.739 Cannot open file 'D:\progy\mt4\MQL4\indicators\.ex4' [123] 

Appariva quando il ciclo girava molto velocemente:

1. passare al grafico successivo in ordine
2. elenco aperto di indicatori
3. controllare tutti i nomi degli indicatori
4. inizio di un nuovo indicatore(indicatore personalizzato "ХХХХ_Сombo")

Ho inserito dei piccoli ritardi nel codice - sembra essere andato meglio (probabilmente le operazioni asincrone non tenevano il passo da qualche parte)

 

Terminale 1010, roboforex, errore 4901,

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- open the DOM and subscribe for notifications 
   if(!MarketBookAdd(_Symbol)){Alert("Error ",GetLastError());return -1;}
//---
   return 0;
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- close the DOM
   if(!MarketBookRelease(_Symbol))
      Print("Failed to close the DOM!");
  }
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
   Print("Book event for: "+symbol);
//--- select the symbol
   MqlBookInfo priceArray[];
   bool getBook=MarketBookGet(NULL,priceArray);
   if(getBook)
     {
      int size=ArraySize(priceArray);
      Print("MarketBookInfo по ",Symbol());
      for(int i=0;i<size;i++)
        {
         Print(i,":",priceArray[i].price
               ,"    Volume= ",priceArray[i].volume,
               " type = ",priceArray[i].type);
        }
     }
   else
     {
      Print("Не удалось получить содержимое стакана по символу ",Symbol());
     }

  }
//+------------------------------------------------------------------+
Qualcosa non funziona!
 
JJerboa:

Terminale 1010, roboforex, errore 4901,

Non funziona!

C'è uno stack per il simbolo richiesto?

Cosa restituisce la query?

SymbolInfoInteger(_Symbol,SYMBOL_TICKS_BOOKDEPTH)

?

Non c'è uno stack per EURUSD.

 
alexvd:

C'è un bicchiere del personaggio richiesto?

Cosa restituisce la query?

SymbolInfoInteger(_Symbol,SYMBOL_TICKS_BOOKDEPTH)

?

Non c'è una finestra di prezzo per EURUSD.

restituisce 0

la finestra del mercato si apre...

O la funzione Depth of Market non funziona più nel forex?

 
JJerboa:

restituisce 0

la vetrina del mercato si apre...

o la funzione forex price cup non funziona più?

Non è una finestra di scommesse azionarie.

 

Se un Expert Advisor ha bisogno di usare oggetti grafici per il funzionamento: linee di tendenza, linee orizzontali, ecc.

Un tale EA funzionerà correttamente sull'hosting virtuale integrato nel terminale?

Esempio: un Expert Advisor apre gli ordini quando tocca una linea di tendenza.

 
 
Sembra che la build 989 sia stata rotta. Gli esperti della build 989 producono risultati completamente diversi
sulla stessa storia e con gli stessi parametri della build 975.
Prendete qualsiasi EA, almeno dai miei esempi...
Quindi è una storia, aggiornamenti dell'agente al volo e qui il redditizio Expert Advisor inizia a macinare perdite su quello reale.
 
crOss:
Sembra che si sia rotta la build 989. Gli esperti della build 989 danno risultati completamente diversi
sulla stessa storia e con gli stessi parametri della build 975.
Prendete qualsiasi EA, almeno dai miei esempi...
Ecco quanto è banale, aggiornare al volo l'agente e un Expert Advisor redditizio inizia a fare perdite sul conto reale.

Ora la build ufficiale è la 1010 e la 989 era una beta.

Si prega di aggiornare e riprovare.