Nasıl kodlanır? - sayfa 337

 
at120:
Merhaba Mladen!

iCustom'ımın çağrısının doğru olduğunu düşünüyorum, çünkü testte ve normalde (verileri dışa aktarma veya indi olarak kullanma)

şimdiye kadar iyi çalışıyor. Bence sorun bahsettiğiniz gibi double/array değerinde.

Şimdi kullandığımda

çift anne1[];

mom1 = iCustom(NULL,0,"myIndi",0,i);

ve a -> mom(mom1,Bars,20,i);

-> "anne" - parametre görüşmesine izin verilmiyor

Bunu nasıl doğru yazarım?

Çok teşekkürler ve hoşçakalın, AT

Şu şekilde deneyin:

mom(mom1,Bars,20,i);[/PHP]

Also, change the mom function to be like this :

[PHP]double Mom(double& series[], int period, int totcount, int index) { if (totcount<1 || period<1) return (EMPTY_VALUE); if (indextotcount-1) return (EMPTY_VALUE); return (series-series); }
 

Merhaba Mladen!

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

Benim sorunum, "const" a ihtiyacım var çünkü programın diğer bölümleri buna ihtiyaç duyuyor ...

"Her şeyi" yeni yazmak çok fazla iş, bu yüzden soru şu ki, bunun tersini yapabilir miyim?

böylece mom1 alt işlevle çalışır mı?

Çok teşekkürler ve hoşçakal, AT

 
at120:
Merhaba Mladen!

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

Benim sorunum, "const" a ihtiyacım var çünkü programın diğer bölümleri buna ihtiyaç duyuyor ...

"Her şeyi" yeni yazmak çok fazla iş, bu yüzden soru şu ki, bunun tersini yapabilir miyim?

böylece mom1 alt işlevle çalışır mı?

Çok teşekkürler ve hoşçakalın, AT

Anne işlevini olduğu gibi kullanabilirsiniz (ve gerisini)

Sadece anneyi değiştir ( mom1 , Bars , 20 , i ); anneye ( mom1 , Barlar , 20 , ben );

 

sonra hatayı alıyorum:

-> "mom1" - parametre görüşmesine izin verilmiyor

dostum bu zor... başka bir fikrin var mı?

Teşekkürler ve hoşçakal, AT

 
at120:
sonra hatayı alıyorum:

-> "mom1" - parametre görüşmesine izin verilmiyor

dostum bu zor... başka bir fikrin var mı?

Teşekkürler ve hoşçakalın, AT

o hatayı almıyorum

Örneğe bakın:

#property indicator_chart_window

double buffer[];

int init() { SetIndexBuffer(0,buffer); return(0); }

int deinit() { return(0); }

int start()

{

double mom = Mom(buffer,10,50,0);

return(0);

}

double Mom(const double& series[], int period, int totcount, int index)

{

if (totcount<1 || period<1) return (EMPTY_VALUE);

if (indextotcount-1) return (EMPTY_VALUE);

return (series-series);

}

Hiç hatasız derler

 

Merhaba Mladen!

Belki de for {} işlevi nedeniyledir? (Barları almak için mi?) ya da...

diğer nokta ise: mom1 özel bir indi... mom1 = iCustom(NULL,0,"myIndi",0,i);

burada aradığım şey: mom(mom1,Bars,20,i);

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

hoşçakal, AT

 
at120:
Merhaba Mladen!

Belki de for {} işlevi yüzündendir? (Barları almak için mi?) ya da...

diğer nokta ise: mom1 özel bir indi... mom1 = iCustom(NULL,0,"myIndi",0,i);

burada aradığım şey: mom(mom1,Bars,20,i);

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

hoşçakal, AT

hayır sebep bu olamaz

Bu örneğe bakın:

#property indicator_chart_window

double buffer[];

int init() { SetIndexBuffer(0,buffer); return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for(int i = limit; i>=0; i--)

{

buffer = iCustom(NULL,0,"custom name",0,i);

double mom = Mom(buffer,10,50,i);

}

return(0);

}

double Mom(const double& series[], int period, int totcount, int index)

{

if (totcount<1 || period<1) return (EMPTY_VALUE);

if (indextotcount-1) return (EMPTY_VALUE);

return (series-series);

}

Ayrıca, hiç derleyici hatası yok

 

Merhaba Mladen!

Belki de kodum daha çok buna benziyor ve bir "hata" var... :-/

#property indicator_chart_window

double buffer[];

int init() { SetIndexBuffer(0,buffer); return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for(int i = limit; i>=0; i--)

{

double mom1;

mom1 = iCustom(NULL,0,"custom name",0,i);

buffer = (

Mom(mom1,10,Bars,i);

);

}

return(0);

}

double Mom(const double& series[], int period, int totcount, int index)

{

if (totcount<1 || period<1) return (EMPTY_VALUE);

if (indextotcount-1) return (EMPTY_VALUE);

return (series-series);

}

);

Teşekkürler ve hoşçakalın, AT

 
at120:
Merhaba Mladen!

Belki de kodum daha çok buna benziyor ve bir "hata" var... :-/

#property indicator_chart_window

double buffer[];

int init() { SetIndexBuffer(0,buffer); return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for(int i = limit; i>=0; i--)

{

double mom1;

mom1 = iCustom(NULL,0,"custom name",0,i);

buffer = (

Mom(mom1,10,Bars,i);

);

}

return(0);

}

double Mom(const double& series[], int period, int totcount, int index)

{

if (totcount<1 || period<1) return (EMPTY_VALUE);

if (indextotcount-1) return (EMPTY_VALUE);

return (series-series);

}

);
Teşekkürler ve hoşçakalın, AT

120'de

Kodunuzda mom1 bir dizi veya arabellek olarak değil, çift (basit çift değişken) olarak tanımlanır.

"Tampon" tanımlandığı gibi tanımlayın, init bölümüne tamponlara ekleyin ve sorun olmayacaktır ( tampon sayısını uygun şekilde ayarladığınızdan emin olun)

 

Merhaba Malden!

Desteğin için teşekkürler! ;-)

Hatta, bana söylediğin gibi kodu yazdığımda:

(Bence de...)

#property indicator_chart_window

double buffer[];

double mom1[];

int init() { SetIndexBuffer(0,buffer); SetIndexBuffer(1,mom1);return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

for(int i = limit; i>=0; i--)

{

mom1 = iCustom(NULL,0,"custom name",0,i);

buffer = (

Mom(mom1,10,Bars,i);

//doesn't work - no value in indi

// Mom(mom1,10,Bars,i); //error: parameter conversation not allowed

// mom1 // this works

);

}

return(0);

}

double Mom(const double& series[], int period, int totcount, int index)

{

if (totcount<1 || period<1) return (EMPTY_VALUE);

if (indextotcount-1) return (EMPTY_VALUE);

return (series-series);

}

);

Yani "First" versiyonunu kullandığımda hiçbir değer alamıyorum..

İkinci sürümü kullandığımda hata alıyorum... hmmm.

Sadece anneyi çağır1 çalışır... ama bu doğru değer değil...

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

hoşçakal, AT