Kodlama yardımı - sayfa 287

 
airquest:
Merhaba, bir arabellekte bir stokastik ana satırının x dönemleri için en yüksek ve en düşük değeri çıkarmaya çalışıyorum. Değerlerle bir Dizi oluşturmam gereken bir yerde okudum, ancak çalışmıyor. Şimdiye kadar bu kodla sıkışıp kaldım. Doğru mu yapıyorum, biri bana bu konuda yardımcı olabilir mi? Çok teşekkürler. Saygılarımızla.

double num_array[1]={iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,CustomPeriod)};

int gmax=ArrayMaximum(num_array[1],WHOLE_ARRAY,0);

int gmin=ArrayMinimum(num_array[1],WHOLE_ARRAY,0);

MinBuffer=gmin;

MaxBuffer=gmax;

Sorun değil, cevabı buldum... iStochastic'i arabelleğe alma, bir dizideki değerleri ArraySetAsSeries ile ayarlama, ardından serinin ArrayMaximum'unu yapın .

 
airquest:
Sorun değil, cevabı buldum... iStochastic'i arabelleğe alma, bir dizideki değerleri ArraySetAsSeries ile ayarlama, ardından serinin ArrayMaximum'unu yapın .

yer değiştirmek

ArrayMaximum(num_array[1], WHOLE_ARRAY ,0);

ArrayMinimum(num_array[1],WHOLE_ARRAY,0);

ile

ArrayMaximum(sayı_dizi,WHOLE_ARRAY,0);

DiziMinimum(sayı_dizi,WHOLE_ARRAY,0);

 
zigflip:
kusura bakmayın kusura bakmayın, onları karıştırdım, hala doğru olanı kullanırken dojh! her şeyi değiştirmek için aptal meta alıntılar

Bu tür deneyime sahip tek kişi sen değilsin.

Bu kullanıcı dostu olmaktan başka bir şey değil

 

Merhaba Kodlayıcılar ve Krakerler,

Bir ZigZag Kapatıldığında Göstergeyi değiştirmek için uzmanlığınıza ihtiyacınız var (ekli).

Bunun yerine Open'da bir ZigZag'a ihtiyacım var (aynı temel ayarlar). Yeni mum açıldığında uyarı hoş bir dokunuş olurdu (mümkünse).

Çok takdir, teşekkürler!

Dosyalar:
 
razo:
Merhaba Kodlayıcılar ve Krakerler,

Kapatıldığında ZigZag Göstergesini değiştirmek için uzmanlığınıza ihtiyacınız var (ekli).

Bunun yerine Open'da bir ZigZag'a ihtiyacım var (aynı temel ayarlar). Yeni mum açıldığında uyarı hoş bir dokunuş olurdu (mümkünse).

Çok takdir, teşekkürler!

Merhaba Razo, bu zikzak açık.

Dosyalar:
 

Merhaba Tüm Gurular,

Aşağıdaki gösterge eklendiğinde iCustom ile ilgili sorun yaşıyorum... #VQ çubukları.

Birisi LÜTFEN bana aşağıdaki arabellek için değerin nasıl çıkarılacağını gösterebilir mi?...DIR[]

Tamponu çıkarmak için aşağıdaki kodu kullanıyorum ... ancak herhangi bir değer döndürmüyor ....

double dir=iCustom(NULL,PERIOD_M1,"#VQ çubukları",4,0);

Lütfen biri bu konuya bakabilir mi...

Yardımlarınız ve yardımcılarınız çok takdir edilmektedir.....

#property indicator_chart_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_color1 Yeşil

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

#özellik göstergesi_width1 2

#özellik göstergesi_width2 2

dış int Uzunluk = 5;

harici int Yöntem = 3;

extern int Düzgünleştirme = 1;

harici int Filtre = 5;

extern bool Sabit = yanlış;

çift VQ[];

çift SumVQ[];

çift DIR[];

çift UpBuffer[];

çift DnBuffer[];

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

int init()

{

GöstergeTamponları(5);

SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexBuffer(0,UpBuffer);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,DnBuffer);

SetIndexBuffer(2,SumVQ);

SetIndexBuffer(3,VQ);

SetIndexBuffer(4,DIR);

if (Uzunluk < 2) Uzunluk = 2;

if (Yöntem < 0) Yöntem = 0;

if (Yöntem > 3) Yöntem = 3;

if (Düzeltme < 0) Düzgünleştirme = 0;

if (Filtre < 0) Filtre = 0;

string short_name = "VQ | "+ Uzunluk + " , " +

Yöntem + " , " + Düzgünleştirme + " , " + Filtre + " | ";

GöstergeShortName(short_name);

SetIndexEmptyValue(0, 0.0);

SetIndexEmptyValue(1, 0.0);

SetIndexEmptyValue(2, 0.0);

SetIndexEmptyValue(3, 0.0);

dönüş(0);

}

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

int başlangıç()

{

çift MH = 0, ML = 0, MO = 0, MC = 0, MC1 = 0;

int i, j, limit, 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--;

//----

if(counted_bars<1) i=Bars-Length-1;

else i=Barlar-sayılan_barlar;

if(sayılan_barlar<1)

{

j=Barlar-Uzunluk-1;

SumVQ[j + 1] = Kapat[j + 1];

}

süre (i >= 0)

{

MH = iMA(NULL,0,Uzunluk,0,Yöntem,PRICE_HIGH,i);

ML = iMA(NULL,0,Uzunluk,0,Yöntem,PRICE_LOW,i);

MO = iMA(NULL,0,Uzunluk,0,Yöntem,PRICE_OPEN,i);

MC = iMA(NULL,0,Uzunluk,0,Yöntem,PRICE_CLOSE,i);

MC1 = iMA(NULL,0,Uzunluk,0,Yöntem,PRICE_CLOSE,i+Düzleştirme);

if (Sürekli==doğru)

{

MC=iMA(BOŞ,0,Uzunluk,0,Yöntem,PRICE_MEDIAN,i);

MC1=iMA(BOŞ,0,Uzunluk,0,Yöntem,PRICE_MEDIAN,i+Düzleştirme);

}

if((MH - ML)>0)

VQ = MathAbs(((MC - MC1) / MathMax(MH - ML, MathMax(MH - MC1, MC1 - ML)) + (MC - MO) / (MH - ML)) * 0.5) * ((MC - MC1 + (MC - MO)) * 0,5);

SumVQ = SumVQ + VQ;

if (Filtre > 0)

if (MathAbs(SumVQ - SumVQ) < Filtre * Nokta)

SumVQ = SumVQ;

ben--;

}

if(sayılan_barlar<1)

limit=Barlar-Uzunluk-1;

else limit=Barlar-sayılan_barlar;

için (i = limit-1; i >= 0; i--)

{

if (SumVQ > SumVQ) YÖN = 1;

if (SumVQ < SumVQ) DIR = -1;

if (SumVQ== SumVQ) YÖN = YÖN;

eğer (DIR > 0)

{

UpBuffer = Yüksek;

DnBuffer = Düşük;

}

başka

eğer (DIR < 0)

{

DnBuffer = Yüksek;

UpBuffer = Düşük;

}

}

dönüş(0);

}

 
12BPRO:
Merhaba Tüm Gurular,

Aşağıdaki gösterge eklendiğinde iCustom ile ilgili sorun yaşıyorum... #VQ çubukları.

Birisi LÜTFEN bana aşağıdaki arabellek için değerin nasıl çıkarılacağını gösterebilir mi?...DIR[]

Tamponu çıkarmak için aşağıdaki kodu kullanıyorum ... ancak herhangi bir değer döndürmüyor ....

double dir=iCustom(NULL,PERIOD_M1,"#VQ çubukları",4,0);

Lütfen biri bu konuya bakabilir mi...

Yardımlarınız ve yardımcılarınız çok takdir edilmektedir.....

Her şey yolunda görünüyor

#vq çubuklarının yanı sıra bu değerleri kullanan ve doğru değerleri gösteren bir test göstergesinin eklenmesi

vq_bars.mq4

_test_vq.mq4

Dosyalar:
vq_bars.mq4  3 kb
_test_vq.mq4  1 kb
 
mladen:
Her şey yolunda görünüyor #vq çubuklarının yanı sıra bu değerleri kullanan ve doğru değerleri gösteren bir test göstergesi eklemek

vq_bars.mq4

_test_vq.mq4

Vay canına... Teşekkürler Sör MLADEN....

En garip şey oldu ... bu kod göstergemde çalışmıyor ... hata günlüğünü açamıyor ....

ama #VQ çubuklarında test ettim ve gayet iyi çalışıyor....

Bunun için birkaç saat boşa gitti ....

Ne diyebilirim ki.... Sana borçluyum....Bayım.... bu şeyi benim için açıklığa kavuşturduğun için.....

Bu benim #VQ'm.....

Değeri var ama EA'da iCustom'u aradığımda hiçbir değeri yok.... ne diyebilirim ki.... aptal ben....

Dosyalar:
gbpjpy_test.jpg  123 kb
my_vq.jpg  48 kb
 

Sayın MLADEN,

LÜTFEN #VQ.... göstergeme bakar mısınız... Kullanmadığım birkaç satırı sildim... ve birkaç uyarı ekledim....

Benim olayım, EA'daki arabelleği iCustom aracılığıyla ÇAĞRI alamama sorununun nedeni bu....

YARDIMINIZ bir kez daha çok takdir edilmektedir.....

Saygılarımla

AZRUL......

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_color1 Yeşil

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

#özellik göstergesi_width1 2

#özellik göstergesi_width2 2

dış int Uzunluk = 5;

harici int Yöntem = 3;

extern int Düzgünleştirme = 1;

harici çift Filtre = 0,5;

extern bool Sabit = Yanlış;

harici string SoundGbp = "news.wav";

harici string SoundEur = "news.wav";

extern bool PopupAlert = true;

extern bool SendPushNotification = false;

extern bool SoundAlert = Doğru;

int lastAlert=3;

çift VQ[];

çift SumVQ[];

çift DIR[];

çift UpBuffer[];

çift DnBuffer[];

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

int init()

{

GöstergeTamponları(5);

SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexBuffer(0,UpBuffer);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,DnBuffer);

SetIndexBuffer(2,SumVQ);

SetIndexBuffer(3,VQ);

SetIndexBuffer(4,DIR);

if (Uzunluk < 2) Uzunluk = 2;

if (Yöntem < 0) Yöntem = 0;

if (Yöntem > 3) Yöntem = 3;

if (Düzeltme < 0) Düzgünleştirme = 0;

if (Filtre < 0) Filtre = 0;

string short_name = "VQ | "+ Uzunluk + " , " +

Yöntem + " , " + Düzgünleştirme + " , " + Filtre + " | ";

GöstergeShortName(short_name);

SetIndexEmptyValue(0, 0.0);

SetIndexEmptyValue(1, 0.0);

SetIndexEmptyValue(2, 0.0);

SetIndexEmptyValue(3, 0.0);

dönüş(0);

}

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

int başlangıç()

{

int i, limit, 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--;

//----

if(counted_bars<1) i=Bars-Length;

else i=Barlar-sayılan_barlar;

if(sayılan_barlar<1)

süre (i >= 0)

{

VQ = iCustom(NULL,0,"#pollan indy",0,i+1);

SumVQ= iCustom(NULL,0,"#pollan indy",1,i+1);

//if (Filtre > 0)

//if (MathAbs(VQ - SumVQ) < Filtre)

//VQ = ToplamVQ;

ben--;

}

if(sayılan_barlar<1)

limit=Barlar-Uzunluk-1;

else limit=Barlar-sayılan_barlar;

için (i = limit-1; i >= 0; i--)

{

//if (VQ > SumVQ) YÖN = 1;

if ((VQ+VQ) > (SumVQ+SumVQ))

YÖN = 1;

if ((VQ+VQ) < (SumVQ+SumVQ))

YÖN = -1;

if ((VQ+VQ) == (SumVQ+SumVQ))

YÖN = YÖN;

eğer (DIR > 0)

{

UpBuffer = Yüksek;

DnBuffer = Düşük;

}

başka

eğer (DIR < 0)

{

DnBuffer = Yüksek;

UpBuffer = Düşük;

}

if ((DIR > 0) && (DIR > 0))

{

CheckForAlerts(OP_BUY);//ALERT BUY

}

if ((DIR < 0) && (DIR < 0)

{

CheckForAlerts(OP_SELL);//ALERT SATIŞ

}

}

double vq1=iCustom(NULL,0,"#pollan indy",0,i+1);

double svq1=iCustom(NULL,0,"#pollan indy",1,i+1);

double vq2=iCustom(NULL,0,"#pollan indy",0,i+2);

double svq2=iCustom(NULL,0,"#pollan indy",1,i+2);

double vq3=iCustom(NULL,0,"#pollan indy",0,i+3);

double svq3=iCustom(NULL,0,"#pollan indy",1,i+3);

çift dir1=DIR;

çift dizin2=DIR;

çift dizin3=DIR;

çift vq0= (vq1 + vq2);

çift svq0= (svq1 + svq2);

string VQ0_Teks=DoubleToStr(vq0,6);

string VQS0_Teks=DoubleToStr(svq0,6);

string VQ1_Teks=DoubleToStr(vq1,6);

string VQS1_Teks=DoubleToStr(svq1,6);

string VQ2_Teks=DoubleToStr(vq2,6);

string VQS2_Teks=DoubleToStr(svq2,6);

string VQ3_Teks=DoubleToStr(vq3,6);

string VQS3_Teks=DoubleToStr(svq3,6);

string dir1_Teks=DoubleToStr(dir1,6);

string dir2_Teks=DoubleToStr(dir2,6);

string dir3_Teks=DoubleToStr(dir3,6);

dize h =

" Mavi" + " " + VQ0_Teks+ " " + " Kırmızı" + " " + VQS0_Teks + "\n" +

" Mavi" + " " + VQ1_Teks+ " " + " Kırmızı" + " " + VQS1_Teks + "\n" +

" Mavi" + " " + VQ2_Teks+ " " + " Kırmızı" + " " + VQS2_Teks + "\n" +

" Mavi" + " " + VQ3_Teks+ " " + " Kırmızı" + " " + VQS3_Teks + "\n" + "\n" +

" DIR1" + " " + dir1_Teks+" " + "DIR2" + " " + dir2_Teks + " " +"DIR3" + " " + dir3_Teks;

Yorum(h);

dönüş(0);

}

//------------------------------------------------ --------------

void CheckForAlerts(int tipi)

{

//UYARILAR:

statik tarihsaat lastAlertTime=0;

if (lastAlertTime != iTime(NULL,0,0)) {

if (type==OP_BUY && lastAlert!=2) { //SATIN AL

doAlerts("Pollan BAR UP "+Symbol()+" (tf:"+Period()+")",SoundEur);

lastAlert=2;

lastAlertTime=iTime(NULL,0,0);

}

if (type==OP_SELL && lastAlert!=1) { //SAT

doAlerts("Pollan BAR DOWN "+Symbol()+" (tf:"+Period()+")",SoundGbp);

sonUyarı=1;

lastAlertTime=iTime(NULL,0,0);

}

}//if (lastAlertTime != iTime(NULL,0,0) {

// UYARILARI sonlandır

}

//------------------------------------------------ --------------

void doAlerts(dize sMsg,dize SoundFile) {

if (Açılır Uyarı) Uyarısı(sMsg);

if(SoundAlert) PlaySound(SoundFile);

if(SendPushNotification) SendNotification (sMsg);

}

TEŞEKKÜRLER........

 
12BPRO:
Sayın MLADEN,

LÜTFEN #VQ.... göstergeme bakar mısınız... Kullanmadığım birkaç satırı sildim... ve birkaç uyarı ekledim....

Benim olayım, EA'daki arabelleği iCustom aracılığıyla ÇAĞRI alamama sorununun nedeni bu....

YARDIMINIZ bir kez daha çok takdir edilmektedir.....

Saygılarımla

AZRUL......

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_color1 Yeşil

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

#özellik göstergesi_width1 2

#özellik göstergesi_width2 2

dış int Uzunluk = 5;

harici int Yöntem = 3;

extern int Düzgünleştirme = 1;

harici çift Filtre = 0,5;

extern bool Sabit = Yanlış;

harici string SoundGbp = "news.wav";

harici string SoundEur = "news.wav";

extern bool PopupAlert = true;

extern bool SendPushNotification = false;

extern bool SoundAlert = Doğru;

int lastAlert=3;

çift VQ[];

çift SumVQ[];

çift DIR[];

çift UpBuffer[];

çift DnBuffer[];

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

int init()

{

GöstergeTamponları(5);

SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexBuffer(0,UpBuffer);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,DnBuffer);

SetIndexBuffer(2,SumVQ);

SetIndexBuffer(3,VQ);

SetIndexBuffer(4,DIR);

if (Uzunluk < 2) Uzunluk = 2;

if (Yöntem < 0) Yöntem = 0;

if (Yöntem > 3) Yöntem = 3;

if (Düzeltme < 0) Düzgünleştirme = 0;

if (Filtre < 0) Filtre = 0;

string short_name = "VQ | "+ Uzunluk + " , " +

Yöntem + " , " + Düzgünleştirme + " , " + Filtre + " | ";

GöstergeShortName(short_name);

SetIndexEmptyValue(0, 0.0);

SetIndexEmptyValue(1, 0.0);

SetIndexEmptyValue(2, 0.0);

SetIndexEmptyValue(3, 0.0);

dönüş(0);

}

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

int başlangıç()

{

int i, limit, 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--;

//----

if(counted_bars<1) i=Bars-Length;

else i=Barlar-sayılan_barlar;

if(sayılan_barlar<1)

süre (i >= 0)

{

VQ = iCustom(NULL,0,"#pollan indy",0,i+1);

SumVQ= iCustom(NULL,0,"#pollan indy",1,i+1);

//if (Filtre > 0)

//if (MathAbs(VQ - SumVQ) < Filtre)

//VQ = ToplamVQ;

ben--;

}

if(sayılan_barlar<1)

limit=Barlar-Uzunluk-1;

else limit=Barlar-sayılan_barlar;

için (i = limit-1; i >= 0; i--)

{

//if (VQ > SumVQ) YÖN = 1;

if ((VQ+VQ) > (SumVQ+SumVQ))

YÖN = 1;

if ((VQ+VQ) < (SumVQ+SumVQ))

YÖN = -1;

if ((VQ+VQ) == (SumVQ+SumVQ))

YÖN = YÖN;

eğer (DIR > 0)

{

UpBuffer = Yüksek;

DnBuffer = Düşük;

}

başka

eğer (DIR < 0)

{

DnBuffer = Yüksek;

UpBuffer = Düşük;

}

if ((DIR > 0) && (DIR > 0))

{

CheckForAlerts(OP_BUY);//ALERT BUY

}

if ((DIR < 0) && (DIR < 0)

{

CheckForAlerts(OP_SELL);//ALERT SATIŞ

}

}

double vq1=iCustom(NULL,0,"#pollan indy",0,i+1);

double svq1=iCustom(NULL,0,"#pollan indy",1,i+1);

double vq2=iCustom(NULL,0,"#pollan indy",0,i+2);

double svq2=iCustom(NULL,0,"#pollan indy",1,i+2);

double vq3=iCustom(NULL,0,"#pollan indy",0,i+3);

double svq3=iCustom(NULL,0,"#pollan indy",1,i+3);

çift dir1=DIR;

çift dizin2=DIR;

çift dizin3=DIR;

çift vq0= (vq1 + vq2);

çift svq0= (svq1 + svq2);

string VQ0_Teks=DoubleToStr(vq0,6);

string VQS0_Teks=DoubleToStr(svq0,6);

string VQ1_Teks=DoubleToStr(vq1,6);

string VQS1_Teks=DoubleToStr(svq1,6);

string VQ2_Teks=DoubleToStr(vq2,6);

string VQS2_Teks=DoubleToStr(svq2,6);

string VQ3_Teks=DoubleToStr(vq3,6);

string VQS3_Teks=DoubleToStr(svq3,6);

string dir1_Teks=DoubleToStr(dir1,6);

string dir2_Teks=DoubleToStr(dir2,6);

string dir3_Teks=DoubleToStr(dir3,6);

dize h =

" Mavi" + " " + VQ0_Teks+ " " + " Kırmızı" + " " + VQS0_Teks + "\n" +

" Mavi" + " " + VQ1_Teks+ " " + " Kırmızı" + " " + VQS1_Teks + "\n" +

" Mavi" + " " + VQ2_Teks+ " " + " Kırmızı" + " " + VQS2_Teks + "\n" +

" Mavi" + " " + VQ3_Teks+ " " + " Kırmızı" + " " + VQS3_Teks + "\n" + "\n" +

" DIR1" + " " + dir1_Teks+" " + "DIR2" + " " + dir2_Teks + " " +"DIR3" + " " + dir3_Teks;

Yorum(h);

dönüş(0);

}

//------------------------------------------------ --------------

void CheckForAlerts(int tipi)

{

//UYARILAR:

statik tarihsaat lastAlertTime=0;

if (lastAlertTime != iTime(NULL,0,0)) {

if (type==OP_BUY && lastAlert!=2) { //SATIN AL

doAlerts("Pollan BAR UP "+Symbol()+" (tf:"+Period()+")",SoundEur);

lastAlert=2;

lastAlertTime=iTime(NULL,0,0);

}

if (type==OP_SELL && lastAlert!=1) { //SAT

doAlerts("Pollan BAR DOWN "+Symbol()+" (tf:"+Period()+")",SoundGbp);

sonUyarı=1;

lastAlertTime=iTime(NULL,0,0);

}

}//if (lastAlertTime != iTime(NULL,0,0) {

// UYARILARI sonlandır

}

//------------------------------------------------ --------------

void doAlerts(dize sMsg,dize SoundFile) {

if (Açılır Uyarı) Uyarısı(sMsg);

if(SoundAlert) PlaySound(SoundFile);

if(SendPushNotification) SendNotification(sMsg);

}

TEŞEKKÜRLER........

"#pollan indy" kullanmak için değiştirdiniz

Bu göstergenin ne yaptığı hakkında hiçbir fikrim yok ("pollan" göstergelerinin geri kalanı gibiyse, o zaman yeniden boyar ve bu, sorunlarınıza neden olabilir, ancak şimdi sadece tahmin oyununu yapıyorum)