Kodlama yardımı - sayfa 91

 
k3rn3l:
mladen.. hatayı düzeltebilir misin?

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

//| MTF_RSI.mq4 |

//| Copyright © 2006, Keris2112 |

//| |

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

#property copyright "Copyright © 2006, Keris2112"

#property link "https://www.forex-tsd.com"

//----

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

#property indicator_color3 White

#property indicator_level1 30

#property indicator_level2 70

#property indicator_minimum 0

#property indicator_maximum 100

//----

extern int TimeFrame=5;

extern int RSIperiod=33;

extern int applied_price=0;

extern int TimeFrame1=15;

extern int RSIperiod1=21;

extern int applied_price1=0;

extern int TimeFrame2=15;

extern int RSIperiod2=14;

extern int applied_price2=0;

//----

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicator line

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(2,DRAW_LINE);

//---- name for DataWindow and indicator subwindow label

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("MTF_RSI("+RSIperiod+") ("+TimeFrameStr+")");

}

//----

return(0);

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

//| MTF RSI |

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

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars;

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

{

if (Time<TimeArray[y]) y++;

//----

ExtMapBuffer1=iRSI(NULL,TimeFrame,RSIperiod,applied_price,y);

}

datetime TimeArray1[];

int ii,limiti,yi=0,counted_bars1=IndicatorCounted();

// Plot defined time frame on to current time frame

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

limiti=Bars-counted_bars1;

for(ii=0,yi=0;ii<limiti;ii++)

{

if (Time<TimeArray1[yi]) yi++;

//----

ExtMapBuffer2=iRSI(NULL,TimeFrame1,RSIperiod1,applied_price1,yi);

}

datetime TimeArray2[];

int iii,limitii,yii=0,counted_bars2=IndicatorCounted();

// Plot defined time frame on to current time frame

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

limitii=Bars-counted_bars2;

for(iii=0,yii=0;iii<limitii;iii++)

{

if (Time<TimeArray2[yii]) yii++;

//----

ExtMapBuffer3=iRSI(NULL,TimeFrame2,RSIperiod2,applied_price2,yii);

}

//----

return(0);

}

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

Ekli olanı deneyin

Dosyalar:
 

Merhaba Mladen,

lütfen, ekteki göstergeye "velo6" ekleyebilir misiniz?

Renk ve "doğru-yanlış" için girdiye ihtiyacım var.... örneğin resme bakın.

HER ZAMAN TEŞEKKÜR EDERİM......

Dosyalar:
euro.gif  32 kb
 

1) trend sırasında, bollinger bantları genişler.....sonra trend durur ve treding aralığı vardır.Ticaret aralığı sırasında bollinger bantları daralır ve bu durumda stoc aşırı satım-aşırı alım kullanmak çok iyidir.

bu benim metastoch formülüm...

GENİŞLİK:=

((Mov(C,71,S)+(2*(Std(C,71))))-

(Mov(C,71,S)-(2*(Std(C,71)))));

ORTAM:=Hareket(GENİŞLİK,15,S);

ST:=Stok(5,3);

TIME:=BarsSince(WIDTH=0 VE

ÇubuklarSince(WIDTH<MEDIA)<=5;

CONDBUY:=ST<=30 VEYA (Ref(ST<=30,-1) VE H<=Ref(H,-1));

ZAMAN VE İLETİŞİM

AÇIKLAMA:

1) Bollinger bandı 71 ve sapma 2 kullanıyorum

2) bollinger bant genişliğinde 15 basit hareketli ortalama uygularım

3) Bollinger bant genişliği SMA'nın altına düştüğünde ve bundan sonraki 5 bar için piyasa işlem aralığına başlamış demektir....

4) 30'un altında stokastik için alım satım aralığı olduğunda

Dosyalar:
 
carbonmimetic:
Merhaba Mladen,

lütfen, ekteki göstergeye "velo6" ekleyebilir misiniz?

Renk ve "doğru-yanlış" için girdiye ihtiyacım var.... örneğin resme bakın.

HER ZAMAN TEŞEKKÜR EDERİM......

karbonmimetik

Hadi bakalım

Dosyalar:
 

...daha önce de söylediğim gibi...HER ZAMAN TEŞEKKÜR EDERİM!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Merhaba Mladen

Rahatsız etmek için lütfen kodu MT4 göstergelerine koyun tamam?

Test etmek için endişeliyim.

Teşekkürler

Kreangast

2013/5/25

 
Kreangast:
Merhaba Mladen

Rahatsız etmek için lütfen kodu MT4 göstergelerine koyun tamam?

Test etmek için endişeliyim.

Teşekkürler

Kreangast

2013/5/25

Afedersiniz

Amibroker kullanmadığım için bu kodu metatrader 4'e dönüştüremiyorum ve doğruluğundan %100 emin olamıyorum (ve bazı yanlış kodlanmış göstergelerden sorumlu olmaktan nefret ediyorum)

 
mladen:
Üzgünüm Amibroker kullanmadığım için bu kodu metatrader 4'e dönüştüremiyorum ve doğruluğundan %100 emin olamıyorum (ve bazı yanlış kodlanmış göstergelerden sorumlu olmaktan nefret ediyorum)

Merhaba Mladen

Afedersiniz ! AMI Sorun çözüldüğünden beri.

Teşekkürler, lütfen MT4'ün değiştirilmesine yardım edin.

"-BarsSince(X)=ÇubuklarGeç(X)"

_SECTION_BEGIN("pfoot");

TimeFrameSet(Günlük);

TR=Maks(Maks((Yüksek-Düşük),abs(Ref(Yakın,-1)-Yüksek)),abs(Ref(Yakın,-1)-Düşük));

A= H-(TR*0.3);

A1=H-(TR*0.6);

A2=H-(TR*0.8);

A3=H-(TR*1.0);

//

B= L+(TR*0.3);

B1=L+(TR*0.6);

B2=L+(TR*0.8);

B3=L+(TR*1.0);

//

N=100;

H2=H==HHV(H,N);//

L2=L==LLV(L,N);//

PPF=Ref(A,-BarsSince(H2));//-BarsSince=BarsGeç

PPF1=Ref(A1,-BarsSine(H2));//

PPF2=Ref(A2,-BarsSine(H2));//

PPF3=Ref(A3,-BarsSine(H2));//

//

PPFF=Ref(B,-BarsSince(L2));//

PPFF1=Ref(B1,-BarSince(L2));//

PPFF2=Ref(B2,-BarsSince(L2));//

PPFF3=Ref(B3,-BarsSince(L2));//

TimeFrameRestore();

// Destek Düzeyleri Bulutlarını ve Çizgilerini Çizin //

Plot(TimeFrameExpand(PPF,inDaily ,expandLast), "R1", colorGreen, styleThick);

Plot(TimeFrameExpand(PPF1,inDaily ,expandLast), "R2", colorGreen,styleThick);

Plot(TimeFrameExpand(PPF2,inDaily ,expandLast), "R3", colorGreen,styleThick);

Plot(TimeFrameExpand(PPF3,inDaily ,expandLast), "R4", colorGreen,styleThick);

Plot(TimeFrameExpand(PPFF,inDaily ,expandLast), "S1", colorBlue, styleThick);

Plot(TimeFrameExpand(PPFF1,inDaily ,expandLast), "S2", colorBlue,styleThick);

Plot(TimeFrameExpand(PPFF2,inDaily ,expandLast), "S3", colorBlue,styleThick);

Plot(TimeFrameExpand(PPFF3,inDaily ,expandLast), "S4", colorBlue,styleThick);

_SECTION_END();

Teşekkür ederim

Kreangast

 

Sorumu burada formüle ediyorum.

Grafikte bir gösterge gösteren çubukların sayısını azaltmanın yöntemi nedir?

Metatrader grafiğinde gösterilen çubuk sayısını azaltmak zorunda kalmadan.

Çok sayıda göstergeye uygulanabilecek bazı kod satırları var mı?

İlginiz için teşekkür ederim.

 
Antonsan:
Sorumu burada formüle ediyorum.

Grafikte bir gösterge gösteren çubukların sayısını azaltmanın yöntemi nedir?

Metatrader grafiğinde gösterilen çubuk sayısını azaltmak zorunda kalmadan.

Çok sayıda göstergeye uygulanabilecek bazı kod satırları var mı?

İlginiz için teşekkür ederim.

Antonsan

Lütfen bu gönderiyi okuyun: https://www.mql5.com/en/forum/180284/page31 . Özü tekrar edecek - koddaki çubukların sınırını değiştirmelisiniz. Başka yolu yok.

Neden: