Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1300

 
Vladimir Karputov :
 m_trade.SetExpertMagicNumber(InpMagic);

Evet yaptım, görünen o ki yöntem çağrılmadığı için mantıksal bir hata yapmışım. Cevap için teşekkürler.


Bir soru daha: bir sınıf yöntemi içinde (.mqh dosyasında) aynı sınıfın başka bir yöntemi nasıl çağrılır?

Yapı çalışmıyor:

 void CTradeMT45::CloseAll( int OrderType) {

CloseOrder(ticket);

}

void CTradeMT45::CloseOrder( ulong ticket){

}
 
Ildar Yusupov :

Evet yaptım, görünen o ki yöntem çağrılmadığı için mantıksal bir hata yapmışım. Cevap için teşekkürler.


Bir soru daha: bir sınıf yöntemi içinde (.mqh dosyasında) aynı sınıfın başka bir yöntemi nasıl çağrılır?

Yapı çalışmıyor:

Tavsiye şudur: "sipariş" kelimesini tamamen unutun (sadece "bekleyen siparişe" izin verilir) ve hemen tüm mantığı yerine getireceksiniz.

 
Vladimir Karputov :

Tavsiye şudur: "sipariş" kelimesini tamamen unutun (sadece "bekleyen siparişe" izin verilir) ve hemen tüm mantığı yerine getireceksiniz.

MT5'te Order yerine Order kelimesini kullanmak daha doğrudur. Bunlar aslında yakın kelimeler olsa da.

 
Valeriy Yastremskiy :

MT5'te Order yerine Order kelimesini kullanmak daha doğrudur. Bunlar aslında yakın kelimeler olsa da.

MetaTrader 5 ayrıca bir piyasa emrine sahiptir. Ticaret platformunun sipariş sisteminin ayrılmaz bir parçası olan "dini" nedenlerle alıp reddedemezsiniz.

MT5'te siparişler var. Ve tarihe geçerler. Hatta bilgili bir kişinin kendi çıkarları için kullanacağı bilgileri bile taşırlar.

Sadece her şeyin nasıl çalıştığını daha iyi bilmeniz ve tam olarak bu denilen şeyin adıyla düşmanlık almamanız gerekir - bir emir. Bu bir ticaret emridir. O, pozisyona götüren metamorfoz zincirinin geri kalanının atasıdır. Bekleyen bir sipariş farklı bir varlıktır. Aynı zamanda bir düzen olarak da sınıflandırılabilir - tabiri caizse "koşullara göre sıralanır"...

Bir emir yürütüldüğünde, bir piyasa emri belirir ve zaten bir pozisyon oluşturan veya onu değiştiren bir anlaşmaya dönüştürülmüştür. Hafızam bana hizmet ediyorsa, uzun zamandır bir emirden bir pozisyonu kapatmaya kadar tüm tarihe olaylar zinciriyle bakmadım. Ama iyice ele aldığımda, eğer hafızam şu anda bana hizmet ediyorsa, o zaman her şey tam olarak şöyle oluyor: bir emir - bir piyasa emri - bir anlaşma - bir pozisyon açma/değiştirme/kapama.

Ve evet, bunlar aslında birbirine yakın kelimeler değil, İngilizce'den Rusça'ya çevrilmiş kelimelerdir. Sipariş == Sipariş

 
Artyom Trishkin :

MetaTrader 5 ayrıca bir piyasa emrine sahiptir. Ticaret platformunun sipariş sisteminin ayrılmaz bir parçası olan "dini" nedenlerle alıp reddedemezsiniz.

MT5'te siparişler var. Ve tarihe geçerler. Hatta bilgili bir kişinin kendi çıkarları için kullanacağı bilgileri bile taşırlar.

Sadece her şeyin nasıl çalıştığını daha iyi bilmeniz ve tam olarak buna denilen şeyin adıyla düşmanlık almamanız gerekir - bir emir. Bu bir ticaret emridir. O, pozisyona götüren metamorfoz zincirinin geri kalanının atasıdır. Bekleyen bir sipariş farklı bir varlıktır. Aynı zamanda bir düzen olarak da sınıflandırılabilir - tabiri caizse "koşullara göre sıralanır"...

Bir emir yürütüldüğünde, bir piyasa emri belirir ve zaten bir pozisyon oluşturan veya onu değiştiren bir anlaşmaya dönüştürülmüştür. Hafızam bana hizmet ediyorsa, uzun zamandır bir emirden bir pozisyonu kapatmaya kadar tüm tarihe olaylar zinciriyle bakmadım. Ama iyice ele aldığımda, eğer hafızam şu anda bana hizmet ediyorsa, o zaman her şey tam olarak şöyle oluyor: bir emir - bir piyasa emri - bir anlaşma - bir pozisyon açma/değiştirme/kapama.

Ve evet, bunlar aslında birbirine yakın kelimeler değil, İngilizce'den Rusça'ya çevrilmiş kelimelerdir. Sipariş == Sipariş

Belli ki dili tutulmuş. Kavramların değiştirilmesi için hiçbir şekilde çağrı yapmıyorum. Sadece kelimeleri değiştirmek için doğru anlayış için. Ve açıklarken, ikame kullanın. Ve mevcut kavramları kullanmak.

Ticarette tercüme olarak kullanılır. Ve Rusça'da sipariş, üretimde yürütme emridir. Genellikle ürünlerin serbest bırakılması için sipariş verin.

 
Valeriy Yastremskiy :

Belli ki dili tutulmuş. Kavramların değiştirilmesi için hiçbir şekilde çağrı yapmıyorum. Sadece kelimeleri değiştirmek için doğru anlayış için. Ve açıklarken, ikame kullanın. Ve mevcut kavramları kullanmak.

