Kodlama yardımı - sayfa 288

 

Merhaba,

Öncelikle bu yanlış yerdeyse bir özür, baktığım bir pivot indi ama Q'm kodlama ile ilgili, MTF'ye de koyabilirdim ama başlamak için en iyi yerin burası olduğunu düşündüm.

MT4'te günlük, haftalık, aylık = W1, D1, MN1 var

ama bir yıl fonksiyonu veya çeyrek fonksiyonu var mı?

Örneğin, ekteki pivot göstergesinde 1 yılı nasıl elde edersiniz ve bu 12 aylık bir döngü mü yoksa sabit bir önceki 2013 yılı örneği mi (veya seçebilir misiniz)? Ve aynı şekilde, üç aylık pivotları hesaplamasını nasıl sağlayabilirim.

Herhangi bir rehberlik takdir edilecektir, ekli bir aylık pivot göstergesidir. Ektekileri değiştirebileceğimden oldukça eminim, ancak çeyrek veya yıl çıktısı yapmak için verileri nasıl almaya başlayacağımı bilmiyorum.

allpivots_monthly.mq4

Çok teşekkürler

Kevin

Dosyalar:
 
mladen:
"#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)

Sayın MLADEN...

Bunu (#pollan indy) sahip olduğunuz başka bir göstergeyle değiştirebilir misiniz... #VQ çubukları olarak adlandırılabilir... LÜTFEN bir deneyin.... çünkü gösterge arabelleğinde ekteki gibi bir okuma var ama bu ' #pollan indy'yi daha fazla test etmek için EA'mda iCustom aracılığıyla arama yapamadım...

En kısa zamanda tekrar görüşmek dileğiyle... TEŞEKKÜRLER

Saygılarımla

AZRUL

Dosyalar:
my_vq.jpg  48 kb
 
12BPRO:
Sayın MLADEN...

Bunu (#pollan indy) sahip olduğunuz başka bir göstergeyle değiştirebilir misiniz... #VQ çubukları olarak adlandırılabilir... LÜTFEN bir deneyin.... çünkü gösterge arabelleğinde ekteki gibi bir okuma var ama bu '#pollan indy'yi daha fazla test etmek için EA'mda iCustom aracılığıyla arama yapamadım...

En kısa zamanda tekrar görüşmek dileğiyle... TEŞEKKÜRLER

Saygılarımla

AZRUL

#VQ'yu #VQ ile değiştirmeye gerek yok (zaten volatilite kalitesini hesaplıyor)

Normal #VQ ile olması gerektiği gibi çalışıyorsa, tek mantıklı sonuç "#pollan indy" ile ilgili bir sorun olduğudur.

 

Kodlama yardımı

Hepinize günaydın

merhaba mladen

İlk kodlarımı oluşturmaya çalışıyorum.

Benim dilimde manuel MT4 olmadığı için diğer kodlardan öğrenin.

Koduma gülmemek için dua ediyorum.

Lütfen bana yardımcı olabilir, işe yarıyor.

Bir Doji'nin yaratılışını gösteren basit bir göstergedir.

yardımın için yalvarıyorum.

Şimdiden çok teşekkür ederim.

Saygılarımla.

Hermo.

PD. İyi derler ama çalışmıyor.

Dosyalar:
 
Hermo:
Hepinize günaydın

merhaba mladen

İlk kodlarımı oluşturmaya çalışıyorum.

Benim dilimde manuel MT4 olmadığı için diğer kodlardan öğrenin.

Koduma gülmemek için dua ediyorum.

Lütfen bana yardımcı olabilir, işe yarıyor.

Bir Doji'nin yaratılışını gösteren basit bir göstergedir.

yardımın için yalvarıyorum.

Şimdiden çok teşekkür ederim.

Saygılarımla.

Hermo.

PD. İyi derler ama çalışmıyor.

Hermo

kontrol edecek

Şimdi ECB basın toplantısını bekliyorum :) :)

 
12BPRO:
Sayın MLADEN...

