ICözel işlev - sayfa 9

 

Bak, yaptığım şey bu ( Kalın ):

value1[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 0 );

value2[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 1 );

value3[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 2 );

value4[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 3 );

 

Aslında, şimdi koduma bakın!

//+------------------------------------------- -------------------+

//| COG çağrısı.mq4 |

//| |

//| |

//+------------------------------------------- -------------------+

#özellik göstergesi_separate_window

#özellik göstergesi_tamponları 4

#özellik göstergesi_color1 Kireç

#özellik göstergesi_renk2 Kırmızı

#özellik göstergesi_color3 CLR_NONE

#özellik göstergesi_color4 CLR_NONE

//---- arabellekler

çift değer1[];

çift değer2[];

çift değer3[];

çift değer4[];

//+------------------------------------------- -------------------+

//| Özel gösterge başlatma işlevi |

//+------------------------------------------- -------------------+

int init()

{

string kısa_adı;

//---- göstergeler

Gösterge Tamponları(4);

SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,Kireç);

SetIndexBuffer(0,değer1);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1,Kırmızı);

SetIndexBuffer(1,değer2);

SetIndexStyle(2,DRAW_NONE);

SetIndexBuffer(2,değer3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,değer4);

GöstergeDigits(Rakamlar+2);

dönüş(0);

}

//+------------------------------------------- -------------------+

//| Özel gösterge sıfırlama işlevi |

//+------------------------------------------- -------------------+

int tanım()

{

//----

//----

dönüş(0);

}

//+------------------------------------------- -------------------+

//| Özel gösterge yineleme işlevi |

//+------------------------------------------- -------------------+

int başlangıç()

{

int counted_bars=IndicatorCounted();

//---- olası hataları kontrol et

if (counted_bars<0) return(-1);

//---- son sayılan çubuk yeniden sayılacak

if (counted_bars>0) counted_bars--;

int pos=Barlar-sayılan_barlar;

süre(konum>=0)

{

değer1[konum]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,kon,0);

değer2[konum]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,kon,1);

value3[konum]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,kon,2);

value4[konum]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,kon,3);

konum--;

}

dönüş(0);

}

//+------------------------------------------- -------------------+

 

koymayı denedim

value1[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 0,0 );

value2[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 0,1 );

value3[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 0,2 );

value4[pos]=iCustom(NULL,0,"COGpoint1",50,3000,0,true,pos, 0,3 );

şimdi sadece tampon 2 olan kırmızı çizgiyi korudu ama şimdi grafik ekranında daha yükseğe çıktı ve hala düz. çılgın!?!?

 

ahhhh!!!

tampon 2 hakkında bu kadar özel olan ne???

 

Özel çalışmam var, bu konu çok yardımcı oldu. Bir EA üzerinde çalışıyorum ama bunu yaparken öğreniyorum, bu yüzden biraz yavaş. Bir ticaretten sonra EA'yı durdurmanın veya bir ticarete girdikten sonra kendini otomatik olarak kapatmanın bir yolu var mı?

Sorun şu ki, kar al'ı vurduktan sonra, her şey hala kısayı gösteriyorsa, yeniden giriyor.

Herhangi bir yardım çok takdir edilecektir ....

 

Bir kod örneği lütfen

Birisi, çubuk kapanışında grafikteki iki özel göstergenin değerlerini alacak ve buna dayanarak, bir uyarı verecek veya renkli çubuklar çizecek bir göstergenin örnek kodunu paylaşabilir mi, gerçekten ne yaptığı önemli değil.

Örneğin, grafikte farklı dönem ayarlarına sahip iki LWMA'mız var. Çubuk kapandığında, gösterge değerlerini karşılaştırır ve kısa olan uzun olandan daha yüksekse, ayrı bir pencerede mavi bir çubuk çizer. Kadar basit.

Mql çalışmalarım için buna ihtiyacım var, şimdi teoriden biraz bunaldım ve pratik bir şeyler yapmak istiyorum. Şimdiden teşekkürler!

 

İşlem yapılırken Fonksiyon nasıl çağırılır?

Lütfen bana yardım et

Yeni bir işlem açarken veya bir işlemi kapatırken veya bekleyen bir emir oluştururken işlem yürütülürken bir işlevi nasıl çağırırım, II işlevini çağırmak istiyorum

 
prasantha60:
Lütfen bana yardım edin, yeni bir işlem açarken veya bir işlemi kapatırken veya bekleyen bir emir oluştururken işlem yürütülürken bir işlevi nasıl çağırırım, II işlevini çağırmak istiyorum

Hangi işlevi çağırmak istiyorsunuz? Sorunuzun ne olduğundan tam olarak emin değilim.

 
Dosyalar: