Hatalar, hatalar, sorular - sayfa 410

 
papaklass :
OrdersTotal() işlevini kullanarak bekleyen siparişleri takip edebilirsiniz. Mevcut değerini bir öncekiyle karşılaştırın. Ve bekleyen emirleri çoğaltmamak için emir ayar bayrağını kullanın. Bayrak == true ise, bu sembol için sipariş zaten verilmiştir. Sipariş tetiklendiğinde bayrağı temizleyin, ör. OrdersTotal() değişecektir.

Neyse ki, bu temel bilgileri bir yıl önce geçtim. MQL5 ile çalışmanın temel becerilerine adanmış makalelere göre. Şampiyona, bu planın öğrenmek için iyi olduğunu, ancak günlük ticaret için olmadığını doğruladı. Roche'un makaleleri i'leri noktaladı.

Ve bu, siparişlerin durumunun nasıl takip edileceği ile ilgili değil. Mesele şu ki, yukarıda tarif ettiğim ticaret parametreleri, hem emirler hem de pozisyonlarla çalışmayı büyük ölçüde basitleştirebilir. Bireysel bir kullanıcının (yani benim) bakış açısından, " Ne yapmalı? Bilinmeyen " sorusuna etkili bir şekilde cevap vermek ve ayrıca "symbol - OrdersTotal()" bağlantısı üzerinden değil, siparişlerle noktasal çalışmak mümkündür.

papaklas :
Tüm bilmeniz gereken, bu olayın gerçekleştiği semboldür.

İşin püf noktası, eğitim paradigmalarını bir kenara bırakırsak, bekleyen siparişlerle çalışmak için sembolü değil, sipariş biletini bilmek daha önemlidir. Daha doğrusu, sembol üzerinde çalışmaya izin verilir, ancak birçok gereksiz hareket vardır.

PS "Abonelik" hakkında - ilk kez duyuyorum. Harika bir seçenek.

 
papaklass :
İlk etapta doğruymuşum gibi davranmıyorum, ancak anaokuluyla ilgili ifadenizden kibir nefes alıyor.

Bunu ciddiye almayın. Bu cümleyi mesajınızdan önce düzelttim. Bilirsiniz, bazen yazar, gönderir ve sonra okurken ikincil ifadelerdeki olası belirsizlikleri düzeltirsiniz.

Bu konuda. Alım satım için zıt yaklaşımlarımız var: Bir pozisyonun ne zaman ve nasıl açılıp/kapatıldığı umurumda değil, çünkü EA bu anları kendisi yönetiyor (vardiya TP, takip eden stop, vb.). Bekleyen siparişlerin sürekli olarak piyasadaki durumu kuşatması benim için önemli. Bu yüzden "OnTrade() sadece bir sembol-parametre gerektirir" gibi bir ifadenin tüm olağan/tipik stratejileri yansıtmadığını vurguluyorum.

 
Interesting :

geliştiriciler

Win 2003 SP2'de (terminal modunda) ticaret hesabındaki bilgilerin sürekli olarak silinmesi bir hata mı yoksa güvenliği artırmak için mi tasarlandı?

Daha doğrusu, programın aynı kopyasını normal ve terminal modunda farklı hesaplarla dönüşümlü olarak kullanırsanız, hesap bilgileri periyodik olarak kaybolur. Görünüşe göre, farklı hesaplar altında sadece terminal modundaysa, benzer bir durum işe yarayacaktır (bu henüz test edilmemiştir).


Evet bu doğru.

Başka bir Windows kullanıcısı (aynı bilgisayarda olsa bile), başka bir Windows kullanıcısından şifreleri kaydetmiş bir terminale erişmeye çalıştığında, şifreler zorla sıfırlanır. Bu, kimsenin şifreleri çalmaması için yapılır.

 
Virty :

İçeride, basit bir soru gibi görünüyor, ancak gurular zaten tartışıyorlar. Testçiden doğru işi alana kadar eziyet çekiyorsun. Güncel fiyattan 1 lot EURUSD almak için 3-4 kontrol yapmanız gerekmektedir. Ve kontrol etmezseniz, işe yarayacaktır, ancak doğru ve en önemlisi sessizce çalışmayacaktır. Sonunda sadece bakiye olumsuz ya da başka bir saçmalık. Ve kontrollerin başarılı olması iyi olur. Ve eğer bazı SymbolInfoTick false döndürürse, ne yapılacağı açık değildir. Şampiyonada ödül yerine duvara hata kodu mu asarsınız?

"Equity<0.55*balance" ve "free_margin<100" denedim. Çalışmadı. Sebebini bilmiyorum. Bu marjlar hakkında tamamen kafam karıştı.

Sol if(AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)<55.0). Çalışıyor gibi görünüyor.

Şampiyonluğun kurallarının geliştiricilerin jargonunda kısaca yazılması ne yardımcı olur, ancak aptallar için ayrıntılı olarak gereklidir.

Tartışacak ne var? Marj Düzeyi=Öz Sermaye/Mevduat Marjı*%100 veya MQL5 terimleriyle:

 AccountInfoDouble ( ACCOUNT_MARGIN_LEVEL )= AccountInfoDouble ( ACCOUNT_EQUITY )/ AccountInfoDouble ( ACCOUNT_MARGIN )* 100 =
AccountInfoDouble ( ACCOUNT_EQUITY )/( AccountInfoDouble ( ACCOUNT_EQUITY )- AccountInfoDouble ( ACCOUNT_FREEMARGIN ))* 100

Bu parametreler terminalinizde 'Ticaret' sekmesinde görüntülenir, kontrol edebilirsiniz. Stop out ile ilgili olarak, 2007'de benzer bir tartışmaya bakın.

Установка Stop Out - MQL4 форум
  • www.mql5.com
Установка Stop Out - MQL4 форум
 
papaklass :

Vyacheslav, cevabın cesaret verici. Forumdaki biri bence kabul edilebilir bir çözüm önerdi - bir abonelik. Bu aboneliği, gerekli ve isteğe bağlı parametrelere sahip olan iCustom() işlevine benzer şekilde uygulayın. Her yatırımcının Expert Advisor'ı başlatırken ihtiyaç duyduğu olaylara abone olmasına izin verin. Toplam olay sayısında değil, yalnızca ticareti için önemli olduğunu düşündüğü olaylarda. Böyle bir yaklaşım (abonelik), çoklu para birimi değişimlerinin geliştirilmesini büyük ölçüde kolaylaştıracak ve aslında kodu azaltacaktır. OnTrade() ve OnTick() fonksiyonlarından en az ikisinde bir deney yapın. Minimum - sembolü yapın. Ardından olay sayısını (parametreleri) artırabilirsiniz. Pratik, gerçeğin kriteridir. Denemeden, hangi zorlukların ortaya çıkabileceğini anlamayacaksınız.

Not: LastError sistem değişkeninin değerini döndüren GetLastError() işleviyle yapılan benzetme, muhtemelen iCustom() işleviyle yapılan benzetmeden daha uygundur. TradeEvent sistem değişkenini girin ve OnTrade() tetiklendiğinde bu değişkenin değerini görüntüleyin.

Bir abonelik hakkında ilk kez duyuyorum, ancak bir fikrin temeli olarak (tamer etkinliklerine abonelik veya bir bardak fiyat gibi) çok iyi bir fikir.

Ayrıca _Error gibi bir sabit fikri de oldukça ilginç.

Bana göre sembolün hatasız aktarılması gerekiyor, prensipte şampiyonadan önce bu alanda en azından bazı yenilikleri tanıtmak için zamanınız olması için şu anda bu yönde ilerlemeye başlayabilirsiniz.

Yedelkin :

İşin püf noktası, eğitim paradigmalarını bir kenara bırakırsak, bekleyen siparişlerle çalışmak için sembolü değil, sipariş biletini bilmek daha önemlidir. Daha doğrusu, sembol üzerinde çalışmaya izin verilir, ancak birçok gereksiz hareket vardır.

İlk önce sadece sembolü uygulamanız gerekir, daha sonra neyin ve nasıl aktarılacağını düşünmek için zamanınız olacaktır. Aynı şeyi OnTrade() ve OnTick() ile yapmak güzel olurdu.

Abonelik temasını geliştirerek, belirli bir çiftin kenelerine bir abonelik düzenleyebilirsiniz.

 
Yedelkin :