Bu yüzden ilk etapta #VQ'mu yayınlamadım.... belki de "pollan indy" ile ilgili bir yanlışlık olduğu konusunda haklısınız ve EVET yeniden boyadı....

Benim için, sadece sonucun ne olduğunu görmek için bu göstergeyle teorimi denemek istiyorum....

Mesele şu ki, EA'mdaki gösterge arabelleğini arayamadım... bunun nedeni, EA'ma yapılan iCustom çağrısını engelleyen #VQ'mun değiştirilmiş versiyonu olabilir....

Orijinal #VQ ile gayet iyi çalışıyor... ve EA'mı çalıştırabilirim.... ama değiştirilmiş #VQ (benimki) ile, aşamadım ama yine de önceki başlıkta gösterildiği gibi bir değer var. .

Sanırım sorun MODIFIED #VQ versiyonumda.... çok sözdizimi hatası olabilir... LÜTFEN zamanınız varsa bir göz atın ve olması gerektiği gibi çalışıp çalışmadığını görün.....

TEŞEKKÜRLER... ve herhangi bir olumsuz girdi için özür dilerim .....

saygılarımla..

AZRUL

AZRUL

Kodu görmeden "pollan indy" ile ne olduğunu bilemem

Tek yapabileceğim tahminde bulunmak ve kodlamada tahminde bulunmak çok ama çok kötü

Herşey gönlünce olsun

 
mladen:
#VQ'yu #VQ ile değiştirmeye gerek yok (zaten oynaklık kalitesini hesaplıyor) Normal #VQ ile olması gerektiği gibi çalışıyorsa, tek mantıklı sonuç "#pollan indy" ile ilgili bir sorun olduğudur.

Sayın MLADEN...

Bu yüzden ilk etapta #VQ'mu yayınlamadım.... belki de "pollan indy" ile ilgili bir yanlışlık olduğu konusunda haklısınız ve EVET yeniden boyadı....

Benim için, sadece sonucun ne olduğunu görmek için bu göstergeyle teorimi denemek istiyorum....

Mesele şu ki, EA'mdaki gösterge arabelleğini arayamadım... bunun nedeni, EA'ma yapılan iCustom çağrısını engelleyen #VQ'mun değiştirilmiş versiyonu olabilir....

Orijinal #VQ ile gayet iyi çalışıyor... ve EA'mı çalıştırabilirim.... ama değiştirilmiş #VQ (benimki) ile, aşamadım ama yine de önceki başlıkta gösterildiği gibi bir değer var. .

Sanırım sorun MODIFIED #VQ versiyonumda.... bir sözdizimi hatası olabilir... LÜTFEN zamanınız varsa bir göz atın ve olması gerektiği gibi çalışıp çalışmadığını görün..... sadece ÖĞRENME AMAÇLARI için ....

TEŞEKKÜRLER... BU EA ŞİMDİ ÇALIŞIYOR VE SONUCU ÖĞRENMEK İLE İLGİLENİYORSANIZ, TEST EDİYORUM, BUNU POLLAN KONUSUNDA YAYINLAYACAĞIM.....

saygılarımla..

AZRUL

 
mladen:
AZRUL

Kodu görmeden "pollan indy" ile ne olduğunu bilemem

Tek yapabileceğim tahminde bulunmak ve kodlamada tahmin yapmak çok ama çok kötü

Herşey gönlünce olsun

BU EA'YI ŞİMDİ ÇALIŞIYOR VE SONUCUNU ÖĞRENMEK İSTERSENİZ TEST EDERSENİZ POLLAN İPTALİNDE YAYINLAYACAĞIM.....

ÇALIŞMAYAN #VQ'NUN BENİM VERSİYONUYDU...

TEŞEKKÜRLER...

saygılarımla..

AZRUL

 

Merhaba CODESGURUS,

Ekteki gibi çoklu zaman çerçevesi hakkında genel bir sorum var.

sol taraftaki ilk resim 5M zaman dilimindeki bir RSI göstergesidir...

İkincisi, 15M zaman diliminde 5M'nin RSI çoklu zaman çerçevesi...

Soru, KIRMIZI daire ile gösterilen değerde neden bir fark olduğudur....

Birisi LÜTFEN bu RsiMA-MTF kodlarını açıklayabilir ve düzeltebilir mi ........

#property indicator_separate_window

#özellik göstergesi_buffers 6

#özellik göstergesi_color1 Kireç

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

#özellik göstergesi_color3 Su

#özellik göstergesi_color4 Sarı

#özellik göstergesi_renk5 Beyaz

#özellik göstergesi_color6 Macenta

#özellik göstergesi_width1 1

#özellik göstergesi_width2 1

#özellik göstergesi_width3 1

#özellik göstergesi_width4 1

#özellik göstergesi_width5 1

#özellik göstergesi_width6 1

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

//-----

//harici dize TimeFrames = "M15; M60";

extern bool TimeFrame1bool = true;

harici int Zaman Çerçevesi1 = 0;

extern bool TimeFrame2bool = Yanlış;

harici int Zaman Çerçevesi2 = 0;

extern bool TimeFrame3bool = Yanlış;

harici int Zaman Çerçevesi3 = 0;

//int dönem[]={1,5,15,30,60,240,1440,43200};

//string periodString[]={"M1","M5","M15","M30","H1","H4","D1","MN1"};

// gösterge isimleriyle bir dizi daha yarat

//string sinyalAdDize[]={"MA"};

int ExtCountedBars=0;

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

int TF;

//---- arabellekler

çift ExtMapBuffer1[];

çift ExtMapBuffer2[];

çift ExtMapBuffer3[];

çift ExtMapBuffer4[];

çift ExtMapBuffer5[];

çift ExtMapBuffer6[];

//-------

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

int init()

{

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexBuffer(1, ExtMapBuffer2);

SetIndexBuffer(2, ExtMapBuffer3);

SetIndexBuffer(3, ExtMapBuffer4);

SetIndexBuffer(4, ExtMapBuffer5);

SetIndexBuffer(5, ExtMapBuffer6);

//-----

SetIndexStyle(0, DRAW_LINE);

SetIndexStyle(1, DRAW_LINE);

SetIndexStyle(2, DRAW_LINE);

SetIndexStyle(3, DRAW_LINE);

SetIndexStyle(4, DRAW_LINE);

SetIndexStyle(5, DRAW_LINE);

// SetIndexStyle(0,DRAW_LINE,BOŞ,1);

// SetIndexBuffer(0,ExtMapBuffer1);

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

int M1 = PERIOD_M1;

int M5 = PERIOD_M5;

int M15 = PERİYOD_M15;

int M30 = PERIOD_M30;

int H1 = PERİYOD_H1;

int H4 = PERIOD_H4;

int D1 = PERIOD_D1;

int WK1 = PERIOD_W1;

int MN1 = PERİYOD_M1;

TF=Dönem();

if (TF==PERIOD_M1) { TimeFrame1 = M1; Zaman Çerçevesi2 = M1; Zaman Çerçevesi3 = M1;}

else if (TF==PERIOD_M5) { TimeFrame1 = M1; Zaman Çerçevesi2 = M5; Zaman Çerçevesi3 = M15;}

else if (TF==PERIOD_M15) { TimeFrame1 = M5; Zaman Çerçevesi2 = M15; Zaman Çerçevesi3 = H1; }

else if (TF==PERIOD_M30) { TimeFrame1 = M5; Zaman Çerçevesi2 = M15; Zaman Çerçevesi3 = H1; }

else if (TF==PERIOD_H1) { TimeFrame1 = M15; Zaman Çerçevesi2 = H1; Zaman Çerçevesi3 = H4; }

else if (TF==PERIOD_H4) { TimeFrame1 = H4; Zaman Çerçevesi2 = H4; Zaman Çerçevesi3 = D1; }

else if (TF==PERIOD_D1) { TimeFrame1 = H4; Zaman Çerçevesi2 = D1; Zaman Çerçevesi3 = WK1;}

else if (TF==PERIOD_W1) { TimeFrame1 = D1; Zaman Çerçevesi2 = WK1; Zaman Çerçevesi3 = MN1;}

else if (TF==PERIOD_MN1) { TimeFrame1 = D1; Zaman Çerçevesi2 = WK1; Zaman Çerçevesi3 = MN1;}

başka { TimeFrame1 = D1; Zaman Çerçevesi2 = WK1; Zaman Çerçevesi3 = MN1;}

//-----

dönüş(0);

}

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

