Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 192

 
traveller00 :

İstatistiklerden: günde yaklaşık 200-300 işlem. Normal kontrollerle bile, ancak tamamen akıllıca kontroller olmadan, haftada ortalama 2-3 kez çift açılış yakaladım. Olasılığı hesaplayın ve çeklere ihtiyacınız olup olmadığını veya böyle bir olasılığı kabul etmeye hazır olup olmadığınızı öğrenin. Şahsen, kendim için maksimum kontroller yaptım.

Teşekkür ederim. pinginiz nedir?
 
Vasiliy_Saharov :
Teşekkür ederim. pinginiz nedir?

55-60ms aralığında atlar. Ama bu pingle ilgili değil. Dediğim gibi, bu normal kontrollerde bile böyle. Burası zaten bir beklemenin olduğu yerdi, sadece yeterliydi, 1 saniye beklemek gibi. Ancak, ping'i büyüklük sıralarıyla aşan bu tür aralıkların bile ötesine uçtu.

PS Konusunda hayalet siparişler için ilginç bir test https://www.mql5.com/ru/forum/1111/page2220#comment_7834585
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.06.20
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Vasiliy_Saharov :
Algoritmanız 0.1 lot sonuçlandırması gerekiyorsa, o zaman iki kez 0.1 yapma olasılığı vardır ve bence bu olasılık sıfıra eğilimlidir, ancak üç kez, bence imkansız. 20 kereden bahsetmiyorum bile. Sonuçta, uygulamalı şeylerden bahsediyoruz. Kural olarak, sunucu muhtemelen saniyede 10 mil içinde yanıt verir (öyle mi? Emin değilim). Sizce ikinci bir ticaret yapma olasılığı nedir? Bu kontrolü kendin mi yapıyorsun? Sunucunun yanıt vermesi uzun sürüyor mu?

İşlem sonucu sunucudan gelen yanıt çok farklı nedenlerle gecikebilir ve hiçbir durumda 10 ms'ye güvenemezsiniz (ping 1 ms olsa bile)

Tabii ki, bu kontrolü yapıyorum. Daha doğrusu, bunun (ve çok daha fazlasının) dikkate alındığı hazır MT4Orders kullanıyorum.

 
const int a= 2 ;

void OnStart ()
{
   int b[a];   //'[' - invalid index value
}

Bu davranış C++'dan farklı mı, ayrıca bir özellik mi yoksa bir hata mı?

 
Igor Makanu :

göstergede CopyXXX işleminin sonucunu beklemez

CopyXXX gösterge sürecinde zamanlayıcıda bir seçenek olarak ve bu göstergeyi EA'dan çağırın

İşe yaradı, fikir için teşekkürler!

 

Değişen yaz/kış saati MT5-Tester'ı nasıl bozabilir?

Sorunu açıklamanın en kolay yolu bir örnekle. Alıntı oturumlarında bu tür kısıtlamalara sahip bir sembol vardır.

Ancak, fiyat geçmişinde 22:15'ten sonra - 23:15'e kadar fiyatlar var. Bunlar, teklif seansının dışında olmasına rağmen geçerli fiyatlardır.


Gerçek şu ki , kış saatine geçişten önce seans: 03:00 - 23:15. Kolayca açıkladı. Ticaret sunucusu zamanı değiştirir, ancak teklif sembolü değişmez. Örneğin, indeks. Bu nedenle, ticaret sunucusunda karşılık gelen sembolün oturum süresi değişir.


Bu durum, MT5 Tester'da çok hoş olmayan sonuçlara yol açmaktadır. 22:15-23:15 arasında geçerli fiyatlarla işlem yapamazsınız ve [Piyasa kapalı] olarak reddedilebilirsiniz. Onlar. orada, ticaret gerçekte gerçekleşti, ancak Test Cihazı buna izin vermiyor.


Aslında, Test Kullanıcısı kasıtlı olarak yanlış bir sonuç vererek ticareti bozar. Bu özelliği fark etmek oldukça zordur. Durumu düzeltmek için seansların zamanını kendiniz düzenlemeniz gerekir.


Oluşturulması sırasında ilgili oturumların otomatik olarak hesaplandığı / kaydedildiği özel bir sembole geçerek bu sorunu (ve bazılarını) unutmak mümkündür.


Sembol ayarlarının üst ekranında "Zaman sınırı kullan" alt satırı vardır. Belki de harekete geçmeye başladığında, bu sorunu onun aracılığıyla atlatmak mümkün olacaktır.


Kural geçerli olmakla birlikte - özel semboller, MT5 Tester'ın sonuçlarının yeterli olma olasılığını önemli ölçüde artırabilir.


PS Terminalde, fiyat geçmişi (CopyRates/CopyTicks) almak için talepte bulunurken, teklif oturumları tarafından yönlendirilmeyin.

 
fxsaber :

Değişen yaz/kış saati MT5-Tester'ı nasıl bozabilir.

İlginç gözlemlerinizi paylaştığınız için teşekkür ederiz - Zaman sorununu daha önce de dile getirmiştim, ancak gelecekte çubuk fiyatları 0'dan düşük olduğunda yanlış etiketlemeye dikkat ettim.

Böyle bir soru ortaya çıkıyor, test cihazında alım satımı yasaklamanın genellikle doğru olduğu veya en azından bazı saatler boyunca gerçekte alım satımı yasaklanmış bir enstrümanın kotasyonunun olduğu durumlar var mı? Farklı endeksler olduğunu anlıyorum ve bunlardan elde edilen kârın nasıl hesaplanacağı net değil, ancak bu durumda, zorla puan olarak hesaplayabilir ve kütüğe enstrümanın işlem görmediğine dair bir mesaj yazabilirsiniz, ancak yapabilirsiniz. TS'yi kontrol edin.

 
Aleksey Vyazmikin :

Gerçekte bazı saatlerde alım satımı yasaklanmış bir enstrümanın fiyatı var mı?

Gece yarısından sonraki ilk dakika yasaktır. Önemli olabileceği zaman, bir çek koyarım.

 // true - торговые сессии совпадают с котировочными, false - иначе.
bool IsSessionsQuoteEqualTrade( const string Symb )
{
   bool Res = true ;
  
   for ( int i = 0 ; (i < 7 ) && Res; i++)
  {
     datetime FromQuote;
     datetime ToQuote;

     datetime FromTrade;
     datetime ToTrade;
    
     if ( SymbolInfoSessionQuote (Symb, ( ENUM_DAY_OF_WEEK )i, 0 , FromQuote, ToQuote) && (FromQuote != ToQuote))
      Res = SymbolInfoSessionTrade (Symb, ( ENUM_DAY_OF_WEEK )i, 0 , FromTrade, ToTrade) &&
            (FromQuote == FromTrade) && (ToQuote == ToTrade);
  }
  
   return (Res);
}

Bir günde birkaç seans olduğunda seçeneği işaretlemiyorum.

 
fxsaber :

Gece yarısından sonraki ilk dakika yasaktır. Önemli olabileceği zaman, bir çek koyarım.

Bir günde birkaç seans olduğunda seçeneği işaretlemiyorum.

Bu, DC'nin yarattığı yapay bir durumdur, ancak gerçek örnekler var mı? Diyelim ki kapalı bir müzayedede işlem var ama aynı zamanda kote ediliyor.

 
Aleksey Vyazmikin :

Bu, DC'nin yarattığı yapay bir durumdur, ancak gerçek örnekler var mı? Diyelim ki kapalı bir müzayedede işlem var ama aynı zamanda kote ediliyor.

Kesinlikle tüm kurallar yapaydır.

Neden: