Ücretsiz bir gösterge yazacağım - sayfa 44

 

Gösterge ile ilgili yardım


Onu esasen bırakmak istiyorum, ancak onu iki arabellekte yeniden yapmak istiyorum.


#özellik göstergesi_separate_window

#özellik göstergesi_tamponları 1

#özellik göstergesi_color1 DodgerBlue

#özellik göstergesi_maksimum 1,4

#özellik göstergesi_level1 0

#özellik göstergesi_minimum -1.2


//------- Göstergenin harici parametreleri ----------------------------------

harici int CCI_Period_0 = 14; // Mevcut TF için CCI dönemi

harici int Seviye_0 = 100; // Mevcut TF için CCI seviyesi

harici int TF_1 = 60; // İlk TF'nin dakika sayısı

harici int CCI_Period_1 = 14; // İlk TF için CCI dönemi

harici int Düzey_1 = 100; // İlk TF için CCI seviyesi

harici int TF_2 = 240; // İkinci TF'nin dakika sayısı

harici int CCI_Period_2 = 14; // İkinci TF için CCI dönemi

harici int Düzey_2 = 100; // İkinci TF için CCI seviyesi

harici int NumberOfBars = 10000; // Hesaplanacak çubuk sayısı (0-tümü)


//------- Gösterge arabellekleri --------------------------------- ---

çift buf0[];

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

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

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

geçersiz başlangıç()

{

göstergeDigits(1);


SetIndexBuffer(0,buf0);

SetIndexLabel(0,"i-3CCI-h");

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);

SetIndexEmptyValue(0,0);

}

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

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

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

geçersiz tanım()

{

Yorum("");

}

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

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

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

geçersiz başlangıç()

{

çift cci0,cci1,cci2;

intnb1,nb2;

int LoopBegin,sh;


if(NumberOfBars==0) LoopBegin=Bars-1;

başka LoopBegin=NumberOfBars-1;

LoopBegin=MathMin(Çubuklar-1,LoopBegin);


for(sh=LoopBegin; sh>=0; sh--)

{

nb1=iBarShift(BOŞ, TF_1, Zaman[sh], Yanlış);

nb2=iBarShift(NULL, TF_2, Zaman[sh], False);


cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);

cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);

cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);


if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf0[sh]=1;

if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf0[sh]=-1;

}

}

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


çıkana kadar kendimi dürtüyorum

böyle denedim


#özellik göstergesi_separate_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_color1 Yeşil

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

#özellik göstergesi_maksimum 1,4

#özellik göstergesi_level1 0

#özellik göstergesi_minimum -1.2


//------- Göstergenin harici parametreleri ----------------------------------

harici int CCI_Period_0 = 14; // Mevcut TF için CCI dönemi

harici int Seviye_0 = 100; // Mevcut TF için CCI seviyesi

harici int TF_1 = 60; // İlk TF'nin dakika sayısı

harici int CCI_Period_1 = 14; // İlk TF için CCI dönemi

harici int Düzey_1 = 100; // İlk TF için CCI seviyesi

harici int TF_2 = 240; // İkinci TF'nin dakika sayısı

harici int CCI_Period_2 = 14; // İkinci TF için CCI dönemi

harici int Düzey_2 = 100; // İkinci TF için CCI seviyesi

harici int NumberOfBars = 10000; // Hesaplanacak çubuk sayısı (0-tümü)


//------- Gösterge arabellekleri --------------------------------- ---

doubleExtBuffer1[];

doubleExtBuffer2[];

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

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

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

geçersiz başlangıç()

{

SetIndexBuffer(0, ExtBuffer1);

SetIndexStyle(0,DRAW_HISTOGRAM,0,2);

//----

SetIndexBuffer(1, ExtBuffer2);

SetIndexStyle(1,DRAW_HISTOGRAM,0,2);

}

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

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

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

geçersiz tanım()

{

Yorum("");

}

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

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

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

geçersiz başlangıç()

{

çift cci0,cci1,cci2;

intnb1,nb2;

int LoopBegin,sh;


if(NumberOfBars==0) LoopBegin=Bars-1;

başka LoopBegin=NumberOfBars-1;

LoopBegin=MathMin(Çubuklar-1,LoopBegin);


for(sh=LoopBegin; sh>=0; sh--)

for(st=LoopBegin; st<0; st--)

{

nb1=iBarShift(BOŞ, TF_1, Zaman[sh], Yanlış);

nb2=iBarShift(BOŞ, TF_2, Zaman[st], Yanlış);


cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);

cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);

cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);


if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf1[sh]=1;

if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf2[st]=-1;



böyle bir hata


sonunda, biri sıfırın üzerinde, diğeri aşağıda olmak üzere iki arabelleğe ihtiyacınız var, aksi takdirde şimdi her şey bir olur


Dosyalar:
12121.jpg  42 kb
ere.mq4  6 kb
 

Sevgili koziabrrr !!! Temanızı oluşturdunuz. Daha çok olur. Ya birisi bir konu aramaya başlarsa? Ve pek çok, bulması zor. Konuya göre konuyu kolaylaştırmak için. Yeni başlayanlara yardımcı olacak en iyi konu. Sorunuz burada. Oluşturulan konuyu silin ve yorumlarımı dikkate alarak oraya yazın !!! O zaman bu konuya da yazdınız - bu megalomani, kişinizin değeri hakkında abartılı bir görüş

Dikkat çekmek için - sorunu açıklamanız gerekir. 1. Gösterge neye benziyor = ekran görüntüsü. 2. Gösterge ne YAPAR, KULLANIMI nedir (giriş noktalarını, trendi, düzlüğü, ... gösterecektir). 3. Neden iki tampon DAHA FAYDALI olacaktır (eğilimi, düzlüğü, giriş noktalarını görmek daha iyidir). İşte o zaman herkes onu iyileştirmek için acele edecek !!!! .... Size de fayda sağlayacaklar! Birlikte yaşamalı, paylaşmalıyız

 

İşte değiştirdim. Bir eğilim gösteriyor gibi görünüyor. Ama bu bir yalan

Yarım saat içinde neyin satılması gerektiğini öğreneceğiz ...

Ve ne zaman satın alınır - sessizdir ...

 
Böyle bir şey daha iyi:

veya bir çeşit MAinColor

 
STARIJ :

İşte değiştirdim. Bir eğilim gösteriyor gibi görünüyor. Ama bu bir yalan

Yarım saat içinde neyin satılması gerektiğini öğreneceğiz ...

Ve ne zaman satın alınır - sessizdir ...


Evet, daha iyi görünüyor, tekrar için teşekkürler. Ama nasıl anlamadım?

 
koziabrrr : Evet, daha iyi görünüyor, yineleme için teşekkürler. Ama nasıl anlamadım?
#property indicator_buffers 2
#property indicator_color2 Tomato
double buf0[], buf1[];  //------- Буферы индикатора ------   добавил второй буфер
void init() 
  {
..................
   SetIndexBuffer ( 1 ,buf1);
   SetIndexLabel ( 1 , "Вниз" );
   SetIndexStyle ( 1 , DRAW_HISTOGRAM , STYLE_SOLID , 2 );
   SetIndexEmptyValue ( 1 , 0 );
  }

void start() 
  {
....................
..................

      buf0[sh]= 0 ;buf1[sh]= 0 ;
       if (cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf0[sh]= 1 ;
       if (cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf1[sh]=- 1 ;
    }
}
 
STARIJ :

YILDIZ :

Çalışıyorum ama tam olarak derleyemiyorum. Sorunun sahibi olduğunuzda iyidir ve olmadığınızda her küçük şey bir gündür.

 
koziabrrr :


Çalışıyorum ama tam olarak derleyemiyorum. Sorunun sahibi olduğunuzda iyidir ve olmadığınızda her küçük şey bir gündür.

... ve her gün - sadece kişinin kendi çalışmasıyla ortaya çıkan paha biçilmez bir deneyim - forumdaki bir kararla değil.
 
Artyom Trishkin :
... ve her gün - sadece kişinin kendi çalışmasıyla ortaya çıkan paha biçilmez bir deneyim - forumdaki bir kararla değil.

Bu doğru!


STARIJ : Yardımın için teşekkürler!!!!


soruyu mahvetti))

 

merhaba! Yuri

gösterge açıklaması: 3 mumdan başlayarak aynı seviyede veya neredeyse aynı seviyede olduklarında, aynı zamanda e-postaya bir uyarı gönderdiler ve bir ses ilettiler. Ayrıca ben iptal edene kadar enstrümanı ve zaman çerçevesini ekranda gösterdi. Ekli dosyalara bakın lütfen örnekler var

Dosyalar:
11.png  25 kb
12.png  24 kb
13.png  24 kb
14.png  27 kb