[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 141

 

Her şey yolunda gitti. Görünüşe göre bir arabellek ayarladım.

#özellik göstergesi_tamponları 1

 

her şeyi doğru yaptın. Kontrol ettim - olması gerektiği gibi görüntüleniyor (bir ekran verebilirim).

sadece üstüne daha fazla eklendi

#property  indicator_separate_window
#property  indicator_buffers 2
 

Помогите, плиз!!!

double Lots_simb[3];


if((Lots_simb[0]*2)<Lots_simb[2]) // почему истина ?
{

Print("Lots_simb[0]*2=",Lots_simb[0]*2,"Lots_simb[2]=",Lots_simb[2]);
Open_Buy_otl(symb[0],(Lots_simb[2]/2-Lots_simb[0]));

return;

}

2009.07.10 06:57:09 newseason GBPJPY,M30: Lots_simb[0]*2=8.4 Lots_simb[2]=8.4
 
Beyler, uzmanlar, test cihazındaki oturum "Test modunda işleve izin verilmez" yazdığında ne tür bir işleve izin verilmediğini nasıl öğrenebilirim?
 
Dimoncheg писал(а) >>
Beyler, uzmanlar, test cihazındaki oturum "Test modunda işleve izin verilmez" yazdığında ne tür bir işleve izin verilmediğini nasıl öğrenebilirim?

'MetaTrader 4'te İşlem Stratejilerini Test Etmenin Özellikleri ve Sınırlamaları'

 

Merhaba. Gerçekten yardıma ihtiyacım var! Bir göstergeye dayalı bir Uzman Danışman yapmak istiyorum. Başlangıçta, herhangi bir göstergede olduğu gibi, aşağıdaki satırlar vardır:

SetIndexBuffer (0,ExtBullBuffer);
SetIndexBuffer(1,ExtBull1Buffer);
SetIndexBuffer(2,ExtBull2Buffer);
SetIndexBuffer(3,ExtBull3Buffer);
SetIndexBuffer(4,ExtBull4Buffer);
SetIndexBuffer(5,ExtBull5Buffer);
SetIndexBuffer(6,ExtBull6Buffer);
SetIndexBuffer(7,ExtBull7Buffer);
Ardından, ExtBullBuffer değişkenlerinin hesaplandığı programın gövdesi (int start()...) gelir... Uzman Danışman yapmak istediğim için SetIndexBuffer'a ihtiyacım yok, ancak onları silersem, ExtBullBuffer değişkenler test sırasında hesaplanmaz (tüm test zaman aralığında, tüm zaman dilimlerinde, durum böyle olmasa da 0 görüntülenir)... Söyle bana, ne yapmalıyım?? Teşekkür ederim.

 
Levchik >> :

Merhaba. Gerçekten yardıma ihtiyacım var! Bir göstergeye dayalı bir Uzman Danışman yapmak istiyorum. Başlangıçta, herhangi bir göstergede olduğu gibi, aşağıdaki satırlar vardır:

SetIndexBuffer (0,ExtBullBuffer);
Ardından, ExtBullBuffer değişkenlerinin hesaplandığı programın gövdesi (int start()...) gelir... Uzman Danışman yapmak istediğim için SetIndexBuffer'a ihtiyacım yok, ancak onları silersem, ExtBullBuffer değişkenler test sırasında hesaplanmaz (tüm test zaman aralığında, tüm zaman dilimlerinde durum böyle olmasa da 0 görüntülenir)... Bana ne yapacağımı söyleyin?? Teşekkür ederim.

Gösterge arabelleklerinde, arabelleği gösterge (ve yardımcı değil) olarak bildirdiğiniz anda arabelleğin başlatılması otomatik olarak gerçekleşir,

diğer programlarda (göstergeler değil), arabellekler ArrayResize(ExtBullBuffer,Bars) işleviyle başlatılmalıdır;

(tabii ki, arabellek açıkça double ExtBullBuffer[1000]; olarak bildirilmedikçe;)

Ayrıca, başlatma, tampona değer ataması gereken fonksiyonda yapılmalıdır. Senin durumunda int start().

 

Merhaba. Hindi kodunu, ses sinyalinin bir kez değil, 10 kez çıkması için nasıl düzelteceğimi veya bir sonraki mum görünene kadar bip sesi çıkaran hindilerin nasıl olduğunu söyle. Yani, sinyal, göründüğü mumun her zaman devam eder. Ve sonra bu hindi bir sinyal veriyor, ama sadece bir kez .. maalesef geceleri duymuyorum ((((Cevap veren herkese şimdiden teşekkürler.

#özellik göstergesi_chart_window
#özellik göstergesi_buffers 5
#özellik göstergesi_color1 Sarı
#özellik göstergesi_width1 2
#özellik göstergesi_renk2 Gök Mavisi
#özellik göstergesi_width2 2
#özellik göstergesi_color3 Domates
#özellik göstergesi_width3 2

#özellik göstergesi_color4 Mavi
#özellik göstergesi_renk5 Kırmızı
#özellik göstergesi_width4 1
#özellik göstergesi_width5 1

//---- giriş parametreleri
harici int Fiyat = 0; //Fiyata Uygula(0-Kapat;1-Aç;2-Yüksek;3-Düşük;4-Ortalama fiyat;5-Tipik fiyat;6-Ağırlıklı Kapanış)
dış int Uzunluk = 15; // NonLagMA Dönemi
extern int Yer Değiştir = 0; //DispLace veya Shift
harici çift PctFilter = 0; //Ondalık olarak dinamik filtre
extern string note1 ="açık Renk: ln=1 ln&dot=2; off=0";
dış int Renk = 2; //Renk modunu değiştir (1-renk)
harici int ColorBarBack = 0; //Renk modu için geri çubuk
dış çift Sapma = 0; //Yukarı/aşağı sapma
extern string note2 ="aç = 1; kapat = 0";
harici int AlertMode = 0; //kutu Uyarı anahtarı (0-kapalı,1-açık)
extern int WarningMode = 0; //Sesli Uyarı anahtarı(0-kapalı,1-açık)
harici int SendEmail = 0;
harici string ses dosyası = "news.wav";
//---- gösterge tamponları
doubleMABuffer[];
çift UpBuffer[];
doubleDnBuffer[];
çift eğilim[];
çift Del[];
doubleAvgDel[];
çift updbuffer[];
çift dndbuffer[];

çift alfa[];
int i, Faz, Len,Döngü=4;
double Katsayı, beta, t, Toplam, Ağırlık, g;
çift pi = 3.1415926535;
bool UpTrendAlert=yanlış, DownTrendAlert=yanlış;
//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
Gösterge Tamponları(8);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MABuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UpBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,DnBuffer);

SetIndexBuffer(5,trend);
SetIndexBuffer(6,Del);
SetIndexBuffer(7,OrtDel);


SetIndexStyle(3,DRAW_OK); SetIndexArrow(3,159); SetIndexBuffer(3,updbuffer); SetIndexEmptyValue(3,BOŞ_DEĞER);
SetIndexStyle(4,DRAW_ARROW); SetIndexArrow(4,159); SetIndexBuffer(4,dndbuffer); SetIndexEmptyValue(4,BOŞ_DEĞER);


string kısa_adı;
//---- gösterge çizgisi

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//---- DataWindow ve gösterge alt pencere etiketi için isim
short_name="NonLagMA("+Uzunluk+")";
GöstergeShortName(short_name);
SetIndexLabel(0,"NonLagMA");
SetIndexLabel(1,"Yukarı");
SetIndexLabel(2,"Dn");
//----
SetIndexShift(0,Displace);
SetIndexShift(1,Displace);
SetIndexShift(2,Deplasman);
SetIndexShift(3,Değiştir);
SetIndexShift(4,Displace);

SetIndexEmptyValue(0,BOŞ_DEĞER);
SetIndexEmptyValue(1,BOŞ_DEĞER);
SetIndexEmptyValue(2,BOŞ_DEĞER);

SetIndexDrawBegin(0,Uzunluk*Çevrim+Uzunluk+1);
SetIndexDrawBegin(1,Uzunluk*Çevrim+Uzunluk+1);
SetIndexDrawBegin(2,Uzunluk*Döngü+Uzunluk+1);
//----

katsayı=3*pi;
Faz = uzunluk-1;
Len = Uzunluk*4 + Faz;
ArrayResize(alfa,len);
ağırlık=0;

(i=0;i<Len-1;i++) için
{
if (i<=Faz-1) t = 1.0*i/(Faz-1);
başka t = 1.0 + (i-Faz+1)*(2.0*Döngü-1.0)/(Döngü*Uzunluk-1.0);
beta = MathCos(pi*t);
g = 1.0/(Kats*t+1);
eğer (t <= 0.5 ) g = 1;
alfa[i] = g * beta;
Ağırlık += alfa[i];
}

dönüş(0);
}

//+------------------------------------------- --------------------+
//| GecikmesizMA_v7.1 |
//+------------------------------------------- --------------------+
int başlangıç()
{
int i,shift, counted_bars=IndicatorCounted(),limit;
çift fiyat;
if (counted_bars > 0 ) limit=Bars-counted_bars;
if ( counted_bars < 0 ) return(0);
if ( counted_bars ==0 ) limit=Bars-Len-1;
if (counted_bars < 1 )

for(i=1;i<Uzunluk*Döngü+Uzunluk;i++)
{
MABuffer[Barlar-i]=0;
UpBuffer[Barlar-i]=0;
DnBuffer[Barlar-i]=0;
}

for(shift=limit;shift>=0;shift--)
{
Toplam = 0;
(i=0;i<=Len-1;i++) için
{
fiyat = iMA(BOŞ,0,1,0,3,Fiyat,i+shift);
Toplam += alfa[i]*fiyat;

}

if (Ağırlık > 0) MABuffer[shift] = (1.0+Sapma/100)*Toplam/Ağırlık;


eğer (PctFilter>0)
{
Del[shift] = MathAbs(MABuffer[shift] - MABuffer[shift+1]);

çift toplam = 0;
(i=0;i<=Uzunluk-1;i++) için toplam = toplam+Del[shift+i];
OrtDel[shift] = toplam/Uzunluk;

çift karter = 0;
(i=0;i<=Uzunluk-1;i++) sumpow+=MathPow(Del[shift+i]-AvgDel[shift+i],2) için;
double StdDev = MathSqrt(sumpow/Length);

çift Filtre = PctFilter * StdDev;

if( MathAbs(MABuffer[shift]-MABuffer[shift+1]) < Filter ) MABuffer[shift]=MABuffer[shift+1];
}
başka
filtre=0;

eğer (Renk>0)
{
trend[shift]=trend[shift+1];
if (MABuffer[shift]-MABuffer[shift+1] > Filtre) trend[shift]= 1;
if (MABuffer[shift+1]-MABuffer[shift] > Filtre) trend[shift]=-1;

updbuffer[shift] = EMPTY_VALUE; dndbuffer[shift] = BOŞ_DEĞER;

if (trend[shift]>0)
{
UpBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]<0) UpBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
DnBuffer[shift] = BOŞ_DEĞER;
if (trend[shift+1]<0&&Color>1) updbuffer[shift]= MABuffer[shift];
}
if (trend[shift]<0)
{
DnBuffer[shift] = MABuffer[shift];
if (trend[shift+ColorBarBack]>0) DnBuffer[shift+ColorBarBack]=MABuffer[shift+ColorBarBack];
UpBuffer[shift] = EMPTY_VALUE;
if (trend[shift+1]>0&&Color>1) dndbuffer[shift]= MABuffer[shift];

}
}
}
//----------
dize Mesaj;

if ( trend[2]<0 && trend[1]>0 && Volume[0]>1 && !UpTrendAlert)
{
Message = " "+Symbol()+" M"+Period()+" SATIN AL için NonLagMa Sinyali";
if ( AlertMode>0 ) Alert (Mesaj);
if ( WarningMode>0 ) PlaySound(ses dosyası);
if ( SendEmail>0 ) SendMail("NonLagMa", "UpTrendAlert");
UpTrendAlert=true; DownTrendAlert=yanlış;
}

if ( trend[2]>0 && trend[1]<0 && Volume[0]>1 && !DownTrendAlert)
{
Message = " "+Symbol()+" M"+Period()+" SATIŞ için NonLagMa Sinyali";
if ( AlertMode>0 ) Alert (Mesaj);
if ( WarningMode>0 ) PlaySound(ses dosyası);
if ( SendEmail>0 ) SendMail("NonLagMa", "DownTrendAlert");
DownTrendAlert=true; UpTrendAlert=yanlış;
}
//----
dönüş(0);
}

 
E_mc2 >> :

Merhaba. Hindi kodunu, ses sinyalinin bir kez değil, 10 kez çıkması için nasıl düzelteceğimi veya bir sonraki mum görünene kadar bip sesi çıkaran hindilerin nasıl olduğunu söyle. Yani, sinyal, göründüğü mumun her zaman devam eder. Ve sonra bu hindi bir sinyal veriyor, ama sadece bir kez .. maalesef geceleri duymuyorum ((((Cevap veren herkese şimdiden teşekkürler.

Ve neden buna ihtiyacın var? Daha detaylı anlat belki çözüm yakındır ama sen doğru sormayı bilmiyorsun ki insanlar anlasın.

Yazdıklarınıza göre elimde iki çözüm var, hangisini istersiniz, ikisi birden yazmak için çok uzun :)

..

Bu arada, bu kadar uzun kodları bir dosya olarak eklemek daha iyidir.

Evet ve kod için özel bir SRC düğmesi var

Neden: