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

 
C-4 :

Bir kez daha (dikkatlice okuyun):

MetaTrader4'te emirleri yalnızca sırayla kapatabilirsiniz: bir emri kapatmak için bir emir gönderin, yürütülmesini bekleyin, bir sonraki emre geçin, vb. Bu nedenle, MetaTrader4'te bir grup siparişi kapatma süresi önemlidir ve önemsiz bir şekilde azaltılamaz. Ancak, her biri kendi grafiğinize birkaç Uzman Danışman yükleyebilir ve birbirleriyle bilgi alışverişinde bulunmalarını ve ortak bir komutla siparişleri kapatmalarını sağlayabilirsiniz. Her Uzman Danışman, siparişleri yalnızca kendi enstrümanında kapatır. MetaTrader4'te birkaç işlem akışı olması nedeniyle, birbirlerini engellemezler ve birbirine paralel emirler gönderirler, bu nedenle genel hız önemli ölçüde artar. Ancak, böyle bir uzman havuzunun organizasyonu zordur ve bilgi seviyenize bakılırsa size böyle bir şey tavsiye etmem.

Hala çok fazla saçmaladığımı düşünüyorsanız, işte kısa bir özet:

1. Sorunuzun cevabı olumsuz, senaryoyu bir uzmandan çalıştıramazsınız.

2. MetaTrader4'te işlem emirlerinin yürütme hızını karmaşık yöntemlere başvurmadan artırmak mümkün değildir.

3. Sorunuza normal bir çözüm ancak MetaTrader4'te bulunmayan OrderSendAsync işlevi yardımıyla mümkündür.

Ayrıntılı cevap için çok teşekkürler! Sakıncası yoksa, bu fikir hakkındaki düşüncelerinizi paylaşın:

Tüm siparişleri toplam kâra göre kapatan Expert Advisor'a sipariş sıralama için 2 parametre ekleyin:
(1 parametre - 1-sihire göre azalan düzende veya 2-artan düzende ve 2- 0-sat ve al, 1-sat emri, 2-al emri)
1 hesap ve bir çiftin 1 ortak tablosu ile 4 terminal açın, böylece keneler eşleşsin ve 1-1, 1-2, 2-1, 2-2 gibi farklı parametreler ayarlayın.
bu şekilde 4 akışın dökümünü alırsınız: minimum büyü satışı, minimum sihirli satın alma, maksimum büyü satışı, maksimum büyü satın alma

Yoksa yine aptal mıyım? Ve evet, bilgi seviyem konusunda haklısın!

 
Novikov :

Ayrıntılı cevap için çok teşekkürler! Sakıncası yoksa, bu fikir hakkındaki düşüncelerinizi paylaşın:

Tüm siparişleri toplam kâra göre kapatan Expert Advisor'a sipariş sıralama için 2 parametre ekleyin:
(1 parametre - 1-sihire göre azalan düzende veya 2-artan düzende ve 2- 0-sat ve al, 1-sat emri, 2-al emri)
1 hesap ve bir çiftin 1 ortak tablosu ile 4 terminal açın, böylece keneler eşleşsin ve 1-1, 1-2, 2-1, 2-2 gibi farklı parametreler ayarlayın.
bu şekilde 4 akışın dökümünü alırsınız: minimum büyü satışı, minimum sihirli satın alma, maksimum büyü satışı, maksimum büyü satın alma

Yoksa yine aptal mıyım? Ve evet, bilgi seviyem konusunda haklısın!

Evet, yapılabilir. Ancak birkaç terminal çalıştırmaya gerek yoktur. Bir terminal çalıştırın ve 4 penceresi var. Her pencereye aynı robotu asın. Bu robotun parametrelerinden biri olarak sayıları kullanın: 1-4. Onlar. ilk pencereye 1, ikinci pencereye iki parametreye sahip bir robot asın, vb. Emirleri kapatma zamanı geldiğinde robotların her biri seçilen emrin büyüsü ile parametrenin büyüsünü karşılaştıracak ve kapatacaktır. Diğer uzmanlar tarafından kapatılması için diğer büyülerle emirler sağlanacaktır.
 
C-4 :
Evet, yapılabilir. Ancak birkaç terminal çalıştırmaya gerek yoktur. Bir terminal çalıştırın ve 4 penceresi var. Her pencereye aynı robotu asın . Bu robotun parametrelerinden biri olarak sayıları kullanın: 1-4. Onlar. ilk pencereye 1, ikinci pencereye iki parametreye sahip bir robot asın, vb. Emirleri kapatma zamanı geldiğinde robotların her biri seçilen emrin büyüsü ile parametrenin büyüsünü karşılaştıracak ve kapatacaktır. Diğer uzmanlar tarafından kapatılması için diğer büyülerle emirler sağlanacaktır.

Mt5 forumunda, önerdiğiniz gibi başlangıçta 4 pencereyi düşündüğüm için bir programcı bana şöyle cevap verdi: “Yalnızca bir terminal var. sunucuya erişmek için terminalde, terminalde çalışan tüm danışmanlar ve komut dosyaları tarafından kullanılan, bir istek boyutunda yalnızca bir küçük "delik" vardır. Ve bir istek işlenene kadar başka hiç kimse sunucuya erişemez.

Peki, nasıl daha iyi ve daha doğru olurdu - 1 terminalde 4 grafik mi yoksa hala 4 terminalde mi?

 
Novikov :

Mt5 forumunda, önerdiğiniz gibi başlangıçta 4 pencereyi düşündüğüm için bir programcı bana şöyle cevap verdi: “Yalnızca bir terminal var. sunucuya erişmek için terminalde, terminalde çalışan tüm danışmanlar ve komut dosyaları tarafından kullanılan, bir istek boyutunda yalnızca bir küçük "delik" vardır. Ve bir istek işlenene kadar başka hiç kimse sunucuya erişemez.

