Hatalar, hatalar, sorular - sayfa 342

 
Urain :

MQ için en basit çözüm, fonksiyon parametreleri olarak vermek olacaktır.

şimdi parametre olarak var olan değişkenler yerine veri dizileri. Çözüm, elbette, tek taraflıdır, çünkü danışmanlar arasında veri aktarımı yine de mümkün olmayacaktır, ancak yine de hiç yoktan iyidir.

Böyle bir şey olsa daha iyi olurdu

 void SendData( const int handle, const long &lparam[], const double &dparam[], const string &sparam[])
void GetData( const int handle, const long &lparam[], const double &dparam[], const string &sparam[])

Böylece belirli bir alıcıya gönderebilir ve belirli bir göndericiden alabilirsiniz. Ve sadece bazı çizelgeler için göndermeyin. Ve kolu halka açık hale getirin. Bunun gibi bir şey.

 

Böyle bir görev var: gösterge penceresini danışmandan kaldırmanız ve geri yüklemeniz gerekiyor. Ancak hesaplanan veriler sabit kalır.

Basit bir çözüm, verileri hesaplamak için bir gösterge (haydi buna "Hesapla" diyelim) ve verileri ayrı bir pencerede görüntülemek için bir gösterge oluşturmaktır, buna "Plot" diyelim. "Plot" göstergesinden iCustom ( "Hesapla" ) aracılığıyla çağırır, ancak daha önce EA ayrıca iCustom ( "Hesapla" ) aracılığıyla da arar. Aynı parametrelerle çağrılırlar. Bir yerde, aynı grafikte aynı parametrelere sahip iki göstergenin oluşturulmadığını, ancak halihazırda çalışan bir gösterge işleminin ana tanıtıcısını ifade eden yalnızca ek bir tanıtıcı oluşturulduğundan bahsettim.

dolayısıyla soru şu: EA'dan "Plot"u çıkardıktan ve tekrar ekledikten sonra, "Plot"ta başlatılan "Calculate" yeniden hesaplanacak mı, yoksa EA'da başlatılan "Calculate" göstergesinin hesaplanmış verilerini mi alacak?

 
Urain :

Bir yerde, aynı grafikte aynı parametrelere sahip iki göstergenin oluşturulmadığını, ancak halihazırda çalışan bir gösterge işleminin ana tanıtıcısını ifade eden yalnızca ek bir tanıtıcı oluşturulduğundan bahsettim.

MQL5 Referansı / Teknik Göstergeler / Teknik göstergelerle çalışma işlevleri:

" iMA, iAC, iMACD, iIchimoku vb. gibi tüm işlevler, müşteri terminalinin global önbelleğinde karşılık gelen teknik göstergenin bir kopyasını oluşturur. Göstergenin bu parametrelere sahip bir kopyası zaten mevcutsa, yeni bir kopya olmaz oluşturuldu, ancak bu kopyaya yapılan referansların sayacı artırıldı.

Bu işlevler, göstergenin ilgili kopyasının tutamağını döndürür. Bu tutamacı kullanarak, daha sonra ilgili gösterge tarafından hesaplanan verileri alabilirsiniz... "

" Not : Aynı mql5 programı içerisinde aynı parametrelerle gösterge fonksiyonuna birden fazla çağrı yapılması referans sayacında birden fazla artışa yol açmaz, sayaç sadece 1'er artırılır ..."

 
Yedelkin :

MQL5 Referansı / Teknik Göstergeler / Teknik göstergelerle çalışma işlevleri:

...

" Not : Aynı mql5 programı içerisinde aynı parametrelerle gösterge fonksiyonuna birden fazla çağrı yapılması referans sayacında birden fazla artışa yol açmaz, sayaç sadece 1'er artırılır ..."

Evet öyle. Bahşiş için teşekkürler.

Bu satırı pek anlamıyorum. Expert Advisor'da başlatılan göstergeyi tek bir program olarak mı değerlendirmek mümkün, yoksa bunların iki program olduğu mu kastediliyor?

İlk varsayım ise, her şey yolunda demektir. Ancak derleyici bunları farklı programlar olarak görüyorsa bir sorun vardır.

 
Urain :

Expert Advisor'da başlatılan göstergeyi tek bir program olarak mı değerlendirmek mümkün, yoksa bunların iki program olduğu mu kastediliyor?

1. Referans şöyle der: " iMA, iAC, iMACD, iIchimoku, vb. gibi tüm işlevler , istemci terminalinin global önbelleğinde karşılık gelen teknik göstergenin bir kopyasını oluşturur ".

