Errori, bug, domande - pagina 255

 
Prova a usare "Profili" - danno funzionalità simili alle tabelle/fogli
 
Renat:
Prova a usare "Profili" - danno funzionalità simili alle tabelle/fogli

Grazie. L'unica cosa è che è un peccato che non si possa mettere un pulsante di gestione del profilo sul pannello, sarebbe davvero bello.
 

Dopo la compilazione:

errore di ottimizzazione dell'albero 1 1

Cancellare anche un blocco di codice più grande di quello dove c'erano le modifiche non ha risolto la situazione.

Si può disattivare l'ottimizzazione? E a quale altezza può "crescere" questo albero dell'ottimizzazione?

Come evitarlo?

 

Sono sorte tre domande:

1) Qual è l'ottimizzazione di cui scrive la persona sopra, e influenza la velocità di calcolo e la velocità del programma (creazione di oggetti e inizializzazione)? In Basics 6m, per esempio, era possibile abilitare l'opzione di compilazione "fast code". È possibile in MKL5?

2) Il rispettato Renat ha detto che i calcoli sono veloci ora e il dll non è necessario. Qualcuno ha confrontato la velocità con il dll C++ - qual è la differenza? La domanda non è oziosa, perché il primo blocco del mio TS è calcolato per diverse ore, e volevo avere il tempo di calcolare in tempo reale tra le apparizioni di 2 candele. Vale la pena trasferire i calcoli in una DLL?

3) Come si può accelerare il programma?

Sarei grato a tutti coloro che hanno risposto. Buon Natale e felice anno nuovo!

 
// входные параметры индикатора
input bool            inp_FLine        = true;
input int             inp_FLine_width  = 1;
input ENUM_LINE_STYLE inp_FLine_style  = STYLE_SOLID;
input color           inp_FLine_col    = DeepPink;  

// клоны входных параметров
bool              FLine;
int               FLine_width; 
ENUM_LINE_STYLE   FLine_style;
color             FLine_col;

int OnInit()
{
// инициализация клонов входными параметрами
PLine           = inp_PLine;
FLine_width     = inp_FLine_width;
PLine_style     = inp_PLine_style;
PLine_col       = inp_PLine_col; 
}

int OnCalculate()
{

if(PLine)
{
FLine_width     = Func(FLine_width);
PLine_style     = Func(PLine_style);
PLine_col       = Func(PLine_col); 
}

// применение новых значений
SetParam(FLine_width,PLine_style,PLine_col);
}


// Такой код с большим кол-вом параметров может привести к
// 
// tree optimization error  ?


Tale codice con così tanti parametri può causare

errore di ottimizzazione dell'albero?

Ho usato questo modo per gestire le proprietà degli oggetti grafici a causa dell'impossibilità di cambiare i valori dei parametri di input dell'indicatore.


P.S.

Ho commentato quasi tutto il codice in alcune parti. Solo quando mi sono rimaste un paio di linee, la compilazione ha avuto successo.

Poi ho rimosso TUTTI i commenti e tutto ha continuato a funzionare.

Quindi cos'era quello?

 
zloymudvin:
Grazie. L'unica cosa è che è un peccato che non si possa mettere un pulsante di gestione del profilo sul pannello, sarebbe fantastico.

Guarda il comando per cambiare profilo sulla barra di stato:


 

Ho visto tali errori molto spesso su mt5 un anno e mezzo fa, non ho detto nulla perché è impossibile non notarli. Sembra che sia stato risolto.

A proposito, ho visto molto spesso questi errori in mt4.

Ora vedo di nuovo lo stesso errore. Di nuovo la storia viene scaricata con errori. Penso che sia impossibile aggiungere il pulsante di cancellazione della cronologia dei simboli in caso di questo errore, poiché è la ragione principale di tutti gli inconvenienti.

Un errore molto frequente merita un pulsante separato.


 
vicondi:

Dopo la compilazione:

errore di ottimizzazione dell'albero 1 1

Cancellare anche un blocco di codice più grande di quello in cui sono state fatte le modifiche non ha risolto la situazione.

Si può disattivare l'ottimizzazione? E a quale altezza può "crescere" questo albero dell'ottimizzazione?

Come evitarlo?


Crea una richiesta al service desk e porta il codice sorgente, riporta la build del terminale e il bit rate.

Molto probabilmente, l'errore è dalla nostra parte, ma abbiamo bisogno del codice sorgente per riprodurlo e correggerlo.

 

Buon pomeriggio, un piccolo aiuto per un principiante.

// cancellazione degli scaffali


void deleteAllOrder()
{
for(int i = 0; i < OrdersTotal();i++)
{
order_ticket = OrderGetTicket(i);
HistorySelect(0,TimeCurrent());

MqlTradeResult risultato;
Richiesta MqlTradeRequest;

request.order = order_ticket;
request.action = TRADE_ACTION_REMOVE;
OrderSend(richiesta,risultato);

Come correggere il codice che rimuove non tutti gli ordini pendenti ma solo gli ordini pendenti per un simbolo selezionato. Non riesco a ottenerlo in questo momento(

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
dimmi2000:

Buon pomeriggio, un piccolo aiuto per un principiante.

// cancella gli ordini in sospeso


void deleteAllOrder()
{
  for(int i = 0; i < OrdersTotal();i++)
   {
      order_ticket = OrderGetTicket(i);
      HistorySelect(0,TimeCurrent());             //зачем?
      
      MqlTradeResult result;
      MqlTradeRequest request;
      
      request.order = order_ticket;
      request.action = TRADE_ACTION_REMOVE;
      OrderSend(request,result);

Come posso modificare il codice per cancellare tutti gli ordini pendenti ma solo gli ordini per un simbolo selezionato. Non riesco a trovarlo in questo momento.

Guardate la descrizione della funzione OrderGetString() e il suo parametro ENUM_ORDER_PROPERTY_STRING
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5