ICözel işlev - sayfa 4

 
TheRumpledOne:
Eğer "çöp" ise, neden yayınlasın ki?

benzer bir düşüncem vardı....

 

iCustom hakkında bir soru.

Line ve Shift değişkenlerini iCustom komutları ile açıklayıp örnekler verebilir misiniz?

Teşekkür ederim

 
matrixebiz:
iCustom hakkında bir soru.

Line ve Shift değişkenlerini iCustom komutları ile açıklayıp örnekler verebilir misiniz?

Teşekkür ederim

iCustom - MQL4 Belgeleri

modu - Satır dizini. 0 ile 7 arasında olabilir ve SetIndexBuffer işlevlerinden biri tarafından kullanılan dizine karşılık gelmelidir. shift - Gösterge tamponundan alınan değerin indeksi (verilen periyotlar öncesindeki mevcut çubuğa göre kayma).

Göstergenize hangi arabelleği istediğinizi söylemek için MOD'u kullanın. Destek direnci göstergeleri, direnç için arabellek 0 ( MODE=0 ) ve destek için arabellek 1 ( MODE=1 ) kullanabilir.

SHIFT, iCustom tarafından çağrılan göstergenin Bar(SHIFT) değerini kullanmayı söylüyor.

Bu yardımcı olur mu?

 
TheRumpledOne:
iCustom - MQL4 Belgeleri

modu - Satır dizini. 0 ile 7 arasında olabilir ve SetIndexBuffer işlevlerinden biri tarafından kullanılan dizine karşılık gelmelidir. shift - Gösterge tamponundan alınan değerin indeksi (verilen periyotlar öncesindeki mevcut çubuğa göre kayma).

Göstergenize hangi arabelleği istediğinizi söylemek için MOD'u kullanın. Destek direnci göstergeleri, direnç için arabellek 0 ( MODE=0 ) ve destek için arabellek 1 ( MODE=1 ) kullanabilir.

SHIFT, iCustom tarafından çağrılan göstergenin Bar(SHIFT) değerini kullanmayı söylüyor.

Bu yardımcı olur mu?

Tamam, Shift alıyorum, Mod hakkında daha fazla okuma yapmam gerekecek.

kodlar mısın EA'mdan aradığım bu göstergeye sahibim ama nasıl düzgün bir şekilde kurulacağından emin değilim. resme bakın.

sadece iki satırı vardır ve Mavi değişip diğer satırla hizalandığında, Uzun sinyal üretilir (Kırmızı ile aynı fikir)

VQ göstergesi ile kullandığım gibi birkaç farklı kod denedim;

double Entry1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2);

Sadece doğru ticaret değil.

teşekkürler

Dosyalar:
ci.jpg  66 kb
 
matrixebiz:
Tamam, Shift alıyorum, Mod hakkında daha fazla okuma yapmam gerekecek.

kodlar mısın EA'mdan aradığım bu göstergeye sahibim ama nasıl düzgün bir şekilde kurulacağından emin değilim. resme bakın.

sadece iki satırı vardır ve Mavi değişip diğer satırla hizalandığında, Uzun sinyal üretilir (Kırmızı ile aynı fikir)

VQ göstergesi ile kullandığım gibi birkaç farklı kod denedim;

double Entry1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2);

Sadece doğru ticaret değil.

teşekkürler

"#MTF CI" olarak adlandırılan alt göstergeden bahsediyorsanız, muhtemelen bu göstergenin 4 arabelleği olduğunu düşünüyorum: her satırın iki rengi için birer tane. Göstergelerin hangi arabelleklere sahip olduğunu ve bunların dizinlerini ( iCustom çağrısının MODE argümanı) görmek için Veri Penceresini (ctrl-D) açabilirsiniz.

 
matrixebiz:
Tamam, Shift alıyorum, Mod hakkında daha fazla okuma yapmam gerekecek.

kodlar mısın

teşekkürler

Zamanımda bir veya 2 (YÜZ) gösterge kodladığım biliniyor....LOL!

 
ralph.ronnquist:
"#MTF CI" olarak adlandırılan alt göstergeden bahsediyorsanız, muhtemelen bu göstergenin 4 arabelleği olduğunu düşünüyorum: her satırın iki rengi için birer tane. Göstergelerin hangi arabelleklere sahip olduğunu ve bunların dizinlerini (iCustom çağrısının MODE argümanı) görmek için Veri Penceresini (ctrl-D) açabilirsiniz.

Evet, haklısın, bunları iCustom ve Ticareti nasıl oluşturabilirim?

Çalışan diğer ikisi (QQEA 4 arabellekleri ve VQ 2 arabellekleri) için bunu kullanıyorum;

double Entry1 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 2, 2);

double qqe0_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,1);

double qqe0_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,2);

double qqe1_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,1);

double qqe1_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,2);

//Satın almak

qqe0_0>qqe1_0 && qqe0_1Giriş2 && ....

teşekkürler Ralph

Dosyalar:
data.jpg  24 kb
 
matrixebiz:
Evet, haklısın, bunları iCustom ve Ticareti nasıl oluşturabilirim?

Çalışan diğer ikisi (QQEA 4 tamponları ve VQ 2 tamponları) için bunu kullanıyorum;

double Entry1 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", Crash,TimeFrame,Length,Method,Smoothing,Filter,RealTime,Steady,Colors,Alerts,EmailON,SignalPrice,CountBars, 2, 2);

double qqe0_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,1);

double qqe0_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,0,2);

double qqe1_0=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,1);

double qqe1_1=iCustom(Symbol(),0,"QQEA",QQEA_SF,RSI_Period,DARFACTOR,1,2);

//Satın almak

qqe0_0>qqe1_0 && qqe0_1Giriş2 && ....

teşekkürler Ralph

Genellikle, birden çok renge sahip bir gösterge çizgisi gördüğünüzde, bu genellikle birden çok arabellek tarafından uygulanır; her renk için bir tane. Ardından, üst arabelleğin 0 dizinine sahip olduğu ve aşağı doğru artan veri penceresinden arabellek dizinlerini hesaplayabilirsiniz. Tampon bir değere sahip olduğunda çizilir (veya bir LINE çizim stili ise, çizilebilmesi için iki veya daha fazla ardışık değere ihtiyaç duyar)

Gösterge kaynak kodunuz varsa, bazen içine bakmak ve SetIndexBuffer işlev çağrılarından arabellek dizinlerini öğrenmek daha kolaydır.

Yandaki bir nokta olarak: bir gösterge ayrıca ekrana "nesneler" çizebilir ve bunlara iCustom çağrısı yoluyla erişilemez. Bunun yerine "nesne adını" bilmeniz ve özelliklerini okumanız gerekir.

Bu nedenle, hangi gösterge arabelleğinin okunacağı konusunda her zaman net olmanız ve bu dizini iCustom'un son ikinci argümanı olarak kullanmanız gerekir.

Örneğin, VQ göstergesinin kullanımı pek doğru görünmüyor, çünkü (gördüğüm kaynağa giderek), arabellekleri [1] ve [2] sırasıyla yeşil ve kırmızı çizgiler için kullanılıyor ve asla ikisinin de boş olmadığı bir durum. Yani, "Yukarı2==Aşağı2", her ikisinin de "boş" olduğu durumlar dışında her zaman yanlıştır ve bu, VQ satırının ne yeşil ne de kırmızı değil de sarı olduğu zamandır.

Bunun dışında, işleri doğru şekilde yaptığınızı düşünüyorum. Elbette değişken isimlerinin seçimi tartışılabilir, ancak bu akademik. Gidilecek yol, iCustom çağrısını kullanarak ilgilenilen değerleri seçmek ve ardından ticaret koşullarında gerekli olan belirli değer ilişkilerini ifade etmektir.

 
ralph.ronnquist:
Genellikle, birden çok renge sahip bir gösterge çizgisi gördüğünüzde, bu genellikle birden çok arabellek tarafından uygulanır; her renk için bir tane. Ardından, üst arabelleğin 0 dizinine sahip olduğu ve aşağı doğru artan veri penceresinden arabellek dizinlerini hesaplayabilirsiniz. Tampon bir değere sahip olduğunda çizilir (veya bir LINE çizim stili ise, çizilebilmesi için iki veya daha fazla ardışık değere ihtiyaç duyar)

Gösterge kaynak kodunuz varsa, bazen içine bakmak ve SetIndexBuffer işlev çağrılarından arabellek dizinlerini öğrenmek daha kolaydır.

Yandaki bir nokta olarak: bir gösterge ayrıca ekrana "nesneler" çizebilir ve bunlara iCustom çağrısı yoluyla erişilemez. Bunun yerine "nesne adını" bilmeniz ve özelliklerini okumanız gerekir.

Bu nedenle, hangi gösterge arabelleğinin okunacağı konusunda her zaman net olmanız ve bu dizini iCustom'un son ikinci argümanı olarak kullanmanız gerekir.

Örneğin, VQ göstergesinin kullanımı pek doğru görünmüyor, çünkü (gördüğüm kaynağa giderek), arabellekleri [1] ve [2] sırasıyla yeşil ve kırmızı çizgiler için kullanılıyor ve asla ikisinin de boş olmadığı bir durum. Yani, "Yukarı2==Aşağı2", her ikisinin de "boş" olduğu durumlar dışında her zaman yanlıştır ve bu, VQ satırının ne yeşil ne de kırmızı değil de sarı olduğu zamandır.

Bunun dışında, işleri doğru şekilde yaptığınızı düşünüyorum. Elbette değişken isimlerinin seçimi tartışılabilir, ama bu akademik. Gidilecek yol, iCustom çağrısını kullanarak ilgilenilen değerleri seçmek ve ardından ticaret koşullarında gerekli olan belirli değer ilişkilerini ifade etmektir.

Maalesef yukarıda bahsettiğim üç göstergenin kaynağına sahip değilim. SADECE her gösterge için aynı anda renk değiştirdikleri anda bir Al veya Sat koşulunu kontrol etmelerini istesem, bunların kodunu nasıl yazarsınız?

teşekkürler

 

Kaynak eksikliği sorun değil. Resminizde 4 arabelleğe sahip bir gösterge gösteren gösterge penceresi 2'ye odaklanalım. Fareyi gösterge üzerinde sola ve sağa hareket ettirirseniz, hangi renk için hangi tamponun kullanıldığını anlayabilirsiniz.

İlk tamponun ([0]) üst satırın mavi gösterimi için olduğunu, ikinci tamponun ([1]) üst satırın kırmızı gösterimi için olduğunu ve aynı şekilde [2] ve [3]'ün de olduğunu varsayalım. alt satırın mavi ve kırmızı . Daha sonra göstergeyi aşağıdaki gibi okuyabilirsiniz:

double top_is_blue = iCustom( ..., 0, 1 );

double top_was_blue = iCustom( ..., 0, 2 );

double top_is_red = iCustom( ..., 1, 1 );

double top_was_red = iCustom( ..., 1, 2 );

double bot_is_blue = iCustom( ..., 2, 1 );

double bot_was_blue = iCustom( ..., 2, 2 );

double bot_is_red = iCustom( ..., 3, 1 );

double bot_was_red = iCustom( ..., 3, 2 );

[/PHP]

Then you can summarise them as follows:

[PHP]bool top_goes_blue = ( top_is_blue == top_was_red );

bool top_goes_red = ( top_is_red == top_was_blue );

bool bot_goes_blue = ( top_is_blue == top_was_red );

bool bot_goes_red = ( top_is_red == top_was_blue );

bool both_go_blue = ( top_goes_blue && bot_goes_blue );

bool both_go_red = ( top_goes_red && bot_goes_red );

Bunu nasıl yapacağınız, aradığınız şeye bağlıdır. Özellikle,

iki satırın eşzamanlı olmayan okumalarını birleştirmek istiyorsanız, kodlama daha karmaşık hale gelebilir. Örneğin, "both_go_blue" boole değişkeni, iki satırın eşzamanlı okumalarını ifade eder ve "bir satırın maviye gittiğini ve diğerinin biraz sonra maviye gittiğini" yakalamaz.

Neden: