Errori, bug, domande - pagina 2903

 
A100:

A::i1 è un array statico - ho controllato con ArrayIsDynamic - risultato: false

E il senso della seconda voce in generale? Perché non si può impostare la dimensione direttamente nella dichiarazione?

in generale, se la dimensione del caso statico in (1) viene emessa implicitamente, perché non anche nel secondo?

 

Puoi dirmi come fare in modo che il Comment-font sia chiaro in entrambi i terminali?


Nel terminale MT4 tutto appare sfocato, come nel browser al 100% di zoom.

Ma appena faccio lo zoom nel browser, l'immagine di MT4 sullo screenshot è migliore.


Ho bisogno che sia chiaro nel terminale stesso come lo è in MT5.

 
TheXpert:

Qual è lo scopo della seconda voce comunque? Perché non si può impostare la dimensione direttamente nella dichiarazione?

In generale, se la dimensione del caso statico in (1) viene emessa implicitamente, perché non anche nel secondo?

Nel primo, gli elementi di un array dinamico sono inizializzati, e dopo l'inizializzazione l'array è implicitamente statico.

Nel secondo, la dimensione dell'array statico viene ridichiarata. Dopo aver dichiarato un array statico, una ridichiarazione sarebbe anche un errore.

Sono d'accordo, non è conveniente. E può causare errori non espliciti.

 
fxsaber :

Puoi dirmi come fare in modo che il Comment-font sia chiaro in entrambi i terminali?


Nel terminale MT4 tutto appare sfocato, come nel browser al 100% di zoom.

Ma appena faccio lo zoom nel browser, l'immagine di MT4 sullo screenshot è migliore.


Ho bisogno che sia chiaro nel terminale stesso come in MT5.

È su VPS? Se sì, deselezionatelo:

O meglio deselezionare tutte le caselle di controllo.

 
Enrique Dangeroux:

È su un VPS? Se sì, deselezionatelo:

O meglio ancora, deselezionate tutte le caselle.

Questo è sulla macchina di casa. Vorrei che solo MT4 mostrasse normalmente. Le altre applicazioni non sono state colpite.

 

Qual è il bug con il rollover nel tester? Nel file allegato uno screenshot con un esempio: una posizione Sellaperta, chiusa dal rollover attraverso Buy, poi riaperta attraverso Sell, ma con volume zero.

Di conseguenza, la posizione non viene riaperta, ma scompare. È evidenziato nello screenshot. Ne ho già scritto, ma senza immagini. Che cos'è questo bug? Ci impedisce di fare dei test.

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
File:
rollover_bag.JPG  135 kb
 
Igor_Gagarin:
Aggiornato il terminale a 2670. Tutto sembrava essere tornato alla normalità, ma dopo 90 ore di test, e circa 15000 passaggi, un agente si è bloccato di nuovo.

Metti la build 2561.

3 agenti si sono impiccati dopo 8 ore, ma ora la percentuale di completamento non sta superando il 100, ma è ferma.

L'agente ha aggiornato alla build 2675 a mia insaputa, probabilmente si blocca sulla build fresca e non su quella vecchia...

 
Nel profilo sulla home page nella sezione Agenti, i dati del grafico differiscono da quelli della sezione Pagamenti per una quantità minore.
 


//+------------------------------------------------------------------+
//|                                                      OnBookE.mq5 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#property version   "1.00"
//---
MqlBookInfo priceArray[];
bool boMBA=true;
bool getBook;
//---
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   boMBA=MarketBookAdd(_Symbol);
   Print("boMBA_ ",boMBA);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| BookEvent function                                               |
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
  {
//---
   getBook=MarketBookGet(_Symbol,priceArray);
   Print("getBook_", getBook);
  }
//+------------------------------------------------------------------+

2020.11.13 19:55:05.277 OnBookE (EURUSD.gl,M1) boMBA_ false

E allo stesso tempo c'è un libro su questo simbolo e funziona con successo. Cioè non c'è nessun evento BookEvent.

La questione è risolta, il mercato viene visualizzato per il forex, ma non c'è nessun evento, ma funziona per le azioni e i futures.

 

Ciao!

Messaggio agli sviluppatori.

Sto continuando a testare Python - MT5. C'è un'altra cosa interessante, forse è un bug.
L'essenza.

Ogni tanto inizio a selezionare strumenti finanziari tra tutti quelli rappresentati nel terminale (circa 4000k).
Mi collego al terminale da un'applicazione esterna, cioè gli script non vengono avviati all'interno del terminale.

Ottengo barre giornaliere e minuti per ogni simbolo e poi uso "pandas" per i calcoli e la selezione iniziale degli strumenti.
Ho notato che il terminale inizia gradualmente a caricare il processore fino al 70-80% dopo una tale operazione.
Dopo il lavoro dello script il carico del processore non diminuisce (ho provato ad aspettare 15 minuti), ma il terminale è molto lento. Aiuta solo chiudendo il terminale.
Se eseguo lo script due volte senza chiudere il terminale, lo script funziona senza errori ma il carico della CPU rimane al 70-80%.

Ho semplificato lo script al minimo in modo da poter ripetere l'esperimento e lasciare solo la richiesta di citazioni. Il problema persiste ancora.

Se necessario, pronti a registrare video o a fornire informazioni in altra forma.

Il codice è pyhton:

import MetaTrader5 as mt5

ANALYSIS_DAYS = 100
ANALYSIS_MINUTES = 500

mt5.initialize()
all_symbols = mt5.symbols_get()

for cur_symbol in all_symbols:

    rates_d1 = mt5.copy_rates_from_pos(cur_symbol.name, mt5.TIMEFRAME_D1, 1, ANALYSIS_DAYS)
    rates_m1 = mt5.copy_rates_from_pos(cur_symbol.name, mt5.TIMEFRAME_M1, 1, ANALYSIS_MINUTES)

mt5.shutdown()

Rispettosamente, Alexander