Peki, nasıl daha iyi ve daha doğru olurdu - 1 terminalde 4 grafik mi yoksa hala 4 terminalde mi?

Bu "programcının" cevabını kendiniz düşünün. Durum böyle olsaydı, bir terminalde birden fazla Uzman Danışman ile ticaret yapmak imkansız olurdu. Sürekli bağlam meşgul olur, yani. birbirini bloke ederdi. Daha önce, MT4'ün shaggy versiyonlarında gerçekten böyle bir hata vardı ve bununla karşılaşabilirsiniz, ancak şimdi, bildiğim kadarıyla kaldırıldı bile, çünkü artık alakasız hale geldi. MT4'te emir yürütmenin çoklu iş parçacığı önemli ölçüde genişletildi ve uzun süredir kullanılmaktadır.

Her durumda, bazı uzmanları başka bir terminale aktarmak zor olmayacaksa, tavsiye ettiğim gibi yazın.

 
Novikov :

Mt5 forumunda, önerdiğiniz gibi başlangıçta 4 pencereyi düşündüğüm için bir programcı bana şöyle cevap verdi: “Yalnızca bir terminal var. sunucuya erişmek için terminalde, terminalde çalışan tüm danışmanlar ve komut dosyaları tarafından kullanılan, bir istek boyutunda yalnızca bir küçük "delik" vardır. Ve bir istek işlenene kadar başka hiç kimse sunucuya erişemez.

Peki, nasıl daha iyi ve daha doğru olurdu - 1 terminalde 4 grafik mi yoksa hala 4 terminalde mi?

Böyle "programcıları" nerede buluyorsunuz?
 

Sevgili, başka bir soru: OrderCloseBy işlevi çok sayıda siparişin kapatılmasını hızlandırmaya yardımcı olur mu?

Örneğin: belirli bir kâra ulaşıldığında, alış ve satış emirlerinin lot büyüklüğünü eşitlemek için bir çift(ler)de 1 emir daha açın ve ardından "kapanmış emirleri kapatmaya" başlayın.

Alıntılar 5 hanelidir.

 

Beyler bana bu konuyu anlatın, belki de örgütsel niteliktedir. Gösterge kodunu gösteremiyorum. Doğru yazılmış, her şey daha önce test edildi.

Sorunun başlangıcı buradan: https://www.mql5.com/en/forum/6343/page323

Terminali MQ sitesinden kurdum - varsayılan olarak Alps demo sunucusu orada teklif edildi. Sonuç olarak, Eurobucks'ta teste başlarken:

Anladığım kadarıyla pound-dolardan gelen veri beklentisi bu. Hiçbir yerde takas açılmaz.

Ayrıca, bir pound ile başlarken şunu yazar:

USDJPY için bekleyen veriler.

 

Ve sadece USDJPY'ye başladığınızda - veri beklemek yok - ama aynı zamanda fırsatlar hala açılmadı.

Kodda işlem açmak için açıkça bir çift belirtmedim, yani. örneğin

hepsi herhangi bir _Symbol için. Ve burada mesele açılış emirleri meselesi değil... Sebebi ne olabilir? Sayesinde.

 for ( int i= 0 ;i< 10 ;i++)
     {
      volume= NormalizeDouble (volume, 1 );
       if (volume<= 0 ) break ;
       if (Type== POSITION_TYPE_SELL )
        {
         request.type= ORDER_TYPE_SELL ;
         request.price= SymbolInfoDouble ( _Symbol , SYMBOL_BID );
         if (TP!= 0 ) takeprofit = request.price-TP* _Point ;
         if (SL!= 0 ) stoploss = request.price+SL* _Point ;
        }
       if (Type== POSITION_TYPE_BUY )
        {
         request.type= ORDER_TYPE_BUY ;
         request.price= SymbolInfoDouble ( _Symbol , SYMBOL_ASK );
         if (TP!= 0 ) takeprofit = request.price+TP* _Point ;
         if (SL!= 0 ) stoploss = request.price-SL* _Point ;
        }
      request.action = TRADE_ACTION_DEAL ;
      request.symbol = _Symbol ;
      request.volume = MathMin (volume, SymbolInfoDouble ( _Symbol , SYMBOL_VOLUME_MAX ));
      request.sl = stoploss;
      request.tp = takeprofit;
      request.deviation= SymbolInfoInteger ( _Symbol , SYMBOL_SPREAD );
      request.type_filling= ORDER_FILLING_FOK ;
      request.comment= " " ; //DoubleToString(Money,2)+"$";
       if (! OrderCheck (request,check))
        {
         if (check.margin_level< 100 ) volume-= SymbolInfoDouble ( _Symbol , SYMBOL_VOLUME_STEP );
 

Ayrıca, her şey doğru yazılmış, ele alınmış ve diğer her şey belirtilmiş, gösterge her enstrümana ağırlık veriyor, sonuç olarak bir küme analizi gibi çıkıyor. Test cihazı çalışmak istemiyor. Nedeni ne olabilir? Sayesinde.

Üstelik ajanlar düzgün çalışıyor, her şey şarj edilmiş ve başlamaya hazır...


 
R0MAN :

Ayrıca, her şey doğru yazılmış, ele alınmış ve diğer her şey belirtilmiş, gösterge her enstrümana ağırlık veriyor, sonuç olarak bir küme analizi gibi çıkıyor. Test cihazı çalışmak istemiyor. Nedeni ne olabilir? Sayesinde.

Üstelik ajanlar düzgün çalışıyor, her şey şarj edilmiş ve başlamaya hazır...


Servis masasına yazın . Ancak, kodu vermek zorunda kalacaklar.