Hatalar, hatalar, sorular - sayfa 2184

 

MT4'te sorunsuz iletilir.

Bir dizi mt5'e nasıl aktarılır?

 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

Bir diziyi mt5'e nasıl aktarırım?

C++'da şöyle görünürdü:

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

Çalışma hatası

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

Sonuç: 0

Beklenen: 1

 
A100 :

C++'da şöyle görünürdü:

mql5'e ne dersin?

 
Vitaly Muzichenko :

mql5'e ne dersin?

Böyle bir mekanizma yok

 

belirsiz

 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
}

İlk durumda - normal, ikinci durumda - bir derleme hatası. Fark ne?

 

Anahtar kelimeler ön işlemcide düzgün çalışmıyor

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

Sonuç: 1

Beklenen: 2

 
Vladimir Karputov :

Bu hata biliniyor ve düzeltiliyor. kendimi bekliyorum.

Uzun süredir bir şeyler düzeltiliyor https://www.mql5.com/ru/forum/216476/page7#comment_5834235

Oradaydı

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

Burada

 #include <Trade/Trade.mqh>
class Entry {};
ve istek #1660355 aslında bir yıldan daha uzun bir süre önceydi https://www.mql5.com/en/forum/1111/page1797#comment_4042334
Предложение для удобства использования MetaEditor
Предложение для удобства использования MetaEditor
  • 2017.09.29
  • www.mql5.com
Здравствуйте. Хотел бы предложить разработчикам сделать в MetaEditor стандартизировать отступы при написание кода, как это сделано в VisualStudio...
 

OnTesterInit'te, testin ana sembolünü belirleme fırsatı vermeyi öneriyorum.

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

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

Önceki ikisinden farklı olarak bu optimizasyon modu, Expert Advisor'ı aynı giriş parametreleriyle ancak farklı semboller üzerinde test etmenize olanak tanır. Her optimizasyon geçişinde, yalnızca EA'nın ana test sembolü, diğer bir deyişle EA'nın ekleneceği grafiğin sembolü değişir.

Optimizasyon yalnızca "Piyasa İzleme" penceresinde halihazırda seçili olan sembollerde gerçekleşir. Böylece seçilen karakter setini ayarlayarak optimizasyonu kontrol edebilirsiniz.

  • Lütfen gerekli fiyat verilerinin sunucudan indirilmesinin uzun sürebileceğini unutmayın. Ancak, verilerin indirilmesi sonucunda optimizasyon sürecinin yavaşlaması, yalnızca bir sembol üzerinde ilk kez başlatıldığında meydana gelir ve ardından yalnızca eksik veriler indirilir.
  • Semboller için optimizasyon yapılırken, "Değer" sütununda belirtilen giriş parametrelerinin mevcut değerleri kullanılır .


Piyasa İzleme'den gelen sembollerin sıralı bir sayımı olduğunda ve her birinde giriş parametrelerinin optimizasyonu yapıldığında, Optimizasyon modunun güçlü bir eksikliği vardır.

Bu mod, bir araç için uygun bir sembol ararken çok popülerdir. Ve özellikle özel sembollerin varlığının arka planıyla ilgilidir - çeşitli özel semboller yaratır ve bunların özelliklerine Optimize Edici'de bakarsınız.

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