Mql4 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 32

 
Andrey Khatimlianskii :

500 bar üzerinde bir döngü ve değerlerinin kaydedilenlerle karşılaştırılması birçok kez yapılacaksa ve aynı döngüdeki hash'i hesaplayıp depolananla karşılaştırmaktan daha uzun sürerse, o zaman algı.
Ancak durum pek de öyle değil.

Ön_hesaplanan nadir sıfırlama durumlarının fark edilmesinin neden bu kadar uzun sürdüğünü düşünüyorsunuz?

EA, göstergeye her dakika erişir ve yenilikleri kontrol eder, eğer prev_calculated=0 fark edilirse, tam bir yeniden hesaplama gerçekleşir, hesaplanması uzun sürmeyebilir, ancak yine de. Ve örneğin , USDCNH çiftinin komisyoncumun sıfırlanması çok nadir değildir.
Sıfırlama zamanı (prev_calculated=0):


not Geçmiş/grafik terminalindeki Max çubuğunda 2000/2000 ayarlanırsa ne tür mumların değiştiğiyle bile ilgileniyorum.
 
Nauris Zukas :

not Geçmiş/grafik terminalindeki Max çubuğunda 2000/2000 ayarlanırsa ne tür mumların değiştiğiyle bile ilgileniyorum.

OHLC'yi depolayan 4 gösterge arabelleğine sahip olacak bir gösterge yazın - gösterge ilk kez başlatıldığında doldurun

ve prev_calculated=0 tetiklendiğinde, OHLC ile arabellekler arasındaki tutarsızlığın ortaya çıktığı mum günlüğüne yazın ve ardından gösterge arabelleklerini yenileriyle senkronize edin   OHLC

Not: Prensipte, ilk çalıştırmada arabellek göstergesini doldurmanın bir anlamı yoktur - bu aynı zamanda prev_calculated=0 ile de yapılabilir.

 
Nauris Zukas :

EA, göstergeye her dakika erişir ve yenilikleri kontrol eder, eğer prev_calculated=0 fark edilirse, tam bir yeniden hesaplama gerçekleşir, belki hesaplaması uzun sürmez, ama yine de. Ve örneğin, USDCNH çiftinin aracımın sıfırlanması çok nadir değildir.
Sıfırlama zamanı (prev_calculated=0):


not Geçmiş/grafik terminalindeki Max çubuğunda 2000/2000 ayarlanırsa ne tür mumların değiştiğiyle bile ilgileniyorum.

Bunun bir çubuk değişikliği olması olası değildir. Aksine, hizmet bir şey.

Gerçekten rahatsız etmekte bir anlam görmüyorum.

 
Andrey Khatimlianskii :

Aksine, hizmet bir şey.

Bundan şüphelenmedim. Peki, o zaman rahatsız etmenin bir anlamı yok. " OnCalculate() işlevine yapılan son çağrıdan bu yana fiyat verileri değiştiyse ( daha derin bir geçmiş yüklendiyse veya geçmiş boşlukları doldurulduysa), kılavuzu okudum, o zaman prev_calculated girdi parametresinin değeri olarak ayarlanacaktır. terminalin kendisi tarafından sıfır."

 
Igor Makanu :

OHLC'yi depolayan 4 gösterge arabelleğine sahip olacak bir gösterge yazın - gösterge ilk kez başlatıldığında doldurun

ve prev_calculated=0 tetiklendiğinde, OHLC ile arabellekler arasındaki tutarsızlığın ortaya çıktığı mum günlüğüne yazın ve ardından gösterge arabelleklerini yenileriyle senkronize edin   OHLC

Not: Prensipte, ilk çalıştırmada arabellek göstergesini doldurmanın bir anlamı yoktur - bu aynı zamanda prev_calculated=0 ile de yapılabilir.

Evet teşekkür ederim ilgi için ayrı bir gösterge yapacağım, mumların değişip değişmediğini veya resmi bir şey olup olmadığını kontrol edeceğim.

 
OrderModify TP ve SL, DC'de bir çift (HSI50) için geçmez, çiftlerin geri kalanıyla DC'de her şey yolundadır. Her şey manuel olarak değişir, ancak OrderModify'ı denediğiniz anda - hiçbir şey, TP ve SL'yi OrderModify'dan bile kaldıramazsınız. Hata, geçersiz fiyat (129) tarafından atılır. Açıkçası OrderModify'da bir yasak var (nedeni belli değil).
Soru şu ki, biri OrderModify'ı kontrol etti mi? Bu nasıl kontrol edilir?
not Sözleşme şartnamesinde HSI50 (Tam erişim).
 
Tünaydın!
Bir komisyoncu sürekli olarak (günde bir veya iki kez) MarketInfo() ile uçar, 0 değerini alır (özellikle MODE_MARGINREQUIRED). Her şey yolunda gibi görünüyor, korumayı yaptım, ancak aynı zamanda iCustom () göstergesine (bir kaynak aracılığıyla bağlı) ulaşma girişimleri de ortadan kalkıyor. MarketInfo() tekrar veri aldıktan sonra bile iCustom() sessiz, üzerine tıkladım ama gösterge bağlanmıyor. Yalnızca terminali yeniden başlatmak yardımcı olur. Terminali yeniden başlatmadan göstergeye nasıl ulaşılır, herhangi bir fikriniz var mı? Gösterge kaynaktan bir yerde kaybolabilir mi?
 
Nauris Zukas :
Tünaydın!
Bir komisyoncu sürekli olarak (günde bir veya iki kez) MarketInfo() ile uçar, 0 değerini alır (özellikle MODE_MARGINREQUIRED). Her şey yolunda gibi görünüyor, korumayı yaptım, ancak aynı zamanda iCustom () göstergesine (bir kaynak aracılığıyla bağlı) ulaşma girişimleri de ortadan kalkıyor. MarketInfo() tekrar veri aldıktan sonra bile iCustom() sessiz, üzerine tıkladım ama gösterge bağlanmıyor. Yalnızca terminali yeniden başlatmak yardımcı olur. Terminali yeniden başlatmadan göstergeye nasıl ulaşılır, herhangi bir fikriniz var mı? Gösterge kaynaktan bir yerde kaybolabilir mi?

Cevabını almak istediğim soru bu.

 
Lütfen bana komisyoncunun alışılmış modda mı yoksa FIFO tarafından işlem açmadan mı çalıştığını öğrenmek için teknik bir olasılık olup olmadığını söyleyin? Tüm rıhtımı inceledim ve böyle bir parametre bulamadım. MT5'te, prensip olarak, hesap türüne göre netleştirme olup olmadığını belirleyebilirsiniz, ardından riskten korunma devre dışı bırakılır.
 
Merhaba!

Time[1] için "array out of range" ile tanıştığımı hatırlamıyorum, ancak bu gerçek EA'da oldu. Önceden tanımlanmış zaman serisi dizi değişkenleri için bir tür "aralık dışı dizi" kontrolü yapıyor musunuz?