오류, 버그, 질문 - 페이지 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/en/forum/216476/page7#comment_5834235

있었다

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

여기

 #include <Trade/Trade.mqh>
class Entry {};
그리고 요청 #1660355 는 실제로 1년 이상 전이었습니다. https://www.mql5.com/en/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" );
}
 

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

이전 두 모드와 달리 이 최적화 모드를 사용하면 동일한 입력 매개변수 를 사용하지만 다른 기호로 Expert Advisor를 테스트할 수 있습니다. 각 최적화 패스와 함께 EA 의 주요 테스트 기호 만 변경됩니다. 즉, EA가 첨부될 차트의 기호입니다.

최적화는 "시장 관찰" 창에서 현재 선택된 기호에서만 발생합니다. 따라서 선택한 문자 집합을 조정하여 최적화를 제어할 수 있습니다.

  • 서버에서 필요한 가격 데이터를 다운로드하는 데 시간이 오래 걸릴 수 있습니다. 그러나 데이터 다운로드로 인한 최적화 프로세스의 속도 저하가 심볼에서 처음 실행된 다음 누락된 데이터만 다운로드되는 경우에만 발생합니다.
  • 기호 에 대해 최적화할 때 "값" 열에 지정된 입력 매개변수의 현재 값이 사용 됩니다.


Market Watch에서 순차적인 기호 열거가 있고 입력 매개변수의 최적화가 각각에서 수행되는 경우 최적화 모드가 크게 부족합니다.

이 모드는 차량에 적합한 기호를 찾을 때 매우 인기가 있습니다. 그리고 그것은 특히 사용자 지정 기호의 존재 배경과 관련이 있습니다. 다양한 사용자 지정 기호를 만들고 옵티마이저에서 해당 속성을 확인합니다.

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