[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 160
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
1.mq4 (ekli) EA'nın görsel testi sırasında, 3-cci-h3 göstergesini (ekli) çizelgeye sürükleyin, o zaman, göründüğü gibi, hesaplanan cci'nin kesinlikle aynı parametreleriyle, gösterge sinyalleri ve gerçek cci (sağ üst köşedeki nesne metni) eşleşmiyor.
NİYE YA?
Ve nedense bu türkiyede uyarılar çalışmıyor.
Danışman kodu:
Gösterge kodu:
//+------------------------------------------- --------------------+
//| i-3CCI-h.mq4 |
//| johnfantom ve kimiv |
//| http://www.kimiv.ru |
//| |
//| 02.01.2006 Tek şişede 3 TF'li CCİ. |
//+------------------------------------------- --------------------+
# mülkiyet telif hakkı "johnfantom & KimIV"
#özellik bağlantısı "http://www.kimiv.ru"
#ö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 = 1000; // Hesaplanacak çubuk sayısı (0-tümü)
harici int ExtBars=3;
int başına;
//------- Gösterge arabellekleri --------------------------------- ---
çift buf0[];
//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
geçersiz init() {
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;
int nb1, nb2,sayım;
int LoopBegin, sh;
if (NumberOfBars==0) LoopBegin=Bars-1;
başka LoopBegin=NumberOfBars-1;
LoopBegin=MathMin(Barlar-1, LoopBegin);
say=GöstergeCounted();
for (sh=count; sh>=0; sh--) {
nb1=iBarShift(BOŞ, TF_1, Zaman[sh+1], Yanlış);
nb2=iBarShift(NULL, TF_2, Zaman[sh+1], False);
cci0=iCCI(NULL, 0, CCI_Period_0, PRICE_CLOSE, sh+1);
cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);
cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);
/* çift cci[3];
cci[0]=cci0;
cci[1]=cci1;
cci[2]=cci2;
string s1="cci-0 *** "+DoubleToStr(cci[0],3);
string s2="cci-1 *** "+DoubleToStr(cci[1],3);
string s3="cci-2 *** "+DoubleToStr(cci[2],3);
dizi dizgi[3];
str[0]=s1;
str[1]=s2;
str[2]=s3;
colorcol=Kireç;
for(int y=0;y<3;y++)
{ObjectCreate("textSignal"+y,OBJ_LABEL,0,0,0,0,0);
ObjectSet("textSignal"+y,OBJPROP_CORNER,1);
ObjectSet("textSignal"+y,OBJPROP_XDISTANCE,35-25);
ObjectSet("textSignal"+y,OBJPROP_YDISTANCE,y*(20)+20+8);
if(cci[y]>=0)col=Lime;else col=Kırmızı;
if(cci[y]>Seviye_0) col=Su;
if(cci[y]<-Level_0) col=DarkViolet;
ObjectSetText("textSignal"+y,str[y],15,"Tahoma",col);
}
*/
if (cci0>Level_0 && cci1>Level_1 && cci2>Level_2) {buf0[sh]=1;
if (per != Time[0]) {per = Time[0];
if(sh<=ExtBars && ExtBars!=-1)
Alert(Symbol(),Period()," ",
ZamanYıl(Zaman[sh]),".",
TimeDay(Saat[sh]),".",
ZamanAy(Zaman[sh]),"; ",
TimeHour(Time[sh]),":",
ZamanDakika(Saat[sh])," ",
"Satın almak");}}
if (cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) {buf0[sh]=-1;
if (per != Time[0]) {per = Time[0];
if(sh<=ExtBars && ExtBars!=-1)
Alert(Symbol(),Period()," ",
ZamanYıl(Zaman[sh]),".",
TimeDay(Saat[sh]),".",
ZamanAy(Zaman[sh]),"; ",
TimeHour(Time[sh]),":",
ZamanDakika(Saat[sh])," ",
"Satış");}}
}
}
//+------------------------------------------- --------------------+
Kendiniz deneyin pliz. bir şey benim için hiç çalışmıyor. Fuflo çekiyor.
Teoride, çizgiler eşleşmelidir. Ama pratikte biraz farklı çıkıyor.
Lütfen bana neyin yanlış olabileceğini söyle?
Değeri arabelleğe yazan özyinelemeli bir işlev yaptı.
göstergeden çağrıldığında, danışmana yapıştırmaya çalıştığımda iyi çalışıyor - cevap 0
Ne yanlış olabilir?
Lütfen bana neyin yanlış olabileceğini söyle?
Değeri arabelleğe yazan özyinelemeli bir işlev yaptı.
göstergeden çağrıldığında, danışmana yapıştırmaya çalıştığımda iyi çalışıyor - cevap 0
Ne yanlış olabilir?
belki arabellek boyutu ayarlanmamıştır!?
Bir fişin olduğu yerde bulundu.
IndicatorCounted'ın göstergede 0 ve danışmanda -1 verdiği ortaya çıktı (işlevde doğruluk kontrolü var - böylece> = 0, bu nedenle danışmanda dikkate alınmaz)
Bu neden oluyor ve hata nasıl kaldırılır?
MT4 yapı 225, eurusd M1'i eşleştirin.
Bir fişin olduğu yerde bulundu.
IndicatorCounted'ın göstergede 0 ve danışmanda -1 verdiği ortaya çıktı (işlevde doğruluk kontrolü var - böylece> = 0, bu nedenle danışmanda dikkate alınmaz)
Bu neden oluyor ve hata nasıl kaldırılır?
MT4 yapı 225, eurusd M1'i eşleştirin.
https://docs.mql4.com/en/customind
if (k>k1+7 && s<(High[1]-(High[1]-Low[1])/2) && bay==true)
{
int t=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,NULL,NULL,"My order #",16384,0,Green);
bay=false;
Print (GetLastError());
}
}
if (s>(High[0]-(High[0]-Low[0])/2) && bay==false)
{
OrderSelect(t,SELECT_BY_TICKET,MODE_TRADES);
Print (GetLastError());
OrderClose(t,0.1,Ask,5,Red);
}
if (k>k1+7 && s<(High[1]-(High[1]-Low[1])/2) && bay==true)
{
int t=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,NULL,NULL,"My order #",16384,0,Green);
bay=false;
Print (GetLastError());
}
}
if (s>(High[0]-(High[0]-Low[0])/2) && bay==false)
{
OrderSelect(t,SELECT_BY_TICKET,MODE_TRADES);
Print (GetLastError());
OrderClose(t,0.1,Ask,5,Red);
}
Açma ve kapama farklı kenelerde gerçekleşir. Ve danışman, bir zamanlar t değişkenine neyin atandığını artık hatırlamıyor. Veya onu global veya statik hale getirmek gerekir.
Global, fonksiyonların dışında tanımlanır. Veya statik int olarak bildirin
Açma ve kapama farklı kenelerde gerçekleşir. Ve danışman, bir zamanlar t değişkenine neyin atandığını artık hatırlamıyor. Veya onu global veya statik hale getirmek gerekir.
Global, fonksiyonların dışında tanımlanır. Veya statik int olarak bildirin
kesinlikle kazandığın ve unuttuğun için teşekkürler))
Ayarladığım Göstergede (daha sonra onları Zaman[i] ile karşılaştırmak için):
Sonra bir döngüde
Sonuç olarak , StrToTime (StartRange) ve StrToTime(EndRange) Sıfırlar döndürür.
- Neden ve nasıl düzeltilir?