Bunu şöyle okudum (sorulan soruyla ilgili olarak): " iMA, iAC, iMACD, iIchimoku, vb. gibi tüm işlevler belirli bir mql5 programından çağrılır ve ilgili teknik göstergenin bir kopyasını genel önbelleğinde oluşturur. istemci terminali ." Bu nedenle, ortak ifade " Expert E, gösterge I'i başlattı ", Expert Advisor E'nin gösterge I'in işlevini çağırdığı ve bunun sonucunda ilgili göstergenin bir kopyasının müşteri terminalinin global önbelleğinde ve Expert Advisor E'nin oluşturulduğu anlamına gelir. bu kopyanın tanıtıcısını alır.

2. "EA E, gösterge işlevi I'i çağırıyorsa", o zaman gösterge işlevini "bir mql5 programı içinde" çağırmaktan bahsediyoruz.

 
420. yapıyı buradan https://www.mql5.com/en/forum/23/page11 indiriyorum, ancak 412. aslında kurulu. Bir sorunum mu var yoksa metaquotes.net dosyasını değiştirmeyi mi unuttular?
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
Yedelkin :

1. Referans şöyle der: " iMA, iAC, iMACD, iIchimoku, vb. gibi tüm işlevler , istemci terminalinin global önbelleğinde karşılık gelen teknik göstergenin bir kopyasını oluşturur ".

Bunu şöyle okudum (sorulan soruyla ilgili olarak): " iMA, iAC, iMACD, iIchimoku, vb. gibi tüm işlevler belirli bir mql5 programından çağrılır ve ilgili teknik göstergenin bir kopyasını genel önbelleğinde oluşturur. istemci terminali ." Bu nedenle, ortak ifade " Expert E, gösterge I'i başlattı ", Expert Advisor E'nin gösterge I'in işlevini çağırdığı ve bunun sonucunda ilgili göstergenin bir kopyasının müşteri terminalinin global önbelleğinde ve Expert Advisor E'nin oluşturulduğu anlamına gelir. bu kopyanın tanıtıcısını alır.

2. "EA E, gösterge işlevi I'i çağırıyorsa", o zaman gösterge işlevini "bir mql5 programı içinde" çağırmaktan bahsediyoruz.

Anladım. Buradaki anahtar, " istemci terminalinin global önbelleğinde " ifadesidir.

Eğer öyleyse, o zaman her şey yolunda. Başka bir konuya açıklık getirdi.

 
a483483 :
420. yapıyı buradan https://www.mql5.com/en/forum/23/page11 indiriyorum, ancak 412. aslında kurulu. Bir sorunum mu var yoksa metaquotes.net dosyasını değiştirmeyi mi unuttular?

Bu yüzden bekleyin ve kendisini en son sürüme güncellemelidir.

Tehdit, terminali çalışır durumda bırakın ve işinize devam edin, bir süre sonra terminalde böyle bir sürümün indirildiğine dair bir mesaj göreceksiniz ve lütfen terminali yeniden başlatın.

 

Tünaydın!

420 sürümüne güncelledikten sonra Expert Advisor'ı test etmeye başladım ve bir nedenden dolayı "birleşmeye" başladığını fark ettim. İşlemleri analiz ettim ve zararı durdurmanın var olmayan fiyatlarda tetiklendiğini fark ettim. Örneğin, EURUSD çifti için, 1.06520 olarak bir stop loss ayarlanır, bu çubuktaki maksimum fiyat 1.05920 olmasına rağmen tetiklenir. Daha fazla bakıyorum ve bu tür birçok anlaşma olduğunu görüyorum. Aynı prensiple (var olmayan fiyatlarla), kar al da tetiklenir - delta aynıdır - 600 puan. Grafikteki test cihazında, yukarı ve aşağı oklar, çubuklardan uzakta havada "asılır".

Ekran görüntüsü ekliyorum.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
Dosyalar:
eurusd.jpg  235 kb
 
Kairoser :

Tünaydın!

420 sürümüne güncelledikten sonra Expert Advisor'ı test etmeye başladım ve bir nedenden dolayı "birleşmeye" başladığını fark ettim. İşlemleri analiz ettim ve zararı durdurmanın var olmayan fiyatlarda tetiklendiğini fark ettim. Örneğin, EURUSD çifti için, 1.06520 olarak bir stop loss ayarlanır, bu çubuktaki maksimum fiyat 1.05920 olmasına rağmen tetiklenir. Daha fazla bakıyorum ve bu tür birçok anlaşma olduğunu görüyorum. Aynı prensiple (var olmayan fiyatlarla), kar al da tetiklenir - delta aynıdır - 600 puan. Grafikteki test cihazında, yukarı ve aşağı oklar, çubuklardan uzakta havada "asılır".

Ekran görüntüsü ekliyorum.

EA'nızı MQ sunucusunda test etmeyi deneyin. Alpari'nin hala yanlış geçmiş verilerle ilgili eski bir sorunu olabilir.