Hatalar, hatalar, sorular - sayfa 492

 
komposter :

Kesinlikle, herkes için.

Bahşiş için teşekkürler. OnTimer()'ı tamamen unuttum. Üzerinden yapıldı ve memnun)
 
Rosh :
Ne kadarı mevcuttu, ne kadarı alındı. Öyleyse anla. Mevcut geçmiş derinliğini kontrol edin. Veri talep etmeden önce, bunların kullanılabilir olduğundan emin olmanız gerekir. Nasıl bir yapıya sahipsin? yakın zamanda aylık zaman dilimlerini kopyalama ile ilgili bir hatayı düzeltti, belki de bu kadar.
Düzeltme hangi yapıda olmalıdır? 489'da bir hata var.
 
marketeer :
Bu, kötü bir şekilde kontrol ettikleri veya danışmanın çoklu para birimi DEĞİLDİR, ancak farklı semboller üzerinde çalışabileceği anlamına gelir. Argümanlar basit - işaretlerin farklı zamanlarda farklı sembollere geldiği bilgisi. Buna göre, EA OnTick EURUSD'deyse (örneğin), ancak hindiyi kontrol ederse veya hatta EURUSD yerine GBPUSD'deki değişiklikleri işaretlerse, sonuç farklı olacaktır. Özellikle EURUSD üzerinde oluşturulmuş bir çubuk GBPUSD üzerinde aynı zamanda bir çubuk oluşumundan önce gerçekleşebilir. Aynı çubuk üzerinde iki kez GBPUSD ticareti yapacaksınız: eski GBPUSD çubuğu hala yeni (sıfır) olarak kabul edilecektir. Çoklu para birimi göstergeleri hakkında her şey açıktır. Malzeme öğrenin.

Mlyn'in hangi kısmı şah mat, 1 çift üzerine bir kene geldi, giriyoruz ve ikinci tik geçse ve x...

onunla çünkü yeni bir çubuğun ortaya çıkması ve kenelerin yakalanması sırasında fiyata ihtiyacımız var

tüm semboller üzerinde yeni bir çubuğun ortaya çıkması amacıyla bir rol oynamaz, ancak burada

strateji, bir yüzücü değilseniz bağlıdır

 

MQ ekibine iCustom() işlevinin çalışır duruma getirilmesinin planlanıp planlanmadığını bir kez daha sormak istiyorum.

Şu anda uzman yazarlar, müşterilere iCustom() kullanarak tek elden bir çözüm sunamaz,

müşterinin, uzman tarafından kullanılan harici göstergenin adını belirleyebileceği.

Bunu yapmak için, müşterinin Expert Advisor'ın kaynak koduna sahip olması ve ayrıca, hafifçe söylemek gerekirse, elverişsiz olan Expert Advisor kodundaki her bir göstergenin adını manuel olarak girmesi gerekir.

Gösterge arabelleğinin hücrelerinin içeriğinin değerinin zorunlu olarak açıkça belirtilmesi sorunu da vardır.

Gösterge metninde gösterge arabelleği hücresine açık bir değer (boş veya boş olmayan) atanmamışsa, Expert Advisor'daki iCustom() işlevi belirtilen hücreleri doldurabilir

keyfi çöp. Böyle bir işlevin doğru kabul edilemeyeceğini düşünüyorum.

 
MoneyJinn :

MQ ekibine iCustom() işlevinin çalışır duruma getirilmesinin planlanıp planlanmadığını bir kez daha sormak istiyorum.

Şu anda uzman yazarlar, müşterilere iCustom() kullanarak tek elden bir çözüm sunamaz,

müşterinin, uzman tarafından kullanılan harici göstergenin adını belirleyebileceği.

Bunu yapmak için, müşterinin Expert Advisor'ın kaynak koduna sahip olması ve ayrıca, hafifçe söylemek gerekirse, elverişsiz olan Expert Advisor kodundaki her bir göstergenin adını manuel olarak girmesi gerekir.

iCustom'da, çağrılan göstergenin dinamik adını iletebilirsiniz, ancak her özel göstergenin kendi parametre seti vardır.

Ne yazık ki, " ne çağrılacağını ve hangi parametrelerle çağrılacağını bilmeden , koda dokunmadan çağrıyı uygulamak güvenli midir?" sorusunun evrensel bir çözümü yoktur. Biz bilmiyoruz.

Doğru anladıysam, bir üçüncü taraf kullanıcı Expert Advisor ayarlarında parametrelerle herhangi bir gösterge adı belirttiğinde bir eklenti sistemi oluşturmak istiyorsunuz (örneğin, "Göstergem(10,20,50,100)"). Katı ad biçimine sahip böyle bir durumda, dizeyi kendiniz ayrıştırabilir, bir parametre bloğu oluşturabilir ve sarmalayıcı sınıfı olarak farklı bir parametre kümesiyle dinamik bir iCustom çağrısı uygulayabilirsiniz. Yani, iCustom'u farklı setler / sayıda parametre ile çağırmak için çeşitli seçenekler içeride gizlenecektir.


Gösterge arabelleğinin hücrelerinin içeriğinin değerinin zorunlu olarak açıkça belirtilmesi sorunu da vardır.

Gösterge metninde gösterge arabelleği hücresine açık bir değer (boş veya boş olmayan) atanmamışsa, Expert Advisor'daki iCustom() işlevi belirtilen hücreleri doldurabilir

keyfi çöp. Böyle bir işlevin doğru kabul edilemeyeceğini düşünüyorum.

Bu zaten geliştiricinin tam emrinde verilen arabelleği doldurmama konusundaki küstahlığı ve açık tembelliğidir.

Çalıştırma zamanı alt sistemi, gösterge arabelleğini nasıl kullandığınızı bilmez ve özellikle toplu yeniden tahsisler (takas veya grafik güncellemeleri) sırasında, herhangi bir değerle doldurma hakkına sahip değildir. Gösterge, OnCalculate(..., const ) aracılığıyla yeniden hesaplama ihtiyacının tüm durumlarından mutlaka haberdar edilir. int prev_calculated,...) ve prev_calculated parametresi.

 
Renat :

iCustom'da, çağrılan göstergenin dinamik adını iletebilirsiniz, ancak her özel göstergenin kendi parametre seti vardır.

Ne yazık ki, " ne çağrılacağını ve hangi parametrelerle çağrılacağını bilmeden , koda dokunmadan çağrıyı uygulamak güvenli midir?" sorusunun evrensel bir çözümü yoktur. Biz bilmiyoruz.

Doğru anladıysam, bir üçüncü taraf kullanıcı Expert Advisor ayarlarında parametrelerle herhangi bir gösterge adı belirttiğinde bir eklenti sistemi oluşturmak istiyorsunuz (örneğin, "Göstergem(10,20,50,100)"). Katı ad biçimine sahip böyle bir durumda, dizeyi kendiniz ayrıştırabilir, bir parametre bloğu oluşturabilir ve sarmalayıcı sınıfı olarak farklı bir parametre kümesiyle dinamik bir iCustom çağrısı uygulayabilirsiniz. Yani, iCustom'u farklı setler / sayıda parametre ile çağırmak için çeşitli seçenekler içeride gizlenecektir.

Kodda değişiklik yapmaya yönelik sorunlu ihtiyaç, test sırasında göstergenin adını açıkça belirtme gereksinimi anlamına geliyordu.

#property tester_indicator "Name.ex5" biçiminde ve farklı sayıda gösterge parametresi değil.

Göstergeler, yalnızca ilgili sinyale sahip gösterge arabelleğinin sayısını seçerek varsayılan parametrelerle de kullanılabilir.

Renat :

Bu zaten geliştiricinin tam emrinde verilen arabelleği doldurmama konusundaki küstahlığı ve açık tembelliğidir.

Çalıştırma zamanı alt sistemi, gösterge arabelleğini nasıl kullandığınızı bilmez ve özellikle toplu yeniden tahsisler (takas veya grafik güncellemeleri) sırasında, herhangi bir değerle doldurma hakkına sahip değildir. Gösterge, OnCalculate(..., const ) aracılığıyla yeniden hesaplama ihtiyacının tüm durumlarından mutlaka haberdar edilir. int prev_calculated,...) ve prev_calculated parametresi.

iCustom() içindeki kullanılmayan hücrelere Empty_Value atamak ve bunları yığından gelen çöplerle doldurmamak gerçekten zor mu?

https://www.mql5.com/ru/forum/1111/72233#comment_72233

Tampon hücrelerinin gerçek değerinin Boş'a eşit kaldığını unutmayın. Sahteciliği yapan iCustom()'dur.

 
MoneyJinn :

Kodda değişiklik yapmaya yönelik sorunlu ihtiyaç, test sırasında göstergenin adını açıkça belirtme gereksinimi anlamına geliyordu.

#property tester_indicator "Name.ex5" biçiminde ve farklı sayıda gösterge parametresi değil.

Sorun daha da çözülecek - bazı nüanslar var.

iCustom() içindeki kullanılmayan hücrelere Empty_Value atamak ve bunları yığından gelen çöplerle doldurmamak gerçekten zor mu?

https://www.mql5.com/ru/forum/1111/72233#comment_72233

Bu yapılamaz. Cevabımı tekrar okuyun lütfen.
 
Renat :

Bu yapılamaz. Cevabımı tekrar okuyun lütfen.

iCustom()'un aslında hiçbir şeyle dolu olmayan bu arabellek hücrelerine keyfi değerler atamasının nedeni ve bunun neden herhangi bir şekilde önlenemediği benim için net değil.

Bunun bir şekilde gösterge arabelleğinin karşılık gelen veri dizisi için bellek tahsisi ile ilgili olduğunu varsayıyorum.

iCustom() tarafından yapılan bu tür çalışmalar, verilerin kaynağını ve doğruluğunu belirlemek imkansız olduğunda, bana kabul edilemez görünüyor ve kullanıcı için ek riskler yaratıyor.

iCustom() zaten gerçek değerlere karşılık gelmeyen arabellek hücrelerine keyfi değerler atarsa,

o zaman neden bu hücrelere MT4'te uygulandığı gibi Empty_Value'ye eşit bir değer vermiyorsunuz.

O zaman en azından durumları netleşirdi.

 
tartışmam
kPeriod2 = kPeriod1 * nextPriod;

Warning : possible loss of data due to type conversion
ve bu yüzden
kPeriod2 = round (kPeriod1 * nextPriod - 0.5 );

Warning : possible loss of data due to type conversion 
aynı yazıyor bir yuvarlama var, bu yüzden gerekli mi?
 
Lodar :
tartışmam
ve bu yüzden
aynı yazıyor bir yuvarlama var, bu yüzden gerekli mi?


Tüm değişkenlerinizin aynı türden olup olmadığına bakın. Ve sonra - " Döküm türleri " bölümü. Uyarı, derleme zamanında algılanan örtük tip dökümden kaynaklanmaktadır.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5