Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 867

 
Roman Shiredchenko:

dimenticato come aggiornare... appena scaricato da robot...

Non mi interessa il test, ma l'ottimizzazione - che è impossibile... perché (i valori che hai impostato) vengono resettati...

L'ottimizzazione è un test multiplo con diversi parametri. Quindi il test e l'ottimizzazione sono gli stessi per questo problema. All'inizio del test/ottimizzazione c'è una stampa nel giornale con cui è stato lanciato l'Expert Advisor. Potete mettere in pausa subito dopo l'inizio e leggere il registro dopo averlo aperto. E se viene lanciato con parametri modificati, questi saranno visibili nella scheda "Parametri".

Dato che questa è una nuova installazione, è sicuro dire che si tratta della versione 2007. Questa è la seconda azienda con questo problema. Mi chiedo se eseguendolo su MQ si verificherà questo problema? Puoi aggiornare connettendoti o aprendo un nuovo account MetaQuotes-Demo. E anche attraverso il menu


 
Alexey Viktorov:

L'ottimizzazione è un test multiplo con diversi parametri. Quindi il test e l'ottimizzazione sono gli stessi per questo problema. All'inizio del test di ottimizzazione il log contiene una stampa con quali parametri è stato lanciato l'Expert Advisor. Potete mettere in pausa subito dopo l'inizio e leggere il registro dopo averlo aperto. E se lo si esegue con parametri modificati, questi saranno visibili nella scheda "Parametri".

Poiché questa è una nuova installazione, è sicuro dire che questa è la versione 2007. Questa è la seconda azienda con questo problema. Mi chiedo se correndo su MQ apparirà questo problema? Puoi aggiornare connettendoti o aprendo un nuovo account MetaQuotes-Demo. Puoi anche farlo attraverso il menu.


grazie mille! Domanda https://www.mql5.com/ru/forum/305142/page3#comment_11915822 risolta creando la cartella Tester manualmente in MKL.
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
MT5 самостоятельно сбрасывает настройки в тестере после перехода на вкладку "Настройки"
  • 2019.03.20
  • www.mql5.com
Решение (временное) : Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий MT5 самостоятельно сбрасывает настрой...
 
Perché le variabili esterne non vengono visualizzate nei parametri di input dell'indicatore MQL5?
 
Alexandr Sokolov:
Perché le variabili esterne non vengono visualizzate nei parametri di input dell'indicatore MQL5?

aggiungere

#property strict

E non usate i vecchi costrutti del linguaggio, usate input invece di extern, non ricordo, ma c'era un bug con extern, sembra che possano essere modificati nel codice, e durante una nuova inizializzazione vengono riportati ai valori iniziali e il compilatore non genera avvertimenti come con input. Potrei sbagliarmi, però.

 
Igor Makanu:

aggiungere

E non usate i vecchi costrutti del linguaggio, usate input invece di extern, non ricordo, ma c'era un bug con extern, sembra che possano essere modificati nel codice, e durante una nuova inizializzazione vengono riportati ai valori iniziali e il compilatore non genera avvertimenti come con input. Potrei sbagliarmi, però.

Differenze:

ingresso

extern

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Igor Makanu:

aggiungere

E non usate i vecchi costrutti del linguaggio, usate input invece di extern, non ricordo, ma c'era un bug con extern, sembra che possano essere modificati nel codice, e durante una nuova inizializzazione vengono riportati ai valori iniziali e il compilatore non genera avvertimenti come con input. Potrei sbagliarmi, però.

Anche questo non funziona per qualche motivo.

extern uint            usp      = 10,          //Update of the panel every ... seconds
                       psize    = 7;           //Panel size


 
Artyom Trishkin:

Differenze:

ingresso

extern

L'ho sfogliato, ma ci sono molte domande che non sono interessanti ))))

se extern funziona come scritto nella guida, perché non posso dichiararlo nel corpo della funzione? - Ho controllato, c'è un errore del compilatore:

extern' - token inaspettato !!! test11.mq4 35 4

E a livello globale perché non è possibile dichiarare tipi di dati complessi, come questo:

struct S{double f;};
extern struct x;

in generale, l'uso di extern solleva più domande della necessità di usarlo.

extern è una variabile globale esterna che viene usata per descrivere variabili in altri plugin; può essere che le librerie MQL abbiano bisogno di questo comportamento, ma pochissime persone scrivono librerie, tutti usano #include

 
Alexandr Sokolov:

Anche questo non ha funzionato per qualche motivo


controllato nell'indicatore anche senza#proprietà rigorosa

mostra la scheda delle variabili di input, non so quale sia il tuo problema, ecco il mio codice

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window

extern int x = 10,y=22;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

   return(rates_total);
  }


 
Alexandr Sokolov:

Anche questo non ha funzionato per qualche motivo


Ti è stato detto: input e #proprietà rigorosi

Ti hanno anche dato un link per aiutarti.

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Artyom Trishkin:

Ti è stato detto: input e #proprietà rigorosi

Ti hanno anche dato un link per aiutarti.

Ecco il mio codice

#property copyright "Alexandr Sokolov"
#property link      "https://www.mql5.com/en/users/asokolov7"
#property version   "1.00"
#property indicator_chart_window
#property strict

extern uint x = 10, y = 20;
//-------------------------------------------------------------------
int OnInit()
  {
   
  //-----------------------------------------------------------------
   return(INIT_SUCCEEDED);
  }
//-------------------------------------------------------------------
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   
  //-----------------------------------------------------------------
   return(rates_total);
  }


Motivazione: