MQL4 hakkında sorular - sayfa 8

 
Barın kapanmasından beş dakika önce tüm emirleri yok etmeni istedin, bu yüzden her şeyi kaldıracak. Sadece ona doğru zamanı ver. Ve gereksiz siparişleri kapatmak için diğer kod parçalarını kullanın. Yoksa tüm programın sizin için yazılmasını mı istiyorsunuz?

Ben sadece ilk kısımla ilgileniyordum... Tetiklenmiş bir siparişten sonra ikinci kısım nasıl silinir?
Silme işlemim tetiklenmeden önce gerçekleşiyor, ancak silme algoritması AÇIK siparişleri kontrol etmeye bağlı
Örneğin, bekleyen iki emir belirlendi. Biri çalıştı, yani
OrderType()==OP_SELL veya OrderType()==OP_SELL
İlgili satır günlükte görüntülenir
Ve test sonuçlarında
silme, satın almadan veya satmadan önce gelir
ve bu nedenle siparişlerin numaralandırılması kaybolur

Ve günün sonunda kapanış hakkında, Curtime () kullanmadan mümkün olup olmadığını sordum çünkü. güncelleme, gelen kenelere bağlıdır ve eğer yoksa, ihtiyacım olan zamanda kapanma olmayacak
Şimdi bunun imkansız olduğunu anlıyorum çünkü danışman keneler olmadan çalışmıyor
 
Senaryoyu kapat ve kenelerin varlığını umursamayacak.
 
İkincisini şu şekilde kaldırabilirsiniz:
 for(cnt=0;cnt<SiparişlerToplam();cnt++)
    {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL && // açık pozisyonu kontrol edin 
         OrderSymbol()==Symbol()) // sembolü kontrol edin
        {
         for(i=0;i<SiparişToplam();i++)
         {
          OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
          if(OrderType()>OP_SELL && // açık pozisyonu kontrol edin 
             OrderSymbol()==Symbol()) // sembolü kontrol edin
            {
            OrderDelete(OrderTicket());
            }
         }
        }
     }


Peki ya zaman?... Buna gerçekten bu şekilde ihtiyacın var mı? 2 dakika içinde sorun, şu anda genellikle tam bir sakinlik olmaz.

 
Roger için
Şimdi teşekkürler ... biraz iyileştirme ile olması gerektiği gibi çıktı, yine de neden benim için işe yaramadığını anlamıyorum (her şey hayır noktasına kadar şeffaf)
Sakinlik pahasına ... Meselenin gerçeği şu ki, iki değil beş veya daha fazla dakika (çarmıha göre)

Roş için
Senaryo varsa paylaşmayın tabii ki?
 
int Koordinat[8];
Koordinat[8]=1;


Derleyici hata vermiyor. Böyle mi olmalı?

 
evet böyle olmalı.
GetLastError yürütüldüğünde bir hata verecektir. derleyici ifade değerlerini kontrol etmez (sabit 8 ifadenin özel bir halidir)
 
Slava ,
çok teşekkür ederim artık dizilerin boyutlarını daha dikkatli izleyeceğim..)

Başka bir basit soru.
Parti büyüklüğü ücretsiz fon miktarını açıkça aşarsa, "elden" açarken ..
- sunucuda ilk kontrol yapıldı mı?
- Değilse, sipariş açma paneli neden birkaç saniye askıda kalıyor?
- eğer öyleyse, bu kontrolü önce terminalde yapmak doğru mudur?
 
Roger için
Şimdi teşekkürler ... biraz iyileştirme ile olması gerektiği gibi çıktı, yine de neden benim için işe yaramadığını anlamıyorum (her şey hayır noktasına kadar şeffaf)
Sakinlik pahasına ... Meselenin gerçeği şu ki, iki değil beş veya daha fazla dakika (çarmıha göre)

Roş için
Senaryo varsa paylaşmayın tabii ki?


Şimdi fark ettim ya da unutmuşumdur. Hangi komut dosyası - kenelerden bağımsız olarak çalışır?
Eğer öyleyse, şöyle bir şey yazıyoruz:

 süre (doğru)
   {
   startFromExpert();
   Uyku(umut gerekli);
   }



EA'nın start() işlevini yeniden adlandırarak startFromExpert() işlevini elde ederiz, hepsini kopyalayıp komut dosyamıza koyarız, peki, tüm parametreleri EA'dan da koymayı unutmayın.
Seçeneklerden biri gibi.

 
MQL 3'ün bir işlevi vardı:
TotalProfit - tüm açık pozisyonlar için gerçekleşmemiş toplam kar.
MQL 4'te nasıl uygulanacağını bulamıyorum, lütfen bana nasıl yapacağımı söyleyin.
 
Yakında ben de tartışmaya başlayacağım. vlom'u okumaya yardım et?
çift HesapKar( )


Cari hesap için kar değerini döndürür.

Misal

Print("Kar", HesapProfit());