MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 590

 

Merhaba!

Son işlem SL tarafından vurulduysa, Üçlü Üstel Ortalama göstergesine dayalı bir Uzman Danışmanın pozisyon açmasını nasıl engelleyebileceğinizi gösterebilir misiniz?

Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 

MQL5
Normal modda, danışman, optimizasyona başlar başlamaz kusursuz çalışıyor - her geçiş için dizinin sınırların dışında olduğundan şikayet ediyorum.

Ama gerçek şu ki, kodu bile çalıştırmıyor. Baskıları programın etrafına yerleştirdim, çıktı yok, sadece her çalıştırmada bir hata, çıktı bu.

Yazdırma neden çalışmıyor?

 
Roman Sharanov :

MQL5
Normal modda, danışman, optimizasyona başlar başlamaz kusursuz çalışıyor - her geçiş için dizinin sınırların dışında olduğundan şikayet ediyorum.

Ama gerçek şu ki, kodu bile çalıştırmıyor. Baskıları programın etrafına yerleştirdim, çıktı yok, sadece her çalıştırmada bir hata, çıktı bu.

Yazdırma neden çalışmıyor?

Dizinin boyutunu kontrol edin. Ayrıca çıktının dizinin dışında olduğu bir satır gösterilir. Bu satırdan önce, dizinin boyutunun çıktısını ve dizi verilerine erişmeye çalıştığınız dizini yazan Yazdır'ı ekleyin - dizinin boyutu ve dizin günlükte görüntülenecektir ve ancak o zaman program yanlışlıkla çökecektir.

ANCAK! Tüm bunları test cihazında optimize edicide değil görsel modda yapın - optimize edicide (ve görsel olmayan modda test cihazında) baskıların tümü hız için devre dışı bırakılır.

 
Artyom Trishkin :

Dizinin sınırlarının dışına çıkması, Print()'e ulaşmadan önce gerçekleşir.

Dizi boyutunu kontrol edin. Ayrıca çıktının dizinin dışında olduğu bir satır gösterilir. Bu satırdan önce, dizinin boyutunun çıktısını ve dizi verilerine erişmeye çalıştığınız dizini yazan Yazdır'ı ekleyin - dizinin boyutu ve dizin günlükte görüntülenecektir ve ancak o zaman program yanlışlıkla çökecektir.

ANCAK! Tüm bunları test cihazında optimize edicide değil görsel modda yapın - optimize edicide (ve görsel olmayan modda test cihazında) baskıların tümü hız için devre dışı bırakılır.

görseldeki herhangi bir parametre için her şeyin işe yaraması, ancak ötesine geçen herhangi bir optimizasyon için sorun budur.

 
Roman Sharanov :

görseldeki herhangi bir parametre için her şeyin işe yaraması, ancak ötesine geçen herhangi bir optimizasyon için sorun budur.

Dizide neler var? Sadece dizide henüz veri olmadığını veya düşündüğünüzden daha küçük bir boyutu olduğunu tahmin edebilirim. Dizinin boyutu için programda kontroller var mı?

 
Artyom Trishkin :

Dizide neler var? Sadece dizide henüz veri olmadığını veya düşündüğünüzden daha küçük bir boyutu olduğunu tahmin edebilirim. Dizinin boyutu için programda kontroller var mı?

Son N, 500, macd değerlerim var ve döngünün sınırları kesinlikle sınırlıdır ve 0'dan küçük ve N'den büyük olamaz, hata ayıklama ile çalıştırdım ve kağıt üzerinde saydım

 
Roman Sharanov :

Son N, 500, macd değerlerim var ve döngünün sınırları kesinlikle sınırlıdır ve 0'dan küçük ve N'den büyük olamaz, hata ayıklama ile çalıştırdım ve kağıt üzerinde saydım

Eriştiğinizde dizinin verilerle dolu olduğundan emin misiniz? Veri kullanılabilirliği ve dizinin istenen boyuta sahip olup olmadığı konusunda bir kontrol var mı?

Bir kağıda yazılan ve hesaplanan şey, danışmanın aldığı (almadığı) ile örtüştüğü anlamına gelmez.

 
Artyom Trishkin :

Eriştiğinizde dizinin verilerle dolu olduğundan emin misiniz? Veri kullanılabilirliği ve dizinin istenen boyuta sahip olup olmadığı konusunda bir kontrol var mı?

Bir kağıda yazılan ve hesaplanan şey, danışmanın aldığı (almadığı) ile örtüştüğü anlamına gelmez.

evet, en başta, tüm işlemlerden önce, arabellekten kopyalandı

 
İşlemde komisyon ve takas varsa, başabaş fiyatı hesaplamanın evrensel formülünü söyleyin.

5 haneli teklifler ve depozito usd için çalışan basit bir formül var.

Lot x puan cinsinden kâr = $ cinsinden kâr.

Bu bir satın alma ise ve işlemde takas ve komisyon varsa, başabaş fiyatı açılış fiyatından biraz daha yüksek olacaktır.
(Swap ve komisyon yoksa, başabaş fiyatı açılış fiyatıdır)

Ancak enstrüman egzotik ise veya fiyat 4 veya 2 basamaklıysa veya mevduat para birimi pound ise. Yukarıdaki formül yardımcı olmaz.
Evrensel bir formül var mı?
 
Roman Sharanov :

evet, en başta, tüm işlemlerden önce, arabellekten kopyalandı

kopyalandı. Ve kaç tanesi kopyalanıyor kontrol ediliyor?

Düzgünleştirmeli bir gösterge kullanıyorsanız, hesaplamak düşündüğünüzden birkaç çubuk daha sürer. Bu nedenle, kopyaladığınız şey, henüz verilerin kopyalandığı ve eksiksiz olarak mevcut olduğu anlamına gelmez.

Dizinin boyutunu kontrol etmeniz sizin için daha kolaydır ve gerekli boyuta sahip değilse OnTick()'ten çıkın.