int başlangıç()

{

tarihsaat TimeArray1[];

tarihsaat TimeArray2[];

tarihsaat TimeArray3[];

int limit, i,y=0;

// int counted_bars = IndicatorCounted();

ExtCountedBars=IndicatorCounted();

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

if(ExtCountedBars > 0) ExtCountedBars--;

limit = Çubuklar - ExtCountedBars;

//-----

ArrayCopySeries(TimeArray1,MODE_TIME,Symbol(),TimeFrame1);

ArrayCopySeries(TimeArray2,MODE_TIME,Symbol(),TimeFrame2);

ArrayCopySeries(TimeArray3,MODE_TIME,Symbol(),TimeFrame3);

for(i=0,y=0;i<limit;i++)

{

if(Zaman Çerçevesi1bool)

{

if (Zaman<ZamanArray1[y]) y++;

{

//ExtMapBuffer1

ExtMapBuffer1 = iCustom(NULL,TimeFrame1 , "#RSI-MA",0, y);

ExtMapBuffer2 = iCustom(NULL,TimeFrame1 , "#RSI-MA",3, y);

}

}

//-----

if(TimeFrame2bool)

{

if (Zaman<ZamanArray2[y]) y++;

{

//ExtMapBuffer1

ExtMapBuffer3 = iCustom(NULL,TimeFrame2 , "#RSI-MA",0,y);

ExtMapBuffer4 = iCustom(NULL,TimeFrame2 , "#RSI-MA",3,y);

}

}

//-----

if(TimeFrame3bool)

{

if (Zaman<ZamanArray3[y]) y++;

{

//ExtMapBuffer1

ExtMapBuffer5 = iCustom(NULL,TimeFrame3 , "#RSI-MA",0, y);

ExtMapBuffer6 = iCustom(NULL,TimeFrame3 , "#RSI-MA",3, y);

}

}

}

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

//============================================== =======

dönüş(0);

}

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

int tanım()

{

dönüş(0);

}

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

Dosyalar:
rsi-mtf_diff.jpg  290 kb
 

BU RSI-MA'NIN BİR KOPYASIDIR......

#property indicator_separate_window

#özellik göstergesi_tamponları 4

#özellik göstergesi_color1 KireçYeşil

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

#özellik göstergesi_color3 Sarı

#özellik göstergesi_color4 Beyaz ///Koyu Gri

#özellik göstergesi_width1 3

#özellik göstergesi_width2 3

#özellik göstergesi_width3 3

#özellik göstergesi_width4 1

#özellik göstergesi_levelcolor Aqua

extern string TimeFrame = "Geçerli zaman çerçevesi";

harici int RsiOma_Period = 13;

harici int RsiOma_Price = 0;

harici int RsiOma_Mode = MODE_LWMA;

extern int MaPeriod = 8;

harici int MaType = MODE_LWMA;

harici çift seviyeOb = 88;

harici çift seviyeOs = 13;

harici int OB_RSI = 80;

harici int OS_RSI = 15;

extern string note = "Uyarıyı aç = doğru; kapat = yanlış";

extern bool alertsOn = true; ///yanlış;

extern bool alertsOnCurrent = true;

harici bool uyarılarıMesaj = true;

harici bool uyarılarıSound = true; ///yanlış;

harici bool uyarılarıEmail = false;

harici string ses dosyası = "connect.wav"; ///"alert2.wav";

harici string SoundUp = "ok.wav";

harici string SoundDown = "stops.wav";

çift rsi[];

çift rsida[];

çift rsidb[];

