[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 122

 
Fduch писал(а) >>

Bu arada, OrdersTotal () bir int numarası döndürür. Ve int değerleri alabilir:

Onlar. teorik maksimum sipariş sayısı: 2147483647

Objektif cevabınız için teşekkürler!

 

Yardım istiyorum, anlayamıyorum, kitapta bu kodun çalıştığı yazıyor:

//------------------------------------------------ --------------------
// Book_expert_33.mq4
// MQL4 eğitiminde örnek olarak kullanılmak üzere tasarlanmıştır.
//------------------------------------------------ --------------------
int Sayı = 0; // Küresel değişim .
//------------------------------------------------ --------------------
int init() // Özel. işlev başlatma ()
{
Uyarı ("init() işlevi başlangıçta çalıştı"); // İleti
dönüş; // init()'ten çık
}
//------------------------------------------------ --------------------
int start() // Özel. başlat() işlevi
{
çift Fiyat=Teklif; // yerel değişiklik.
Say++; // Onay sayacı
Alert("Yeni tik ",Sayı," Fiyat = ",Fiyat);// Mesaj
dönüş; // başlangıçtan çık()
}
//------------------------------------------------ --------------------
int deinit() // Özel. işlev tanımı()
{
Alert("deinit() işlevi yük boşaltırken çalıştı"); // İleti
dönüş; // deinit()'ten çık
}
//------------------------------------------------ --------------------

, ancak yeni keneler için fiyat yazmıyorum, işlev başlatma ve boşaltma sırasında tetikleniyor.

 
Lütfen programcı olmayan bir kişiye Uyku'yu (1200000) nereye ve nasıl ekleyeceğini söyleyin, böylece siparişi kapattıktan sonra 10 dakikalık bir gecikme olur, bu çok gereklidir.
Dosyalar:
1_1.rar  26 kb
 
v43 писал(а) >>
Lütfen programcı olmayan birine Sleep(1200000) nereye ve nasıl ekleneceğini söyleyin, böylece sipariş kapatıldıktan sonra 10 dakikalık bir gecikme olur, bu çok gereklidir.

Lütfen - kodu SRC butonundan geçirin - bu şekilde okumak imkansız.

Bu kadar geniş bir aralık için, bunu Uyku yoluyla yapmamak daha iyidir, ancak bu süre geçtiğinde böyle bir onay bekleyin - örneğin:

   static datetime DontCloseBefore = 0 ;
   //....
   
   OrderSend ( . . . . ) ;
   DontCloseBefore = TimeCurrent ( ) + 10 * 60 ; //10 minutes
   //....
   
   if ( DontCloseBefore ! = 0 )
   {
       if ( TimeCurrent ( ) > DontCloseBefore ) & & ( some other conditions - like existing order ) )
       {
         DontCloseBefore = 0 ; //important - reset the state engine
         OrderClose ( . . . ) ;
       }
   }
Eğer DontCloseBefore == 0 ise hiçbir şey, eğer bir maliyet varsa, o zaman mevcut saat DontCloseBefore'da yazılandan daha büyük olana kadar beklemeniz gerekir, DontCloseBefore'ı sıfırlayın ve kapatın
 

Belki biri biliyordur - pencerede belirli bir Göstergenin açık olup olmadığını öğrenmenizi sağlayan bir komut var mı, Örneğin MA(20) ?

Teşekkür ederim!

 
chief2000 >> :

Belki biri biliyordur - pencerede belirli bir Göstergenin açık olup olmadığını öğrenmenizi sağlayan bir komut var mı, Örneğin MA(20) ?

Teşekkür ederim!



intWindowFind ( dize adı)
Bulunursa belirtilen ada sahip göstergeyi içeren grafik alt penceresinin numarasını döndürür, aksi takdirde -1 döndürülür.
Özel gösterge init() sırasında kendini bulursa WindowFind() -1 döndürür.
 
 
keekkenen >> :


intWindowFind ( dize adı)
Bulunursa belirtilen ada sahip göstergeyi içeren grafik alt penceresinin numarasını döndürür, aksi takdirde -1 döndürülür.
Özel gösterge init() sırasında kendini bulursa WindowFind() -1 döndürür.

Açıklamanın gerekli olduğunu görüyorum:

Amacım MA'nın çalışıp çalışmadığını kontrol etmek, "evet" ise hangi Dönem ile öğrenmek. Sonuç olarak, MA(20) varsa "20" almam gerekiyor.

Bunu yapmak için WindowFind()'i bir for-loop ile kullanabilirsiniz, ancak bilgisayarınızı boşa harcamak istemezsiniz çünkü

bu kontrol en başta yalnızca bir kez yapılmalıdır (init() içindeki WindowsFind() çalışmıyor mu?).

 

Rica ederim. Birine basit bir danışman yazın:

- açık körfez

- Bu alma=20 ile, kaybı durdur=20 ;

- alma tetiklendiğinde, Bai'yi tamamen aynı parametrelerle tekrar açın (al=20; dur=20).

-kaybı durdur tetiklerse, tam olarak aynı parametrelerle Sat'ı açın (al=20; stop=20). ve benzeri.

Tamamen aynı olabilir, ancak önce Al'ı değil, Sat'ı açıyoruz.

iş için sembolik bir ödeme olarak, 5 UAH için hesabı yenileyebilirim. (Ukraynalı operatörler ise)

 

Neden, ana pencerede MA(20) çalıştırıldığında

 WindowFind("MA(20)")

"-1" döndürür mü?