Errori, bug, domande - pagina 2184

 

Si trasferisce su mt4 senza problemi.

Come faccio a trasferire un array in mt5?

void OnTick()
 {
  int m[][2];
  Array(m);

  int k[][3];
  Array(k); // 'k' - parameter conversion not allowed
 }

template<typename T>
void Array(T& arr[][2]) { }
 
Vitaly Muzichenko

Come si passa un array in mt5?

In C++ sarebbe qualcosa del genere

template<typename T, int n>
void Array(T arr[][n]) {}
 

Errore durante l'esecuzione

struct A {
        A() : i( 1 ) {}
        int i;
};
struct B : A {};
void OnStart()
{
        B b;
        Print( b.i );
}

Risultato: 0

Atteso: 1

 
A100:

In C++ sarebbe qualcosa del genere:

Ma in mql5 come?

 
Vitaly Muzichenko:

E in mql5?

Non esiste un tale meccanismo

 

Misunderstood .

struct String {};
String f1() { String s; return s; }
string f2() { string s; return s; }
void   g1( String& ) {}
void   g2( string& ) {}
void OnStart()
{
        g1(f1()); //нормально
        g2(f2()); //Error: 'f2' - parameter passed as reference, variable expected
}

Nel primo caso va bene, nel secondo è un errore di compilazione. Qual è la differenza?

 

Le parole chiave non funzionano correttamente nel preprocessore

//#define struct class 
struct A {
#ifdef struct
public:
        void f( A* ) {} //Error ???
#else
        void f( A& ) {}
#endif
};
//#define string String 
void OnStart()
{
#ifdef string
        Print( 1 );
#else
        Print( 2 );
#endif
}

Risultato: 1

Previsto: 2

 
Vladimir Karputov:

Questo errore è noto e viene corretto. Io stesso sto aspettando.

Ci vuole molto tempo per riparare https://www.mql5.com/ru/forum/216476/page7#comment_5834235

Era lì.

#include <Controls\WndContainer.mqh>
class Rect {};

Qui

#include <Trade/Trade.mqh>
class Entry {};
e la domanda stessa #1660355 era in realtà già più di un anno fa https://www.mql5.com/ru/forum/1111/page1797#comment_4042334
Предложение для удобства использования MetaEditor
Предложение для удобства использования MetaEditor
  • 2017.09.29
  • www.mql5.com
Здравствуйте. Хотел бы предложить разработчикам сделать в MetaEditor стандартизировать отступы при написание кода, как это сделано в VisualStudio...
 

Suggerisco che OnTesterInit permetta di specificare il simbolo principale del test

enum ENUM_TESTER_INFO_STRING
{
  TESTER_SYMBOL;
};

string TesterInfoString( const ENUM_TESTER_INFO_STRING property_id );
bool TesterSetString( const ENUM_TESTER_INFO_STRING property_id, const string property_value );

void OnTesterInit()
{
  TesterSetString(TESTER_SYMBOL, "EURUSD");
}
 

Все символы, выбранные в окне "Обзор рынка"

A differenza delle due precedenti, questa modalità di ottimizzazione permette di testare l'EA con gli stessiparametri di input, ma su diversi simboli. In ogni passaggio di ottimizzazione, soloil simbolo principale deltest EA viene cambiato, in altre parole, il simbolo del grafico a cui l'EA sarebbe collegato.

L'ottimizzazione viene eseguita solo su quei simboli che sono attualmente selezionati nella finestra"Market Watch". In questo modo è possibile gestire l'ottimizzazione regolando l'insieme dei simboli selezionati.

  • Si prega di notare che il download dei dati dei prezzi richiesti dal server può richiedere molto tempo. Tuttavia, il rallentamento del processo di ottimizzazione a causa del download dei dati si verifica solo quando viene lanciato per la prima volta su un simbolo, successivamente vengono scaricati solo i dati mancanti.
  • I valori attualidei parametri di ingresso specificati nella colonna "Valore" sono utilizzati durante l'ottimizzazione del simbolo.


Manca molto la modalità Optimization, quando c'è un'enumerazione sequenziale di simboli da Market Watch e in ognuno di essi c'è Optimization dei parametri di input.

Questa modalità è molto utile quando si cerca il simbolo appropriato per TS. Ed è particolarmente rilevante quando esistono simboli personalizzati - si creano diversi simboli personalizzati e si guardano le loro proprietà nell'ottimizzatore.

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...