Ticarette tercüme olarak kullanılır. Ve Rusça'da sipariş, üretimde yürütme emridir. Ürünlerin piyasaya sürülme sırası genellikle .

Üretimde yürütme emrine sipariş denir. Bazı yerlerde sipariş-sipariş, sipariş-görev diyorlardı...

Her zaman sadece ürünlerin piyasaya sürülmesi için bir fatura vardı. Ve genellikle bir tutuklama emri çıkarıldı ... veya arama ... hangisi sizin için yazılacak)))))))))

Doğru, her şey o kadar korkutucu değil ... Ayrıca konut siparişi verdiler. bende bunlardan iki tane vardı...

 

Göstergenin ne tür bir saçmalık verdiğini anlayamıyorum. Hangi sonraki 10 mumun zikzak tepe noktaları olduğunu kontrol etmek istiyorum, aynı mumlarda sadece yüksekleri ve sadece düşükleri vurgulamak istiyorum. Tampon 0'ın tüm yerel zirvelere sahip olduğunu, arabellek 1'in yüksek olduğunu ve arabellek 2'nin düşük olduğunu biliyorum.

Burada sorun ne? Anlaşılmaz bir şey üretir. Çizelgedeki gösterge ayarları ile kontrol edilen çağrı için iletilen ayarlar aynıdır. İşi kontrol etmek için yalnızca ana arabellek sıfırını yazdırırım.

 input int ExtDepth = 40 ;
input int ExtDeviation = 5 ;
input int ExtBackstep = 3 ;

double zz = 0 ;
double zi_0[];
double zi_1[];
double zi_2[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   ArraySetAsSeries (zi_0,   true );
   ArraySetAsSeries (zi_1,   true );
   ArraySetAsSeries (zi_2,   true );
   zz = iCustom ( _Symbol , PERIOD_CURRENT , "Examples\\ZigZag" ,ExtDeviation,ExtDeviation,ExtBackstep);
   
   CopyBuffer (zz, 0 , 0 , 10 ,zi_0);
   CopyBuffer (zz, 1 , 0 , 10 ,zi_1);
   CopyBuffer (zz, 2 , 0 , 10 ,zi_2);
   
  
   for ( int i = 0 ; i < 10 ; i++)
     {
       Print (i, "  " ,zi_0[i]);
     }
   
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {

   
  }
//+------------------------------------------------------------------+


 
Nikita Chernyshov :

Göstergenin ne tür bir saçmalık verdiğini anlayamıyorum. Hangi sonraki 10 mumun zikzak tepe noktaları olduğunu kontrol etmek istiyorum, aynı mumlarda sadece yüksekleri ve sadece düşükleri vurgulamak istiyorum. Tampon 0'ın tüm yerel zirvelere sahip olduğunu, arabellek 1'in yüksek olduğunu ve arabellek 2'nin düşük olduğunu biliyorum.

Burada sorun ne? Anlaşılmaz bir şey üretir. Çizelgedeki gösterge ayarları ile kontrol edilen çağrı için iletilen ayarlar aynıdır. İşi kontrol etmek için yalnızca ana arabellek sıfırını yazdırırım.


"0" arabelleğinde, tepe noktaları = tepe değerleri veya "0". "0" - bunlar maça olmayan çubuklardır.

 

Tünaydın.

Böyle bir planın sorusu. Test cihazında çalışırken, EA pozisyonlarla ilgili ihtiyacım olan bilgileri bir dosyaya yükler. Dosya bir klasöre kaydedilir
"<Terminal_klasörü>\Test\<test_agent_name>\MQL5\Files\........".

Daha sonra aynı veri dosyasını sadece grafikte kullanmak istiyorum (test cihazında DEĞİL). Terminal, bir klasördeki dosyalarla çalışmanıza izin verir

"<Terminal_klasörü>\MQL5\Files\....."

" <Terminal_folder> \Tester\<testing_agent_name>\MQL5\Files\ " yolu boyunca EA tarafından yüklenen dosyaları "<Terminal_folder>\MQL5\Files\" klasörüne aktarmak için MQL5 kodunu kullanmak mümkün müdür ? Yoksa bu alanlar testçi ile normal çalışma arasında kesin olarak ayrılmış mı?

Ne kadar uğraşırsam uğraşayım, doğrudan test cihazından "<Terminal_folder>\MQL5\Files\" a yazamıyorum veya FileMove yöntemini kullanarak oraya aktaramıyorum .

 
satorifx :

Tünaydın.

Böyle bir planın sorusu. Test cihazında çalışırken, EA pozisyonlarla ilgili ihtiyacım olan bilgileri bir dosyaya yükler. Dosya bir klasöre kaydedilir
"<Terminal_klasörü>\Tester\<test_agent_name>\MQL5\Files\........".

Daha sonra aynı veri dosyasını sadece grafikte kullanmak istiyorum (test cihazında DEĞİL). Terminal, bir klasördeki dosyalarla çalışmanıza izin verir

"<Terminal_klasörü>\MQL5\Files\....."

" <Terminal_folder> \Tester\<testing_agent_name>\MQL5\Files\ " yolu boyunca EA tarafından yüklenen dosyaları "<Terminal_folder>\MQL5\Files\" klasörüne aktarmak için MQL5 kodunu kullanmak mümkün müdür ? Yoksa bu alanlar testçi ile normal çalışma arasında kesin olarak ayrılmış mı?

Ne kadar uğraşırsam uğraşayım, doğrudan test cihazından "<Terminal_folder>\MQL5\Files\" a yazamıyorum veya FileMove yöntemini kullanarak oraya aktaramıyorum .

Tüm terminaller için Ortak klasöre yazın ( FILE_COMMON bayrağı)