Bunu ciddiye almayın. Bu cümleyi mesajınızdan önce düzelttim. Bilirsiniz, bazen yazar, gönderir ve sonra okurken ikincil ifadelerdeki olası belirsizlikleri düzeltirsiniz.

Bu konuda. Alım satım için zıt yaklaşımlarımız var: Bir pozisyonun ne zaman ve nasıl açılıp/kapatıldığı umurumda değil, çünkü EA bu anları kendisi yönetiyor (vardiya TP, takip eden stop, vb.). Bekleyen siparişlerin sürekli olarak piyasadaki durumu kuşatması benim için önemli. Bu yüzden "OnTrade() sadece bir sembol-parametre gerektirir" gibi bir ifadenin tüm olağan/tipik stratejileri yansıtmadığını vurguluyorum.

Katılıyorum, yansıtmıyor. Ancak yine de, bir sembolle başlamanız ve siparişler / biletler veya başka bir şeyle başlamanız gerekir, o zaman buna başka bir soru eklenecektir.

Renat :

Evet bu doğru.

Başka bir Windows kullanıcısı (aynı bilgisayarda olsa bile), başka bir Windows kullanıcısından şifreleri kaydetmiş bir terminale erişmeye çalıştığında, şifreler zorla sıfırlanır. Bu, kimsenin şifreleri çalmaması için yapılır.

Anlıyorum, teşekkürler (prensipte öyle düşündüm, emin olmaya karar verdim).
 
Interesting :

İlk önce sadece sembolü uygulamanız gerekir, daha sonra neyin ve nasıl aktarılacağını düşünmek için zamanınız olacaktır.

...bir sembolle başlamanız ve biletler/satışlar veya başka bir şeyle başlamanız gerekir, ardından buna başka bir soru eklenecektir.

Genel olarak, vurgular zaten yerleştirildi, şunu belirtmek isterim ki, "herkes battaniyeyi kendi üzerine çeker" ilkesine göre hareket ederseniz ("bana sadece bir sembol-parametre ver" veya "sadece bir bilet" gibi). parametre"), o zaman hiçbir şey elde edilemez. Bu nedenle, sorum başlangıçta minimum parametre konfigürasyonu dikkate alınarak formüle edildi. Bu "minimum yapılandırma", daha ileri düzey kullanıcıların listelerinin genişletilmesi/iyileştirilmesiyle ilgili kendi isteklerinin olmasını beklediğimden.

Bu nedenle, kendimizi yalnızca bir parametreyle (sembol-parametre) sınırlamak için tekliflerin olması biraz şaşırtıcıydı. Bu, geliştiricilerin OnTrade() işlevi için parametre sayısıyla ilgili sorunları olduğu konusunda hiçbir şey söylemeyen stringo'nun answer fonunda özellikle şaşırtıcıdır. Sorun şuydu: "Aynı bilete birçok mesaj gelebilir." Ne de olsa, hala geliyorlar, sadece kişisel olmayan bir biçimde. Ve fonksiyon için kaç parametre girileceğine bakılmaksızın geleceklerdir.

...Geçen yıl, profesyonellerin periyodik olarak ne tür "koltuk değneklerinden" bahsettiğini uzun süre anlayamadım. Şimdi, OnTrade() parametreleri hakkındaki tartışmaya dayanarak, güçlü bir ilişki ortaya çıktı: "koltuk değnekleri" == şu veya bu sorunu çözerken yarım önlemler. OnTrade() parametreleriyle ilgili sorunun onlar olmadan çözüleceğini düşünüyorum. Dedikleri gibi, geliştiricilere, sorunları çözmek için entegre bir yaklaşımla ayırt edildikleri için övün! :)

 

Testin sonunda "pompa sonucu 0" mesajı ne anlama geliyor?

 
MoneyJinn :

build 466: Tek bir testin sonuçları, bir dakika önce gerçekleştirilen optimizasyon sonuçlarından farklı.

Sebebi ne? Test cihazı yeni testler sırasında piyasadan hangi güncellenmiş parametreleri alıyor?

Sonuçları ekleyebilir misiniz?
 
Ashes :

Testin sonunda "pompa sonucu 0" mesajı ne anlama geliyor?

Yanlışlıkla sızdırılmış hata ayıklama mesajı. Pompa sonucundan sonraki sayı, başlangıçtaki sayıya karşılık gelir