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

 

Artyom Trishkin :

... Doğru bir şey aldık ama yanlış çubuktan. Bunun bilinmesi ve dikkate alınması gerekir.

Yani, çok zamanlı veri alırken, zamana güvenmeniz ve istenen TF'deki çubuk numarasına yeniden hesaplamanız gerekir.

Açıklamalar için teşekkürler.

EA'daki göstergeyi böyle çağırırsanız ortaya çıkıyor.

ozy_verh= NormalizeDouble ( iCustom ( NULL , 240 , "Ozy" , Amplitude, 3 , 1 ), Digits );

ve danışmanı H1'de çalıştırın, ardından gösterge okumaları ilk çubuğun H4'ünden alınmayacaktır.

O zaman gösterge okumalarını ne alırım ve kıdemli ph'dan doğru okumaları almak için bunu nasıl doğru bir şekilde yaparım?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3, iBarShift ( Symbol (),TimeFrame, iTime ( Symbol (),TimeFrame,1)) ), Digits);


Peki, H4'ten gelen gösterge değerleri doğru olacak mı?



 
mila.com :

Açıklamalar için teşekkürler.

EA'daki göstergeyi böyle çağırırsanız ortaya çıkıyor.

ozy_verh= NormalizeDouble ( iCustom ( NULL , 240 , "Ozy" , Amplitude, 3 , 1 ), Digits );

ve danışmanı H1'de çalıştırın, ardından gösterge okumaları ilk çubuğun H4'ünden alınmayacaktır.

O zaman gösterge okumalarını ne alırım ve kıdemli ph'dan doğru okumaları almak için nasıl doğru şekilde yaparım?

int TimeFrame = 240;

ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3, iBarShift ( Symbol (),TimeFrame, iTime ( Symbol (),TimeFrame,1)) ), Digits);


Peki, H4'ten gelen gösterge değerleri doğru olacak mı?



Göstergeyi yazdığınız gibi ararsanız:

ozy_verh= NormalizeDouble ( iCustom ( NULL , 240 , "Ozy" , Amplitude, 3 , 1 ), Digits );

daha sonra gösterge verileri mevcut sembolden, PERIOD_H4 döneminden, dördüncü tampondan ve H4 zaman çerçevesindeki ilk çubuktan alınacaktır.

Muhtemelen bahsettiğim şeyi yanlış anladınız.

Ve bundan bahsediyordum: danışman M5'te başlatılırsa ve çubuk 1'den M5'e kadar veriler alırsanız, o zaman orada eski TF'de, örneğin H1'den ne olduğunu görmek istiyorsanız, o zaman, eski TF H1'den gelen değer, ayrıca çubuk 1'den, şimdi tf H1'deki mevcut değerleri değil, son bir saatte olan değerleri alacaksınız. Çünkü M5 üzerindeki çubuk 1, H1 üzerindeki çubuk 0'ın içindedir.

Dikkate almanız gereken şey bu ve ben de bundan bahsediyordum.

 
Vitaly Muzichenko :

Test cihazındaki günlükten bahsediyorum

Eklendi: Kodu normal bir duruma getirin, inceleyin, ardından test cihazında çalıştırın ve hata günlüğünü okuyun. Burada kod parçacıkları yayınlıyorsunuz.

Burada. Çekleri anlıyorum ama nereden geldiğini anlamıyorum.

Dosyalar:
count.mq4  17 kb
 
Artyom Trishkin :

Dikkate almanız gereken şey bu ve ben de bundan bahsediyordum.

Danışmanı M 5'e koyarsam ve ilk çubuktan H1'den gösterge değerini almak istersem, aşağıdaki giriş doğru mu?

ozy_verh= NormalizeDouble ( iCustom ( NULL , 60 , "Ozy" , Amplitude, 3 , 1 ), Digits );
 
mila.com :

Danışmanı M 5'e koyarsam ve ilk çubuktan H1'den gösterge değerini almak istersem, aşağıdaki giriş doğru mu?

ozy_verh= NormalizeDouble ( iCustom ( NULL , 60 , "Ozy" , Amplitude, 3 , 1 ), Digits );

Numara. 1 yerine:

datetime _time1 = iTime ( Symbol (), PERIOD_H1 , 1 );
int       _n     = iBarShift ( Symbol (), PERIOD_CURRENT , _time1);
// ваша формула
ozy_verh= NormalizeDouble ( iCustom ( NULL , 60 , "Ozy" , Amplitude, 3 , _n), Digits );
Yalnızca, danışmanı sunucuda veya kendi başınıza kullanıyorsanız, ancak H1 grafiğiniz de açık değilse, o zaman bir ekstra daha yapmanız gerekir. Kontrol.
 

Oksana Berenko :

... ancak henüz H1 grafiğini açmayacaksınız , o zaman bir ekstra daha yapmanız gerekiyor. Kontrol.

Teşekkür ederim.

Bir M5 çizelgesi açık, yazdığınız gibi, H1'li bir çağrı göstergeli bir Uzman Danışman yüklü.

Başka hangi kontrollere ihtiyaç var?

 
mila.com :

Danışmanı M 5'e koyarsam ve ilk çubuktan H1'den gösterge değerini almak istersem, aşağıdaki giriş doğru mu?

ozy_verh= NormalizeDouble ( iCustom ( NULL , 60 , "Ozy" , Amplitude, 3 , 1 ), Digits );

Verne. İlk çubuktan hangi TF'ye ihtiyacınız olduğuna bağlı olarak ...

Neden bahsettiğimi anlamamış gibisin...

 
Merhaba, lütfen bana mt4 ve mt5 arasındaki temel farkların ne olduğunu söyleyin. Ben önemli farklılıklar görmüyorum.
 

Tünaydın ..

if (OrderType()==OP_SEL) CloseOpBuySell("SATIN AL");

if (OrderType()==OP_BUY) CloseOpBuySell("SAT");

İhtiyacım olan şart şu ki, alım açıldığında satış kapanıyor ve tam tersi, bu yazı ile işe yarayacak mı?

Ben sadece OrderType()==OP_SELL'in sol tarafıyla ilgileniyorum

oradaki herhangi bir sinyali değiştirdiğinizde doğru olanı çalışır

Soru: "Böyle bir kapatma işe yarar mı?"

 
elektrik777 :
Merhaba, lütfen bana mt4 ve mt5 arasındaki temel farkların ne olduğunu söyleyin. Ben önemli farklılıklar görmüyorum.
Senaryo ve gösterge danışmanları için programlama dilindeki farklılıklar, diğer her şey aynıdır, MT5 dışında borsalarda işlem yapabilirsiniz, MT4'te işlem yapamazsınız.