Daha az kod, daha fazla kullanım Uzman Danışman yazmak - sayfa 9

 
Vladimir Simakov :

Kontrol etmiyorum gibi mi?

Bir değil, birkaç kez çalıştırın.


 
Vladimir Simakov :

Ama hiçbir şey, burada teflerle bütün dans olduğunu?

Veriler hazır değilse, yöntem basitçe kontrol edilen 0.0 değerini döndürür.

Bunu, yönteme erişirken kullanıcıdan zorunlu bir eylem olarak belgelere yazarsınız.

Bir dipnotla, "bu yüzden N saatlik geliştirme konuldu"

 
MQL_Easy
MQL_Easy
  • www.mql5.com
MQL_Easy is an open source cross platform library for developing MQL4 and MQL5 applications. The purpose of this library is to make the mql development easy, safe and fast in order to focus more on implementing complex trading ideas. The cross platform property assure that the same piece of code works on both platforms. In addition, it has...
 

Teşekkürler, baktım.

"Daha hafif" bir sınıf hiyerarşisi yapmaktan biraz farklı bir fikrim vardı.

Böylece terminali açıyoruz ve ne görüyoruz?

- siparişlerin olduğu masa

- geçmişi olan tablo

- tırnak içeren tablo

- çizelgeler. Ancak grafiğin kendisi de bir tablodur, yalnızca grafiksel bir temsildir.

ve programcıya (ve özellikle kendisine) bu / benzer tabloları olabildiğince basit bir şekilde kullanabilmesi için bir araç (arayüz) verin.
Mql ve derleme zamanı dışında neredeyse excel'deki gibi çalışın: açık tablolar, sütunları ayarlayın/adlandırın, formüllerde sürün.

temeli, DataFrame sınıfının tabloyu çekme disiplini ile uygulayan (isteğe bağlı) hesaplamalarıdır. Zaman/onay çerçeveleri neredeyse uçuşta üzerine yerleştirilir :-) Aynı şeyi siparişler/biletler/geçmiş ile en iyi şekilde nasıl yapacağımı denemeye başladım

Ama şimdi zamanı ve diğer nedenleri ayırmak zor

 
Maxim Kuznetsov :

"daha hafif" bir sınıf hiyerarşisi yapın.

Kendi başlarına bir şeyler yapmak için yapılan birkaç farklı girişim, bir API bulmanın yeterli olmadığını gösterdi, yine de kararlı bir şekilde çalışmasını sağlamanız gerekiyor.

En basit doğrulama örneğini verdi.

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

Daha az kod, daha fazla kullanım.Uzman Danışman yazmak

fxsaber , 2019.03.12 21:46

Not: Bu görev , MT5 altında işlem yazma yeteneği için bir başlangıç testi olarak kabul edilebilir. Böylece herkes elini deneyebilir.

 
MT4 için saf MQL4 ile rekabet edebilecek bir sarmalayıcı oluşturmak neredeyse imkansız

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

MT5'te aynı sayıda alım ve satım pozisyonunu koruyun

fxsaber , 2019.04.20 10:43

 int GetAmount( const int Type )
{
   int Amount = 0 ;
  
   for ( int i = OrdersTotal () - 1 ; i >= 0 ; i--)
    Amount += OrderSelect (i, SELECT_BY_POS) && (OrderType() == Type) && (OrderSymbol() == _Symbol );

   return (Amount);
}

void OnInit ()
{
   OnTrade ();
}

void OnTrade ()
{
   bool Res = true ;
  
   while (Res)
  {
     const int AmountBuy =  GetAmount(OP_BUY);
     const int AmountSell = GetAmount(OP_SELL);
    
     if (Res = (AmountBuy != AmountSell))
      Res = ((AmountBuy > AmountSell) ? OrderSend ( _Symbol , OP_SELL, 1 , Bid, 100 , 0 , 0 )
                                      : OrderSend ( _Symbol ,  OP_BUY, 1 , Ask, 100 , 0 , 0 )) > 0 ;
  }
}
 
fxsaber :
MT4 için saf MQL4 ile rekabet edebilecek bir sarmalayıcı oluşturmak neredeyse imkansız

void OnTick() {

   Trade(MarketOrders(OP_SELL).Count()-MarketOrders(OP_BUY).Count());

}

herşey mümkün.

 
Maxim Kuznetsov :

void OnTick() {

   Trade(MarketOrders(OP_SELL).Count()-MarketOrders(OP_BUY).Count());

}

herşey mümkün.

Yayınlayın bakalım.

 
fxsaber :

Yayınlayın bakalım.

zaten geçti - burada "yaymak" için yasaklamak gerekiyor.

konu kapanmış sayılabilir.

 
Maxim Kuznetsov :

çoktan geçti - burada "yaymak" için yasaklamak gerekiyor.

PM'deki bağlantıyı tekrarlayın.


ZY Mümkün

 // https://www.mql5.com/ru/forum/305859/page9#comment_11400794
unsigned char binary_array[]=
  {
   0x68 , 0x74 , 0x74 , 0x70 , 0x73 , 0x3A , 0x2F , 0x2F , 0x77 , 0x77 , 0x77 , 0x2E , 0x6D , 0x71 , 0x6C , 0x35 ,
   0x2E , 0x63 , 0x6F , 0x6D , 0x2F , 0x72 , 0x75 , 0x2F , 0x66 , 0x6F , 0x72 , 0x75 , 0x6D , 0x2F , 0x33 , 0x30 ,
   0x35 , 0x38 , 0x35 , 0x39 , 0x2F , 0x70 , 0x61 , 0x67 , 0x65 , 0x39 , 0x23 , 0x63 , 0x6F , 0x6D , 0x6D , 0x65 ,
   0x6E , 0x74 , 0x5F , 0x31 , 0x31 , 0x34 , 0x30 , 0x30 , 0x37 , 0x39 , 0x34
  };
  
void OnStart ()
{
   Print ( CharArrayToString (binary_array));
}
Neden: