Hatalar, hatalar, sorular - sayfa 1864

 

SD'ye yanıt gönderemiyorum. Bir dakika düşünür ve verir

 
fxsaber :

SD'ye yanıt gönderemiyorum. Bir dakika düşünür ve verir

Bu yeni bir tür banyo)))
 
stringo :

Evet, zamana göre sıralanmış. Başlangıç girişi ikili arama ile aranır.

Yavaş ikili arama elde edildi
 #include <MT4Orders.mqh>

// Metaquotes-Demo, Netting, RTS-6.17, 2017.04.06 - 2017.04.07, на основе реальных тиков, начальный баланс 10000000 RUR
void OnTick ()
{  
   static bool Error = false ;  
   static int Type = OP_BUY ;
  
   if (Error)
     return ;
  
   MqlTick Tick;    

   if ( OrderSelect ( 0 , SELECT_BY_POS ) && ( OrderType () <= OP_SELL ))
  {
     const datetime PosTime = ( datetime ):: PositionGetInteger ( POSITION_TIME );      
     HistorySelect (PosTime, PosTime);

     OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 0 );   
  }
   else if (( OrdersTotal () == 0 ) && SymbolInfoTick ( _Symbol , Tick) && (Tick.bid != 0 ) && (Tick.ask != 0 ))
  {
    Error = ( OrderSend ( _Symbol , Type + OP_BUYLIMIT , 1 , (Type == OP_BUY ) ? Tick.ask : Tick.bid, 0 , 0 , 0 , "" , 0 , 0 , INT_MAX ) == - 1 );        
    
     if (!Error)
    {
       OrderSend ( _Symbol , Type + OP_BUYLIMIT , 1 , (Type == OP_BUY ) ? Tick.ask : Tick.bid, 0 , 0 , 0 );
      
      Type = OP_SELL - Type;
    }    
  }
}

Pembe çizgiler olmadan hızlı çalışır. Onlarla - çok yavaş (birkaç büyüklük derecesinde). Her HistorySelect(PosTime, PosTime) geçmişten en fazla birkaç düzine kayıt seçer. Peki o zaman tüm bilgi işlem kaynakları ne için harcanıyor? Gerçekten sadece her tikte bu düzinelerce kaydı kopyalamak mı?

 

Ve yine aynı Uzman Danışmanın test cihazında ve gerçek zamanlı çalışmasındaki tutarsızlık sorunuyla karşılaştım. İlk başta bunu düşündüm çünkü göstergeler karmaşık. Sonra yerleşik Bantları bağladım. Aynı şey.

İşin şeması basittir.

OnInit - gösterge tutamağını al

OnTick - analiz (göstergelerin arabelleğine kopyalama) ve ticaret

OnDeinit - kolu bırakın.

Kontrol etmek için aşağıdakileri yaptım. Algoritmayı şemaya göre gerçek zamanlı olarak değiştirdi:

OnTick - Gösterge tutamağını, analizi (gösterge arabelleğine kopyalama) ve ticareti alıyorum , tutamacı bırakıyorum.

Ve bir mucize hakkında! Her şey test cihazıyla çakışmaya başladı!

Bu mu? Böcek? Veya başka bir şey.....

 
Alexey Kravchenko :

Bu mu? Böcek? Veya başka bir şey.....


Çoklu para birimi göstergesi?
 
Sergey Dzyublik :

Çoklu para birimi göstergesi?
Standart Bantlar göstergesi . Çoklu Para Birimi Uzman Danışmanı.
 
Belki, karşılaştırılan seçeneklerden birinde, diğer döviz çiftleriyle ilgili veriler güncellenmez.
Ve bundan dolayı farklı sonuçlar elde edilmektedir.
 
Sergey Dzyublik :
Belki, karşılaştırılan seçeneklerden birinde, diğer döviz çiftleriyle ilgili veriler güncellenmez.
Ve bundan dolayı farklı sonuçlar elde edilmektedir.

Yani terminalin kendisi bu güncellemeyi doğru şekilde yapmalı mı?

Çalıştığım tüm enstrümanlar için OnInit'te tutamaçlar alıyorum ve ayrıca gerekli tüm zaman dilimlerini senkronize ediyorum. Yalnızca yeni bir çubuk oluştuğunda işliyorum. Ve danışmanı genel olarak "sol" enstrümanda çalıştırıyorum :-)

Mesele burada değil, tetikleme açısından gerçek zamanlı ile herhangi bir tutarsızlık olmaması gerektiğidir.

Ve her şeyin normal çalışması için, her seferinde gösterge kolunu almanız gerekiyorsa, bu zaten söz konusu değil....

 
Alexey Kravchenko :

Yani terminalin kendisi bu güncellemeyi doğru şekilde yapmalı mı?
Ve her şeyin normal çalışması için, her seferinde gösterge kolunu almanız gerekiyorsa, bu zaten söz konusu değil....


Bu konudaki, özellikle geliştiricilerden gelen cevaplara bakın, belki faydalı olurlar:
https://www.mql5.com/ru/forum/190003

 

Kral! Yazdığım için özür dilerim. Ancak en kısa zamanda dedikleri gibi yardıma ihtiyacınız var.

Bir terminal hatası yaşadım, özel göstergeleri ve danışmanları bağlamayı durdurdu.

böyle giriş yap

2017.04.20 18:18:59.764 Özel Gösterge AD (@Si,H1) yüklemesi başarısız oldu

Bu, ilk yüklemeyi güncelledikten sonra görünen Örnekler klasöründeki özel bir göstergedir.

Özel olan diğer her şey ve göstergeler ve danışmanlar - yüklemeyi durdurdu. Birdenbire! (Bundan önce çalıştılar, test ettiler ve ticaret yaptılar)

Eminim başka biri de benzer bir şey yaşamıştır.

Bir çare var mı?

aynı konuya:

2017.04.20 18:48:00.931 uzmanlar ExpertMACD'nin (@Si,H1) yüklenmesi başarısız oldu

2017.04.20 18:48:42.786 uzmanlar ChartInChart (@Si,H1) yüklemesi başarısız oldu


Duygu) bir yol bulamayan ...

Neyi kaçırıyorum?

Platformu değiştirdi. Yeniden yüklemeden önce AppsData/.../Terminal'deki klasörün üzerine yazılmıştır. Aynı eksene sahip başka bir bilgisayarda (W2008RC2) her şey çalışıyor.

Teşekkürler, yapıyı kontrol ettim.

Cevaplarınızı ve tavsiyelerinizi bekliyorum. Bir şey ne yapmalı.

2017.04.21 10:53:54.329 terminal MetaTrader 5 x64 build 1583 başladı (MetaQuotes Software Corp.)

2017.04.21 10:53:54.329 terminal Windows Server 2008 R2 Enterprise (x64 tabanlı PC), IE 08.00, UAC, Intel Core i5

2017.04.21 10:53:54.329 terminal C:\Kullanıcılar\Yönetici\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

2017.04.21 10:55:07.320 uzmanlar MACD Örneğinin (EURUSD,H1) yüklenmesi başarısız oldu

2017.04.21 10:55:45.669 Özel Gösterge AMA (EURUSD,H1) yüklemesi başarısız oldu