[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 306

 
borilunad :
Tabii ki, piyasanın kendisi onları sizin için çarpıtmıyorsa, t.s. geribildirim ile programlanmış

Bir yandan, istatistik koleksiyonunu ekledim ve diğer yandan, istatistiklerde maksimumu bulmak için iletilen parametrelerle tarama (örneğin, farenin periyoduna göre tarama) ve yeniden tarama periyodik olarak başlatıldı. atanan kısayol tuşu ile. Başka hangi yollar var?

Bu arada, mizahtan

 #property indicator_chart_window
void start(){
   if (Bid>Ask) Alert ( "Это конец света" );
   return ;
}

- dünyanın sonunun göstergesi.

 

Merhaba!

Açılışta bir piyasa emri açmayı içeren bir stratejinin test edilmesi

her beş dakikada bir mum.

Test cihazı (Alpari'den MT-4) bazı siparişleri açmıyor ve 148 hatası veriyor.

Bu hata, aynı anda açık emirlerin limitinin aşılmasıyla ilgilidir.

Gerçek hayatta, her beş dakikalık toplantıda açılmayacağım.

SORU. Aynı anda açık siparişlerin herhangi bir sınırını nasıl kaldırabilirim?

bir test cihazında mı?

Teşekkür ederim.

 

gyfto, sen yanlış anladın ya da ben kötü açıkladım. Açık bir pozisyon var, açılış fiyatının belirlenmesi gerekiyor ve bar açılış fiyatının üzerinde kapandığında çıkıyoruz.

 
borilunad :
Victor, peki, hariciler olmadan, test cihazında, demoda hata ayıklamanız gerekiyor! Hiçbir şeyi düzenlemenize gerek kalmayacak şekilde mi yazıyorsunuz? Aracınızın stabiliteye ihtiyacı olduğu konusunda hemfikirim, ancak elbette pazarın kendisi sizin için ince ayar yapmadıkça, parametreleri değiştirmemek imkansız, t.s. geribildirim ile programlanmıştır! O zaman zaten harika bir assın! Tebrikler!


Sadece yazdığım her şeyin neredeyse hiç optimizasyon parametresi olmadığından değil. Fiyat hareketine dayalı stratejileri tercih ederim, hindileri sadece onlarla çalışabilmek için sessizce incelerim. AMA beni sadece olup bitenlerin görselliği için ilgilendiriyorlar.

Ve parametreleri optimize etmek pazar için uygundur. Ve belirli bir süreye ayarlayın, her derde deva mı ???

 
cursed :

gyfto, sen yanlış anladın ya da ben kötü açıkladım. Açık bir pozisyon var, açılış fiyatını belirlemek gerekiyor ve bar açılış fiyatının üzerinde kapandığında çıkıyoruz.


Yukarıdakilere bakılırsa, durumunuz ihtiyacınız olan yerde değil. Başlangıçta, bir sipariş araması düzenlemeniz ve ardından sipariş bulunduğunda parametresini bir şeyle karşılaştırmanız gerekir.

Aksi halde arama dışında barın kapanış fiyatı ile karşılaştırma yapılır, yani sonuç yoktur.

 
hoz :

... Ve parametreleri optimize etmek için bu, pazara yönelik bir düzenlemedir. Ve belirli bir süreye ayarlayın, her derde deva mı ???

Evet, bu zaman aralığı RealTime ise. :)
 
Zhunko :

Viktor, işlevinde çok sayıda değişken var ve hiçbiri bildirilmedi.

Derleyici dedi ki:

değişken tanımlanmadı

Değişken bildirilmedi. Bunlardan 18 tane var.


Vadim , görüyorum ki duyurulmamışlar. Bunun hakkında bir süre düşündüm. Yukarıdan, tıpkı benimki gibi global olarak bildirilen tek bir değişkeniniz yok. Ancak derleme sırasında HİÇBİR hata yok! Dahil etme içindeki fonksiyon parametreleri aracılığıyla tanımlanan tüm değişkenlere sahip olduğunuzu anlıyorum, değil mi?

 
tara :
Evet, bu zaman aralığı RealTime ise. :)


Bu artık bir uyum değil, bir tür otomatik sığdırma :)
 
hoz :


Vadim , görüyorum ki duyurulmamışlar. Bunun hakkında bir süre düşündüm. Yukarıdan, tıpkı benimki gibi global olarak bildirilen tek bir değişkeniniz yok. Ancak derleme sırasında HİÇBİR hata yok! Dahil etme içindeki fonksiyon parametreleri aracılığıyla tanımlanan tüm değişkenlere sahip olduğunuzu anlıyorum, değil mi?

Herhangi bir değişken kullanılmadan önce bildirilmelidir. Parametrelerde mümkündür, kütüphanenin global seviyesinde mümkündür.
 

İşlevin tasarımına bakılırsa, son derece uzmanlaşmıştır. Neden kütüphaneye götürüyorsun? Ayrıca, büyük olasılıkla her çubukta bir döngü içinde çağrılacaktır.

Hız ve optimizasyon hakkında bir şeyler söylediniz. Çok yavaş kod oluşturuyorsunuz. MQL4'te fonksiyonları bir döngüye yerleştirmeye gerek yoktur. Bir döngüde ne kadar az işlev çağrısı olursa, kod o kadar hızlı çalışır.

İşte kütüphanedeki fonksiyon:

 //+-------------------------------------------------------------------------------------+
//| Получаем машку с заданными параметрами                                              |
//+-------------------------------------------------------------------------------------+
double GetMA( int typeOfMA)
{
   switch (typeOfMA)
   {
       case 1 :       return ( iMA ( NULL , i_fastMATF, i_fastMAPeriod, i_fastMAShift, i_fastMAMethod, i_fastMAApplied, i_fastMAIndex));
       case 2 :       return ( iMA ( NULL , i_slowMATF, i_slowMAPeriod, i_slowMAShift, i_slowMAMethod, i_slowMAApplied, i_slowMAIndex));
       case 3 :       return ( iMA ( NULL , i_filtrMATF, i_filtrMAPeriod, i_filtrMAShift, i_filtrMAMethod, i_filtrMAApplied, i_filtrMAIndex));
   }
}

Vadim , döngüdeki fonksiyonlar hakkında, switch operatörünün ne döndürdüğünü mü kastediyorsunuz? Ancak tüm döngü değişkenleri için değerler alamıyorum. Yalnızca elde edilen mash tipini (fonksiyonun giriş değişkeni) karşılaştırır ve ardından mash değerini hesaplar. Ek hesaplama olmadığı ortaya çıktı. Mevcut makine tipi seçimi ve hepsi bu! Ne demek istediğini anlamak istiyorum:

Zhunko :

MQL4'te fonksiyonları bir döngüye yerleştirmeye gerek yoktur. Bir döngüde ne kadar az işlev çağrısı olursa, kod o kadar hızlı çalışır.

Açıklayabilir misin?