PROFI'den SUPERPROFI'ye kadar tüm sorularınız - 1. - sayfa 43

 
fxsaber :

anlamadım Veritabanında bir şey değiştiyse, öğrenmenin tek yolu onu veritabanının önceki durumuyla karşılaştırmaktır.

Karşılık gelen her bir veritabanı öğesini karşılaştırabilirsiniz. Veya onlardan bir karma hesaplayın ve karmaları karşılaştırın.

Terminal bu değişikliği zaten biliyor (OnTrade). Burada ayrıca fonksiyonda bunun hakkında bilgi edinmek arzu edilir.

 
fxsaber :

Bu, özellikle time_msc değiştirme adımının 1000 ms olduğu MT4 için geçerlidir.

Çok kötü, şu anda bildiğim en basit seçeneği kullanmayı imkansız kılıyor.

 
Andrey Khatimlianskii :

Terminal bu değişikliği zaten biliyor ( OnTrade ). Burada ayrıca fonksiyonda bunun hakkında bilgi edinmek arzu edilir.

Ticaret etkinlikleri MT4'te mevcut değildir.

 
fxsaber :

Ticaret etkinlikleri MT4'te mevcut değildir.

O basitçe MKL'ye gönderilmedi. Terminal, işlem listesini zamanlayıcıya göre güncellemez.

 
Andrey Khatimlianskii :

O basitçe MKL'ye gönderilmedi . Terminal, işlem listesini zamanlayıcıya göre güncellemez.

Bu nedenle, yalnızca doğrulama yoluyla.

[Silindi]  
Andrey Khatimlianskii :

1. Bir işlev çağrısının önceki çağrıyla aynı tık üzerinde gerçekleştiğini bulmanın en ucuz yolu nedir?

Time (TimeCurrent), teorik olarak da SymbolInfoTick'ten ms cinsinden aynı kalabilir.

Teklif, talep ve zamanı ms cinsinden karşılaştırmak pahalıdır.

EA'nın kendisinde kontrolü organize etme seçeneği sunmuyoruz, evrensel bağımsız bir işlev elde etmek istiyorum.


2. Alım satım işlemleri için benzer bir soru. Son lansmandan bu yana (açık seviyeler, SL ve TP dahil) emirler/pozisyonlar listesinde bir şeylerin değişip değişmediğini nasıl öğrenebilirim?

İlk beşte, OnTrade'de bir tür bayrak takımı kendini gösteriyor (ve tamamlandıktan sonra sıfırlama), bunu düşünmemek daha ucuz.

Ama yine de evrensel bir çözüm istiyorum.


Kimin fikirleri var?

Böyle:

 //+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
{
   int count = 0 ;
   if ( A ) some_func( count );
   if ( B ) some_func( count );
   if ( C ) some_func( count );
}
//+------------------------------------------------------------------+
void some_func( int & count )
{
   if ( count++ > 0 )
       return ;
      
   // recalculate only once on each tick
}
//+------------------------------------------------------------------+
 
Koldun Zloy :

Böyle:

Teşekkür ederim.

Andrey Khatimliansky :

EA'nın kendisinde kontrolü organize etme seçeneği sunmuyoruz, evrensel bağımsız bir işlev elde etmek istiyorum.

 
Andrey Khatimlianskii :

Teşekkür ederim.

Henüz önermedikleri için, nereye kazacağıma dair bir fikir atacağım, son PostMessage'ın saatini kontrol edeceğim veya bunun gibi bir şey, belki saçma, API'yi pek anlamıyorum.

 
Aleksey Mavrin :

son PostMessage'ın saatini veya buna benzer bir şeyi kontrol etmek, belki de saçma, API'yi pek anlamıyorum.

Evet, bok gibi görünüyor)

Denediğin için teşekkürler.

 
Andrey Khatimlianskii :

EA'nın kendisinde kontrol olmadan gerçekçi değil.

Ayrıca, gerekli değildir. İstenen işlev Expert Advisor'da çağrılır, yani. Uzman Danışmanda temelde aynı kontroldür, yalnızca daha az invazivdir