MetaEditor yapı 1463 - sayfa 14

 
Renat Fatkhullin :

Şimdiye kadar, hiçbir yerde.

ArrayPrint - benzer.
 
Sorun
void OrderSend ( int ) {}   // no problem
void Print ( MqlTick & ) {} // 'Print' - override system function

Onlar. "::" harici sınıfı aşırı yüklemeye izin vermez ve herhangi bir dahili sınıf - sorunsuz.

Bu nedenle, bir koltuk değneği ile kısıtlamayı atlamak gerekir.

class PRINTCLASS
{
public :  
   template < typename T>
   static void MyPrint( const T &Value )
  {
    T Array[ 1 ];
    
    Array[ 0 ] = Value;
    
    ::ArrayPrint(Array);
  }
  
   template < typename T>
   static void MyPrint( const T Value )
  {
    :: Print (Value);
  }
};

#define Print (A) PRINTCLASS::MyPrint(A)

void OnStart ()
{
   MqlTick Tick;
  
   SymbolInfoTick ( _Symbol , Tick);

   Print (Tick);
  
   int i = 5 ;
  
   Print (i);
}
Tehdit ArrayPrint sitede vurgulanmıyor.
 
1467 yapı zaten piyasaya sürüldü. Değişiklikler nelerdir?
 

Test cihazında göstergemle ilgili bir sorun buldum. 1463 derlemesinden başlayarak, test cihazı , göstergeyi test ederken , başlangıçtan hemen sonra, kendiliğinden donuyor. Gösterge değil, test cihazının askısıdır. Çünkü eski veya yeni derleyici ile derlerken sorun devam ediyor, ancak eski test cihazında her şey yolunda gidiyor.

Askıda kalmaya yol açan koddaki yer bulunamadı. Farklı kod satırlarında Yorum yapmaya çalıştım ama hep farklı bir yerde takılıyor. Genel olarak, test cihazının bir tür dahili hatası.

 
Alexey Navoykov :

Test cihazında göstergemle ilgili bir sorun buldum. 1463 derlemesinden başlayarak, test cihazı , göstergeyi test ederken , başlangıçtan hemen sonra, kendiliğinden donuyor. Gösterge değil, test cihazının askısıdır. Çünkü eski veya yeni derleyici ile derlerken sorun devam ediyor, ancak eski test cihazında her şey yolunda gidiyor.

Askıda kalmaya yol açan koddaki yer bulunamadı. Farklı kod satırlarında Yorum yapmaya çalıştım ama hep farklı bir yerde takılıyor. Genel olarak, test cihazının bir tür dahili hatası.

Öyleyse hala takılıyor mu yoksa test cihazında ayarlanmış maksimum test hızına sahip misiniz?

Eklendi: Bununla tanışmadım, bu yüzden kodunuzu gözden geçirmeniz çok arzu edilir.

 
Alexey Navoykov :

Askıda kalmaya yol açan koddaki yer bulunamadı.

Tüm ekranın kalıcı video kaydına ayarlayın. Bir hatayla karşılaşmayı başardığınızda, kaydı durdurun ve videoda gerekli olmayan her şeyi kesin.
 
Vladimir Karputov :

Öyleyse hala takılıyor mu yoksa test cihazında ayarlanmış maksimum test hızına sahip misiniz?

Eklendi: Bununla tanışmadım, bu yüzden kodunuzu gözden geçirmeniz çok arzu edilir.

Herhangi bir hızda donuyor. StrategyTestVisualization penceresi yanıt vermiyor. Kodun tamamını göstermek mümkün değil, ne yazık ki bu ticari bir ürün.

Ayrıca test moduna ve zaman dilimine bağlı değildir.

 
Alexey Navoykov :

Herhangi bir hızda donuyor. StrategyTestVisualization penceresi yanıt vermiyor. Kodun tamamını göstermek mümkün değil, ne yazık ki bu ticari bir ürün.

O zaman yalnızca ServiceDesk'te - onlara kodu gösterebilirsiniz. Göstergede döngü şüphesi olsa da - örneğin, sonsuz bir while döngüsü...
 
fxsaber :
2016.11 . 10 11 : 07 : 42.764 Test (EURUSD,M1)                         [time]   [bid]   [ask]  [last] [volume]    [time_msc] [flags]
2016.11 . 10 11 : 07 : 42.764 Test (EURUSD,M1)        [ 0 ] 2016.11 . 10 11 : 10 : 11 1.09207 1.09217 1.09207    500000 1478776211595        2

Eksik olan tek şey bariz ArrayToString'dir. O zaman çıktıyı değiştirmek mümkün olacaktır. Örneğin, time_msc ve bayraklar.

Lütfen MqlTick'i şu şekilde değiştirin:
struct MqlTick
  {
   datetime      time;           // Время последнего обновления цен
   double        bid;           // Текущая цена Bid
   double        ask;           // Текущая цена Ask
   double        last;           // Текущая цена последней сделки (Last)
   ulong         volume;         // Объем для текущей цены Last
   datetime_msc time_msc;       // Время последнего обновления цен в миллисекундах
   uint          flags           // Флаги тиков
  };
Onlar. yeni bir datetime_msc türü tanıtın.