错误、漏洞、问题 - 页 2184

 

它转移到mt4没有任何问题。

我如何将阵列转移到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

如何在mt5中传递数组?

在C++中,它看起来是这样的

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

执行过程中出错

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

结果:0

预期:1

 
A100:

在C++中,它看起来是这样的。

但在mql5中是怎样的?

 
Vitaly Muzichenko:

在mql5中怎么样?

没有这样的机制

 

误解.

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
}

在第一种情况下,它是好的,在第二种情况下,它是一个编译错误。有什么区别?

 

关键字在预处理程序中不能正确工作

//#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
}

结果:1

预期:2

 
Vladimir Karputov:

这个错误是众所周知的,并且正在被纠正。我自己也在等待。

要花很长时间来修复https://www.mql5.com/ru/forum/216476/page7#comment_5834235

就在那里。

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

这里

#include <Trade/Trade.mqh>
class Entry {};
而申请本身#1660355 实际上已经是一年多以前的事了https://www.mql5.com/ru/forum/1111/page1797#comment_4042334
Предложение для удобства использования MetaEditor
Предложение для удобства использования MetaEditor
  • 2017.09.29
  • www.mql5.com
Здравствуйте. Хотел бы предложить разработчикам сделать в MetaEditor стандартизировать отступы при написание кода, как это сделано в VisualStudio...
 

我建议OnTesterInit应该允许指定主要的测试符号

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");
}
 

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

与前两者不同,这种优化模式允许你用相同的输入参数 测试EA,但在不同的符号上。在每个优化通道中,只有EA测试主要符号 被改变,换句话说,EA将被连接到的图表符号。

只对当前在"市场观察"窗口中选择的那些符号进行优化。这样你就可以通过调整选定的符号集来管理优化。

  • 请注意,从服务器下载所需的价格数据可能需要很长的时间。然而,由于数据下载而导致的优化过程的减慢只发生在它第一次在一个符号上启动时,随后只有缺失的数据被下载。
  • 在符号优化过程中,"值 "栏中指定的输入参数当前值被使用


它非常缺少优化模式,当有一个来自Market Watch的符号顺序列举,并且在每个符号中都有输入参数的优化。

在为TS寻找合适的符号时,这种模式非常有用。而且,当存在自定义符号时,它尤其相关--你创建不同的自定义符号,并在优化器中查看它们的属性。

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