çift ma[];

çift mab[];

çift eğilim[];

çift eğim[];

dize göstergesiDosyaAdı;

int Karakter, timeFrame;

bool dönüş Barları;

bool hesaplaDeğer;

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

int init()

{

Gösterge Tamponları(7);

SetIndexBuffer(0,rsi);

SetIndexBuffer(1,rsida);

SetIndexBuffer(2,rsidb);

SetIndexBuffer(3,ma);

SetIndexBuffer(4,mab);

SetIndexBuffer(5,trend);

SetIndexBuffer(6,eğim);

SetLevelValue(0,levelOs);

SetLevelValue(1,levelOb);

göstergeDosyaAdı = WindowExpertName();

hesapValue = (TimeFrame=="hesaplaValue"); if (Değeri hesapla) return(0);

returnBars = (TimeFrame=="returnBars"); if (returnBars) return(0);

timeFrame = stringToTimeFrame(TimeFrame);

GöstergeShortName(timeFrameToString(timeFrame)+" Rsi-Ma MaxMin ("+RsiOma_Period+","+MaPeriod+")");

SetIndexLabel(0,"RSI");

SetIndexLabel(1,"RSIDA");

SetIndexLabel(2,"RSIDB");

SetIndexLabel(3,"MA");

dönüş(0);

}

int deinit() { dönüş (0); }

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

int başlangıç()

{

int counted_bars=IndicatorCounted();

int i,limit;

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

if(counted_bars>0) counted_bars--;

limit = MathMin(Barlar-sayılan_barlar,Barlar-1);

if (returnBars) { rsi[0] = limit+1; dönüş(0); }

if (calculateValue || timeFrame==Period())

{

if (eğim[limit] == -1) ClearPoint(limit,rsida,rsidb);

(i=limit; i >= 0; i--) için mab = iMA(NULL,0,RsiOma_Period,0,RsiOma_Mode,RsiOma_Price,i);

for (i=limit; i >= 0; i--) rsi = iRSIOnArray(mab,0,RsiOma_Period,i);

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

{

ma = iMAOnArray(rsi,0,MaPeriod,0,MaType,i);

rsida = BOŞ_DEĞER;

rsidb = BOŞ_DEĞER;

eğim = eğim;

eğilim = eğilim;

if ((rsi > rsi) && (rsi > OB_RSI))

eğim = 1;

if ((rsi < rsi) && (rsi < OS_RSI))

eğim=-1;

if ((rsi > ma) && (rsi > OB_RSI))

eğilim= 1;

if ((rsi < ma) && (rsi < OS_RSI))

eğilim=-1;

if (eğim == -1)

PlotPoint(i,rsida,rsidb,rsi);

}

ManageAlerts();

dönüş(0);

}

limit = MathMax(limit,MathMin(Barlar-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));

if (eğim[limit]==-1) ClearPoint(limit,rsida,rsidb);

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

{

int y = iBarShift(NULL,timeFrame,Zaman);

rsi = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",RsiOma_Period,RsiOma_Price,RsiOma_Mode,MaPeriod,MaType,0,y);

rsida = BOŞ_DEĞER;

rsidb = BOŞ_DEĞER;

ma = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",RsiOma_Period,RsiOma_Price,RsiOma_Mode,MaPeriod,MaType,3,y);

trend = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",RsiOma_Period,RsiOma_Price,RsiOma_Mode,MaPeriod,MaType,5,y);

eğim = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",RsiOma_Period,RsiOma_Price,RsiOma_Mode,MaPeriod,MaType,6,y);

}

(i=limit;i>=0;i--) için if (eğim==-1) PlotPoint(i,rsida,rsidb,rsi);

ManageAlerts();

dönüş(0);

}

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

string sTfTable[] = {"M1","M5","M15","M30","H1","H4","D1","W1","MN"};

int iTfTable[] = {1,5,15,30,60,240,1440,10080,43200};

int stringToTimeFrame(dize tfs)

