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

 
gyfto :

Benim açımdan şöyle düşünüyorum: Close[]'u Bars-1'den 0'a bir döngüde geçebilir, bu diziyi dll'de toplayabilir ve zaten orada olan bu diziyle çalışabilirsiniz. Henüz denemedim ama deneyeceğim.

Dizinin kendisinin iletilmesi gerekmez. İşaretçiyi ve boyutu ona aktarmak yeterlidir.

https://docs.mql4.com/en/array/ArrayCopySeries

https://docs.mql4.com/en/array/ArrayCopyRates

 

Arkadaşlar lütfen basit bir koşul söyleyin "eğer cari fiyat> bar açılış fiyatları ise işlemi gerçekleştirin." Henüz çubuklarla çalışmadım. Ve beyin 4:49'a ulaşamıyor

 
oDin48 :

Arkadaşlar lütfen basit bir koşul söyleyin "eğer cari fiyat> bar açılış fiyatları ise işlemi gerçekleştirin." Henüz çubuklarla çalışmadım. Ve beyin 4:49'a ulaşamıyor



 if (Close[ 0 ]>Open[ 0 ])
    {
   //Ваше действие
    }
 
Herkese merhaba ....şu ifadeyi nasıl kısaltabilirim: if(a>b && a>c && a>d)
 

Selamlar!

Nereye soracağımı bilmiyorum ama yeni konu açmamaya karar verdim. CodeBase'de bir uzman bulmaya çalıştım ve bu yeterli gibi görünüyor, ancak mql anlamıyorum, ihtiyacım olan fonksiyonları seçemediğimi fark ettim. Söyleyin bana, belki zaten açık olan emirleri (ve yeni açılanları) izleyen basit bir Uzman Danışman vardır ve bunlardan biri kapanırsa (ilk etapta durarak), o zaman kapatılanın parametreleriyle yeni bir bekleyen emir oluşturulur. bir (fiyat, al, dur) ?

Ve bir soru daha. Böyle bir gösterge var i-SignalOfTrade. Mobil terminallerde olaylar hakkında sesli bildirim işlevinin olmaması nedeniyle bu gösterge çok yardımcı olabilir. Ancak, kendi başınıza işlem yapıyorsanız devre dışı bırakılamayan ekstra işlevleri vardır - bu, bekleyen emirlerin oluşturulması, değiştirilmesi vb. gibi olayların bir bildirimidir. Onlar. zaten bildiğiniz eylemlerin bildirimi. Onları devre dışı bırakmaya yardımcı olabilirseniz minnettar olurum (veya belki başka bir benzer gösterge vardır), yalnızca bekleyen bir emrin tetiklenmesi, bir alım ve durdurmanın tetiklenmesi hakkında bir bildirim bırakmanız yeterlidir.

 
i999i :
Herkese merhaba ....şu ifadeyi nasıl kısaltabilirim: if(a>b && a>c && a>d)

if((ba)*(ca)*(da)>0) yazabilirsiniz, ancak daha hızlı çalışacağı gerçeğini değil. Mantıksal VE ikili çarpmadır, aynı ifadeyi yazmanın yalnızca farklı bir yoludur, fark yalnızca değişken türlerinin boyutundadır. a>b bir boolean değişkendir, 4 bayt ve ba, eğer double iseler, o zaman fark double (8 bayt) olacaktır ve bu çarpma en az 2 kat daha uzundur.

Zhunko :

Dizinin kendisinin iletilmesi gerekmez. İşaretçiyi ve boyutu ona aktarmak yeterlidir.


Paha biçilmez tavsiye.

hediye :

a>b bir boole değişkenidir, 4 bayt

Şimdi açıklayacağım. İfadenizi if((a>b)*(a>c)*(a>d)==1 olarak da yeniden yazabilirsiniz, çünkü parantez içindeki ifadeler 0 veya 1 değerlerini alır (ve sırayla, ön derleyicide tanımda false ve true olarak tanımlanır).
 
gyfto :

if((ba)*(ca)*(da)>0) yazabilirsiniz, ancak daha hızlı çalışacağı gerçeğini değil. Mantıksal VE ikili çarpmadır, aynı ifadeyi yazmanın yalnızca farklı bir yoludur, fark yalnızca değişken türlerinin boyutundadır. a>b bir boolean değişkendir, 4 bayt ve ba, eğer double iseler, o zaman fark double (8 bayt) olacaktır ve bu çarpma en az 2 kat daha uzundur.


Paha biçilmez tavsiye.


hediye :

if((ba)*(ca)*(da)>0) yazabilirsiniz, ancak daha hızlı çalışacağı gerçeğini değil. Mantıksal VE ikili çarpmadır, aynı ifadeyi yazmanın yalnızca farklı bir yoludur, fark yalnızca değişken türlerinin boyutundadır. a>b bir boolean değişkendir, 4 bayt ve ba, eğer double iseler, o zaman fark double (8 bayt) olacaktır ve bu çarpma en az 2 kat daha uzundur.


Paha biçilmez tavsiye.

tavsiye için teşekkürler .... a, b, c'den en küçük ve en büyük değeri başka bir şekilde hesaplayabilir misiniz?
 
i999i :

tavsiye için teşekkürler .... a, b, c'den en küçük ve en büyük değeri başka bir şekilde hesaplayabilir misiniz?


MathMax(MathMax(a,b),c) ve MathMin'in tersi. Dört değer varsa, int max = MathMax(MathMax(x1, x2), MathMax(x3, x4)). Değerler vagon ise, bir dizi oluşturun ve ArrayMaximum aracılığıyla.
 
gyfto :

MathMax(MathMax(a,b),c) ve MathMin'in tersi. Dört değer varsa, int max = MathMax(MathMax(x1, x2), MathMax(x3, x4)). Değerler vagon ise, bir dizi oluşturur ve ArrayMaximum aracılığıyla.

yaklaşık bir düzine değer olan ArrayMaximum kullanmanız gerekecek .... ve ArrayMaximum bundan daha hızlı çalışacaktır - a>b && a>c && a>d
 
i999i :

tavsiye için teşekkürler .... a, b, c'den en küçük ve en büyük değeri başka bir şekilde hesaplayabilir misiniz?


Ve önce neden buna ihtiyacın olduğunu açıkla. Yardım etmek için nedenini bilmeniz gerekir. Ya sadece şımartmak ve ilgi çekmek için, ya da arkasında bir amaç var mı?

Neden: