Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 250

 
Crosswert :


Ha ha... Ama yalan söyledim...

Sorunun OpenOrders() sipariş açma işlevinde olduğu ortaya çıktı. Bir mumun (çubuk) kırılmasında açılış emirlerinin kontrolünü tamamen kaldırmayı unuttum:

if (Volume[0] > 1) return;

Bu nedenle, danışman hangi TF'ye göre test edildi - bu dakikalarda siparişleri açtı ...

Onu hiç kaybettim, şiddetli ...

Teşekkürler...

Olur)))) Yardım etmekten memnun oldum)))
 
Crosswert :


if (Volume[0] > 1) return;


Yeni bir çubuğun açılmasını belirlemek için böyle bir çek kullanmayın, hesapta iyi çalışmaz, sadece test cihazında normaldir. Çubuğun saatine veya grafikteki çubuk sayısına göre kontrol etmeniz gerekir.

 
Crosswert :


Ha ha... Ama yalan söyledim...

Sorunun OpenOrders() sipariş açma işlevinde olduğu ortaya çıktı. Bir mumun (çubuk) kırılmasında açılış emirlerinin kontrolünü tamamen kaldırmayı unuttum:

if (Volume[0] > 1) return;

Bu nedenle, danışman hangi TF'ye göre test edildi - bu dakikalarda siparişleri açtı ...

Onu hiç kaybettim, şiddetli ...

Teşekkürler...

Böyle daha iyi ( https://www.mql5.com/en/forum/138609/page482 ):
 bool CheckOpenM15() // Функция возвращает истину при появлении нового бара на М15 (Использовать только в советние)
{
   static int PrevTime= 0 ;
   if (PrevTime==iTime( NULL , PERIOD_M15 , 0 )) return ( false );
   PrevTime=iTime( NULL , PERIOD_M15 , 0 );
   return ( true );
}
 
paladin80 :
Böyle daha iyi ( https://www.mql5.com/en/forum/138609/page482 ):

Ve istenen TF'nin adını işleve iletmek daha iyidir.
 
artmedia70 :
Ve istenen TF'nin adını işleve iletmek daha iyidir.

Valla ben örnek olarak attım.
 
paladin80 :
Böyle daha iyi ( https://www.mql5.com/ru/forum/138609/page482 ):


Bilirsiniz, / PrevTime / ile bir şekilde bir şeyler yapmaya çalıştım ama hiçbir şey olmadı. Sanırım bu kodu doğru yere yapıştıramadım.

C / if (Volume[0] > 1) dönüşü; / her şey çok daha kolay oldu. Burada, inandığım gibi, her şey seçilen TF'de çalışıyor. Demoyu bilmiyorum, ancak gerçek hayatta siparişleri açarken hatalar, "söveler" ve diğer nüansları fark etmedim.

Ama yeni bir barda sipariş açma kontrolünü uzun zamandır kullanmıyorum. Açık pozisyonları kontrol etmek için bir fonksiyon oluşturduğu ortaya çıktı. Belirli bir zamanda açılış emirlerinin yanı sıra, çubukları bu şekilde kontrol etmeye gerek yoktur.

Sadece eski kod. Görünüşe göre aptalca yerleştirilmiş ve körelmeye devam eden kısıtlamaları unuttum ...

 

Fibonacci seviyelerinin fiyat değerini nasıl elde edeceğimi söyler misiniz?

Duruma göre fiyat belirtilen Fibonacci seviyesini geçtikten sonra alım veya satım işlemi açılır.

Fibonacci nesnesi, Uzman Danışman tarafından Kim işlevi kullanılarak çizilir: https://www.mql5.com/ru/forum/107476/page107#606564

Her şey sorunsuz, sorunsuz çizilir. Ama ayrıca, belirtilen seviyenin fiyat değeri nasıl bulunur?

Bu işlev çalışmıyor gibi görünüyor:

OBJPROP_FIRSTLEVEL+ n 210+n int n dizinindeki Fibonacci nesnesinin seviye değerlerini alır/ayarlar. Dizin n , 0 ile (seviye sayısı -1) arasında olabilir, ancak 31'den fazla olamaz


Mümkün mü? Yoksa OBJPROP_PRICE1 ve OBJPROP_PRICE2'ye dayalı olarak her seviye için fiyatları ayrı ayrı hesaplamanız mı gerekecek?

biraz saçmalık. Gecenin yarısında beynimi yıkıyordum.. Tabii ki, gece çözüm bulmak için en iyi zaman değil.

Lütfen yardım edin, nazik insanlar!

 
Lazarechek :

Fibonacci seviyelerinin fiyat değerini nasıl elde edeceğimi söyler misiniz?

Duruma göre fiyat belirtilen Fibonacci seviyesini geçtikten sonra alım veya satım işlemi açılır.

Fibonacci nesnesi, Uzman Danışman tarafından Kim işlevi kullanılarak çizilir: https://www.mql5.com/ru/forum/107476/page107#606564

Her şey sorunsuz, sorunsuz çizilir. Ama ayrıca, belirtilen seviyenin fiyat değeri nasıl bulunur?

Bu işlev çalışmıyor gibi görünüyor:

OBJPROP_FIRSTLEVEL+ n 210+n int n dizinindeki Fibonacci nesnesinin seviye değerlerini alır/ayarlar. Dizin n , 0 ile (seviye sayısı -1) arasında olabilir, ancak 31'den fazla olamaz


Mümkün mü? Yoksa OBJPROP_PRICE1 ve OBJPROP_PRICE2'ye dayalı olarak her seviye için fiyatları ayrı ayrı hesaplamanız mı gerekecek?

biraz saçmalık. Gecenin yarısında beynimi yıkıyordum.. Tabii ki, gece çözüm bulmak için en iyi zaman değil.

Lütfen yardım edin, nazik insanlar!

Zaten benzer bir soru vardı:

Fiyatı %23,6 fibo seviyesinde almak istiyorum
double flevel236 = ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,1); İşte burada - 0.236 verir, yani. fiyat değil, seviye.
Bana seviyenin fiyatını nasıl alabileceğinizi söyleyin. Teşekkür ederim!

Ve kendisine cevap verildi:

Sadece iki aritmetik işlem. Çarpma (0,236, sıfır ve birinci seviyelerin fiyatları arasındaki farkla çarpılır) ve ardından toplama (çarpmanın sonucu sıfır seviyesinin fiyatına eklenir).

 
Bir hindi yazdım, başlattım, her şey asılı ve yazıt - bir güncelleme bekliyoruz (sonsuz döngüler yok). mt'yi yeniden başlatıyorum sonuç aynı. Bu göstergeleri başlatmadan önce silip daha sonra yerleştirebileceğim açıktır, ancak her seferinde sorunu bu şekilde çözmek bir seçenek değildir. Belki de varsayılan arayüze önyükleme yapmak için komut satırından çalıştırılacak bir anahtar vardır?
 
artmedia70 :

Zaten benzer bir soru vardı:

Fiyatı %23,6 fibo seviyesinde almak istiyorum
double flevel236 = ObjectGetDouble(0,"Fibo",OBJPROP_LEVELVALUE,1); İşte burada - 0.236 verir, yani. fiyat değil, seviye.
Bana seviyenin fiyatını nasıl alabileceğinizi söyleyin. Teşekkür ederim!

Ve kendisine cevap verildi:

Sadece iki aritmetik işlem. Çarpma (0,236, sıfır ve birinci seviyelerin fiyatları arasındaki farkla çarpılır) ve ardından toplama (çarpmanın sonucu sıfır seviyesinin fiyatına eklenir).




Teşekkürler nazik insanlar!) Prensipte öyle düşündüm)


"0.236 ile sıfırın fiyatları arasındaki fark ile ilk seviyelerin çarpımı" - sadece muhtemelen demek daha doğru olurdu - "sıfır fiyatları ile son seviyelerin fiyatları arasında."