{

tfs = stringUpperCase(tfs);

for (int i=ArraySize(iTfTable)-1; i>=0; i--)

if (tfs==sTfTable || tfs==""+iTfTable) return(MathMax(iTfTable,Period()));

Dönüş süresi());

}

string timeFrameToString(int tf)

{

for (int i=ArraySize(iTfTable)-1; i>=0; i--)

if (tf==iTfTable) return(sTfTable);

dönüş("");

}

string stringUpperCase(string str)

{

dizi s = dizi;

for (int uzunluk=StringLen(str)-1; uzunluk>=0; uzunluk--)

{

Char = StringGetChar(lar, uzunluk);

if((Karakter > 96 && Karakter 223 && Karakter < 256))

s = StringSetChar(s, uzunluk, Karakter - 32);

else if(Char > -33 && Char < 0)

s = StringSetChar(s, uzunluk, Karakter + 224);

}

İadeler);

}

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

void ClearPoint(int i,double& first[],double& second[])

{

if ((ikinci != BOŞ_DEĞER) && (ikinci != BOŞ_DEĞER))

saniye = BOŞ_DEĞER;

başka

if ((ilk != BOŞ_DEĞER) && (ilk != EMPTY_VALUE) && (ilk == BOŞ_DEĞER))

ilk = BOŞ_DEĞER;

}

void PlotPoint(int i,double& first[],double& second[],double& from[])

{

if (ilk == EMPTY_VALUE)

{

if (ilk == EMPTY_VALUE)

{

ilk = itibaren;

ilk = itibaren;

saniye = BOŞ_DEĞER;

}

başka

{

ikinci = itibaren;

ikinci = itibaren;

ilk = BOŞ_DEĞER;

}

}

başka

{

ilk = itibaren;

saniye = BOŞ_DEĞER;

}

}

void managerAlerts()

{

if (!calculateValue && alertsOn)

{

if (alertsOnCurrent)

int hangiBar = 0;

başka hangiBar = 1; thatBar = iBarShift(NULL,0,iTime(NULL,timeFrame,hangiBar));

if (trend[hangiBar] != trend[hangiBar+1])

{

if (trend[hangiBar] == 1)

//doAlert(hangiBar,"trend");

doAlerts( thatBar,"UP RSI-MA "+Symbol()+" (tf:"+Period()+")",SoundUp);

if (trend[hangiBar] ==-1)

//doAlert(hangiBar,"trend yok");

doAlerts( thatBar,"DOWN RSI-MA "+Symbol()+" (tf:"+Period()+")",SoundDown);

}

}

}

void doAlerts(int forBar, string doWhat, string SoundFile) {

statik dize öncekiAlert="hiçbir şey";

statik tarihsaat öncekiSaat;

dize mesajı;

if (previousAlert != doWhat || öncekiZaman != Zaman[Bar için]) {

öncekiAlert = doWhat;

öncekiZaman = Zaman[Bar için];

mesaj = StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," - ",timeFrameToString(timeFrame)+" rsioma ",doWhat);

if (alertsMessage) Alert(mesaj);

if (alertsSound) PlaySound(SoundFile);

if (alertsEmail) SendMail(StringConcatenate(Symbol()," rsioma "),message);

}

}

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

void doAlert(int forBar, string doWhat)

{

statik dize öncekiAlert="hiçbir şey";

statik tarihsaat öncekiSaat;

dize mesajı;

if (previousAlert != doWhat || öncekiZaman != Zaman[Bar için]) {

öncekiAlert = doWhat;

öncekiZaman = Zaman[Bar için];

mesaj = StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," - ",timeFrameToString(timeFrame)+" rsioma ",doWhat);

if (alertsMessage) Alert(mesaj);

if (alertsEmail) SendMail(StringConcatenate(Symbol()," rsioma "),message);

if (alertsSound) PlaySound(ses dosyası);

}

}

HEPİNİZE TEŞEKKÜRLER.....

saygılarımla

AZRUL..........

Not... bu DOSYA kodunu buraya nasıl ekleyebilirim..... Karışıklık için özür dilerim....

Neden: