Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 476

 
Sergei Vladimirov :
Bu arada, sürümünüzde true döndürüyorsa ve her zaman bir işlevi neden int olarak ilan ediyorsunuz? )
Geçersiz olarak düzeltildi, döngü tersine çevrildi, diğer insanların emirlerine dokunmaz, teşekkürler!
 
Lütfen bana göstergenin OnCalculate'inin her tik olarak değil, sadece yeni bir çubukla nasıl çağrılacağını söyler misiniz?
 
Hexen :
Lütfen bana göstergenin OnCalculate'inin her tik olarak değil, sadece yeni bir çubukla nasıl çağrılacağını söyler misiniz?
Bu fonksiyon her tikte çağrılacaktır, ancak fonksiyonun içinde yeni bir çubuğu kontrol edebilirsiniz.
 
Victor Nikolaev :
Bu fonksiyon her tikte çağrılacaktır, ancak fonksiyonun içinde yeni bir çubuğu kontrol edebilirsiniz.

Teşekkürler, az çok anladım. prev_calculated ve Rate_total'ı karşılaştırarak, yeni çubukların görünümünü görebilirsiniz. Ve Expert Advisor'da yeni bir çubukla daha zordur - zamanı kontrol etmek vb.

 

Bunları karşılaştırmaya gerek yoktur, bu çok güvenilir bir yol değildir: prev_hesaplanan değişken belirli koşullar altında sıfırlanabilir. Mevcut çubuğun saatini hatırlayın ve bir sonraki aramada değişimini kontrol edin:

 // в самом начале функции OnCalculate()
bool bNewBar = false ;

static datetime dtLastBarTime = time[rates_total- 1 ];

if (time[rates_total- 1 ] > dtLastBarTime)
{
   bNewBar = true ;
   dtLastBarTime = time[rates_total- 1 ];
}

not. Bu MT5 için bir örnektir. 4'te (ve time[] dizisi bir zaman serisi olarak yapılmışsa 5'te), time[rates_total-1]'i time[0] ile değiştirin.

 
Merhaba,

makaleyi okuduktan sonra basit bir Uzman Danışman oluşturmaya karar verdi: "Adım adım yazma kılavuzu
Yeni Başlayanlar için MQL5 Uzman Danışmanları".(https://www.mql5.com/en/articles/100)

Expert Advisor'ı tarih konusunda test ettikten sonra, nasıl geliştirilebileceğini düşündüm.
Optimizasyon dışında akla gelen ilk şey,
takip eden bir durdurma kaybı uygulayın. Bu konuyla ilgili güzel bir makale var:
" Kendi İzleyen Durağınızı Nasıl Yaratabilirsiniz - MQL5 Makaleleri".
(https://www.mql5.com/ru/articles/134) . Ancak, vardı
sorun, makaleye ekli danışman çalışmıyor ... yani
(my_first_ea_sartrailing.ex5) derler ancak ticaret yapmaz
dergide yazıyor:
2015.11.28 22:54:38.973 2015.02.04 17:00:00 Uyarı: Satış emri verme isteği başarısız oldu - hata kodu: 4756
2015.11.28 22:54:38.973 2015.02.04 17:00:00 başarısız anında satış 0.14051 sl'de 0.10 EURUSD: 1.17051 tp: 1.04051 [Geçersiz istek]
Anlamama yardım et.
 
Sergei Vladimirov :

not. Bu, MT5 için bir örnektir.

Teşekkür ederim!
 

Merhaba.

Lütfen bana danışman tarafından verilen tüm mevcut siparişleri silmenin en hızlı ve doğru yolunun ne olduğunu söyleyin? Sıra numaralarıyla bir dizi oluşturmak ve her birini silmek gerçekten mümkün mü? Aktif siparişlerin bir listesini almak da imkansız mı?

 
Антон :

Merhaba.

Lütfen bana danışman tarafından verilen tüm mevcut siparişleri silmenin en hızlı ve doğru yolunun ne olduğunu söyleyin? Sıra numaralarıyla bir dizi oluşturmak ve her birini silmek gerçekten mümkün mü? Aktif siparişlerin bir listesini almak da imkansız mı?

Diziye gerek yok. Hangi terminal?

 
Sergei Vladimirov :

Diziye gerek yok. Hangi terminal?

MT5

Evet Expert Advisor'da bunun uygulanması gerektiğini söylemeliydim.

mql4 için bir komut dosyası buldunuz - 5 ile ilgili değil mi? Birkaç gün önce, bir yerde "orderscancelbymagicnumber" gibi bir işleve sahip bir satır gördüm, ancak belgelerde hiçbir şey bulamıyorum ... Kafam karıştı.