MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1240

 

Tünaydın.

Benim garip bir problemim var.

Terminal MT4. Her grafikte yaklaşık 15 gösterge vardır (standart ve özel olanlar). Bazı durumlarda, göstergeler listesinden bir göstergeyi silerseniz (Ctrl + i), terminal sıkıca kapanır. Aynı zamanda arabellek üzerinden göstergenin çizdiği çizgi veya ok üzerine sağ tıklayarak ve "Sil göstergesi" menü maddesini seçerek aynı göstergeyi silmeye çalışırsanız, gösterge anında ve sorunsuz bir şekilde silinir. Hepsinden önemlisi, sorunun dalgalanıyor olması beni sinirlendiriyor: ya bir gösterge kaldırıldığında donuyor, sonra diğeri .... sonra aynı gösterge terminali kapatıyor, sonra açmıyor.

Açıklanan 2 soru ile bağlantılı olarak:

1) Gösterge listesinden bir gösterge silinirken terminalin donmasının nedeni ne olabilir?

2) Yukarıda anlattığım göstergeleri kaldırmanın iki yolu arasındaki fark nedir?

 
satorifx :

Benim garip bir problemim var

Önce yedi göstergeyi birlikte sürmeye çalışın, eğer sorun yoksa, kalan 8'i ayrı ayrı. Sorun varsa, tekrar ikiye bölün. Yani bir veya iki suçlu var. Ve hiçbir şey çıkmazsa, 15'ten birer birer çıkarın. Kara kutu ile çalışırken dürtme yöntemi, beceri ve sabırla sonuçlar verir.
 
MT5 olay işleyicisi, CHARTEVENT_CUSTOM OnChartEvent(), birden çok iş parçacığıyla çalıştığını bilir.

OnChartEvent() işleyicisi içinde iş parçacığı güvenli mantığı oluşturmak mümkün müdür?

İş parçacığı güvenli MQL5 kodu yazabilir misiniz?
 
Lütfen bana söyle! Expert Advisor'da iCustom aracılığıyla özel bir gösterge çağırırsam, bu göstergenin giriş parametrelerini Expert Advisor'da nasıl görüntüleyebilirim? Göstergenin kaynağı mevcuttur. Hiç zor mu?
 
Sayberix :
Lütfen bana söyle! Expert Advisor'da iCustom aracılığıyla özel bir gösterge çağırırsam, bu göstergenin giriş parametrelerini Expert Advisor'da nasıl görüntüleyebilirim? Göstergenin kaynağı mevcuttur. Hiç zor mu?

Göstergedeki gibi özellikleri listeleme sırasına göre yazın

çift iCustom (
    sicim         sembol , // sembol adı
    int    zaman çerçevesi , // zaman çerçevesi
    sicim         isim , // klasör/özel gösterge_adı
...                              // gösterge giriş parametrelerinin listesi
int            kip , // veri kaynağı
int            vardiya               // vardiya
);


Göstergede "Giriş parametreleri"ni açın ve bunları gerekli değerlerle birer birer kopyalayın

Değişkenin türüne baktığınızdan emin olun ve eğer bir dize ise, onu tırnak içine alırız, hiçbir şeyi atlayamazsınız:

 double val= iCustom ( NULL , 0 , "SampleInd" , "",240,3,"",clrNONE,clrNONE , 1 , 0 );
 
İyi günler, neden bu tür eserler ortaya çıkıyor? Acil kapatma kodu ilk kavşakta kapanıyor gibi mi görünüyor? Kapanışta herhangi bir hata olmadı.
 if ( MathAbs (Ima-Ima2) <= c && OrdersTotal () != 0 )
        {
         OrderSelect (ticket, SELECT_BY_TICKET);
         int a = OrderType();
         RefreshRates();
         if (a == 0 )
           {
            OrderClose(ticket, lots, Bid, 20 , clrBlack );
           }
         if (a == 1 )
           {
            OrderClose(ticket, lots, Ask, 20 , clrBlack );
           }
         ticket = 0 ;
}
Dosyalar:
test.png  22 kb
 
RefreshRates burada çalışacak mı?

işlevde OrderSend cena'mız var, ancak cena döngüden önce ayarlandı.


double cena=Ask;

for ( int i= 0 ; i<= 10 ; i++)
   {
   RefreshRates();
   int t= OrderSend (OrderSymbol(),OP_BUY, 0.1 ,cena, 10 , 0 , 0 ); 
   if (t!=- 1 ) break ;
   }
 
igrok333 :
RefreshRates burada çalışacak mı?

işlevde OrderSend cena'mız var, ancak cena döngüden önce ayarlandı.


olmayacak

 
Igor Makanu :

olmayacak

fiyatı daha önce soru hala eskiyken aldı,
ve sonra sadece yenileme hızları soruyu değiştirdi, değil mi?
 
Tahmin et. cena değişkeni RefreshRates'ten bağımsızdır.