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

 
GeçmişSeçin.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MT5 ve iş başında hız

fxsaber , 2020.09.02 00:32

birisi from-input parametresinin eşleşmediği kitaplıkları paylaşmaya karar verirse, fren yapacaktır.


Diğer GeçmişSeçin.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MT5 ve iş başında hız

fxsaber , 2020.09.02 00:52

HistoryDealSelect ve HistoryOrderSelect bu şekilde yazılmalıdır.

   static bool HistorySelectOrder( const ulong Ticket )
  {
     return ( (:: HistoryOrderGetInteger (Ticket, ORDER_TICKET ) == Ticket) || :: HistoryOrderSelect (Ticket));
  }

   static bool HistorySelectDeal( const ulong &Ticket )
  {
     return ( (:: HistoryDealGetInteger (Ticket, DEAL_TICKET ) == Ticket) || :: HistoryDealSelect (Ticket));
  }

Aksi takdirde frene basmanız garantidir.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MT5 ve iş başında hız

Renat Fatkhullin , 2020.09.02 00:40

Atomik/anlık görüntü erişimi gerektiren büyük hacimlerle çalıştığınızda (ve bir nedenle tarihte binlerce ve on binlerce anlaşma gösterdiniz) bunların maliyetini anlamanız gerekir.

 
Expert Advisor'ın OnInit'te bir MessageBox'ı varsa, yeniden oturum açma sırasında olası bir sorunu atlamak için bir dizi işlem yapmanız gerekir.
 
Sık gecikmelere girme olasılığını azaltmak için normal işlevlere yapılan çağrıların sayısını en aza indirmeniz önerilir.
 

kazanamam

2020.04.01 11:49:34 anında satış 0.32 EURUSD 1.09539'da başarısız oldu [Geçersiz hacim]

Kükremede toplam ses sınırı için bir kontrol var.

neden bu hatayı alıyorum anlamadım

Piyasa doğrulayıcısında
 
Vladimir Pastushak :

kazanamam

2020.04.01 11:49:34 anında satış 0.32 EURUSD 1.09539'da başarısız oldu [Geçersiz hacim]

Kükremede toplam ses sınırı için bir kontrol var.

neden bu hatayı alıyorum anlamadım

Piyasa doğrulayıcısında

Siparişlerde bir limitle karşılaşamaz mıydınız? Onu almış gibiyim.

 
Edgar Akhmadeev :

Siparişlerde bir limitle karşılaşamaz mıydınız? Onu almış gibiyim.

Yanlış hacim yazıyor, fon olup olmadığı kontrol ediliyor, lotlarda limit aşımı da kontrol ediliyor. Daha fazla kazmak...

 
Vladimir Pastushak :

Yanlış cilt yazıyor

Edgar Akhmadeev :

Onu almış gibiyim.

... küçük bir hacmin büyük bir depo ile açılmadığını. Ayrıntıları hatırlamıyorum ama sent piyasasındaki brokerlerden birinin enstrüman için çok küçük bir sipariş limiti vardı.

 

MT5'te aşağıdaki sorun var. Strateji test cihazında ticaret panelinin çalışmasını görsel modda test etmeniz gerekir. Ticaret panelinde giriş alanları (OBJ_EDIT) bulunur. Bir giriş alanındaki metni değiştirip ENTER'a bastığınızda, yeni metin görünmez, bunun yerine giriş alanı oluşturulurken belirtilen orijinal metin görünür. Yani panelin görsel testi sırasında giriş alanındaki yazının değiştirilmesi mümkün değildir.

Nasıl çözeceksin?

Kod örneği:

 void OnTick ()
  {
   string name= "EDIT" ;
   if ( ObjectFind ( 0 ,name)==- 1 )
     {
       ObjectCreate ( 0 ,name, OBJ_EDIT , 0 , 0 , 0 );
       ObjectSetString ( 0 ,name, OBJPROP_TEXT , "EURUSD" );
       ObjectSetInteger ( 0 ,name, OBJPROP_XDISTANCE , 50 );
       ObjectSetInteger ( 0 ,name, OBJPROP_YDISTANCE , 50 );
       ObjectSetInteger ( 0 ,name, OBJPROP_XSIZE , 50 );
       ObjectSetInteger ( 0 ,name, OBJPROP_YSIZE , 20 );
       ObjectSetInteger ( 0 ,name, OBJPROP_READONLY , false );
       ObjectSetInteger ( 0 ,name, OBJPROP_COLOR , clrBlack );
       ObjectSetInteger ( 0 ,name, OBJPROP_BGCOLOR , clrWhite );
     }
  }
 

Kodlama sırasında başlık çubuklarını gizlemek için bu otomatik kısayol komut dosyasını oluşturdum. Windows'taki tüm pencereler için çalışır. Diğer platformlardan emin değilim.



; 
Hide borders, title bar 









#IfWinNotActive ahk_class Progman 









#IfWinNotActive ahk_class Shell_TrayWnd 









^] :: 









WinGet Style, Style, A 









if (Style & 0xC40000) { 









WinSet, Style, -0xC40000, A 









WinMaximize, A 













} 









else { 









WinSet, Style, + 0xC40000, A 









WinRestore, A 









} 









return 

Sonuç, mükemmel şekilde doldurulmuş bir masaüstü ekranıdır.

Dosyayı file_name.ahk olarak kaydetmeniz yeterlidir. Tercih ettiğiniz dizine kaydedin, ardından https ://www.autohotkey.com'u indirip yükleyin.

Komut dosyasının bir kısayolunu oluşturun ve kesin. Kazan + r'ye basın

Shell: startup yazın ve kısayolu açılan pencereye yapıştırın.

Bu şekilde, komut dosyası yeniden başlatıldıktan sonra pencerelerle başlayacaktır. Komut dosyasını şimdi başlatmak için çift tıklayın, ardından ctrl + ile pencere başlık çubuklarını gizleyebilirsiniz.

Kısayolu kullanırken pencerenin ekranı kaplamadığından emin olun. Büyütülmüş bir pencereyi büyütmenin bir anlamı yok ve ben bu durumla ilgilenmedim.

Zevk almak

Düzenle:

Kod biçimlendirici garip davranıyor. Kodu büyük satır aralığına genişletmeye devam ediyor. çok komik!

AutoHotkey
  • www.autohotkey.com
AutoHotkey provides a simple, flexible syntax allowing you to focus more on the task at hand rather than every single little technicality. It supports not only the popular imperative-procedural paradigm, but also...
Dosyalar:
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Kitaplıklar: Karşılaştırma

fxsaber , 2020.10.01 23:49

 // Возвращает true в некоторых ситуациях, когда чарт не виден.
bool IsInvisible( long chartID = 0 )
{
   bool Res = :: ChartGetInteger (chartID, CHART_IS_MINIMIZED );
  
   if (!Res && !:: ChartGetInteger (chartID, CHART_IS_MAXIMIZED ) && :: ChartGetInteger (chartID, CHART_IS_DOCKED ))
  {
     if (!chartID)
      chartID = :: ChartID ();

     for ( long Chart = :: ChartFirst (); (Chart != - 1 ) && !Res; Chart = :: ChartNext (Chart))
      Res = (Chart != chartID) && :: ChartGetInteger (Chart, CHART_IS_MAXIMIZED );
  }
  
   return (Res);
}

Ticaret panelleri ve grafiklerdeki diğer bilgiler, true dönerse güncellenmez.