|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Periodentrennung
Gibt es die Möglichkeit an den Einstellungen der Periodentrennung etwas zu ändern ?
Oder vielmehr interessiert es mich, ob jemand einen Indikator kennt, der die periodentrennung an vorgegebenen Perioden einzeichnet. Ich hätte nämlich gerne je eine vertikale Linie um 6, 11, 15 und 19 Uhr und eine andere Farbe oder Linienart am Dienstag und Donnerstag. Ich habe mich bisher noch nicht mit Zeitfunktionen in MQL4 außeinandergesetzt. Wenn es einen Indikator in dieser Richtung gibt, kann ich ja ein wenig am Code ändern, aber mir fehlt eben das Grundgerüst. |
|
|||
Naja, weiß denn jemand, wie es möglich ist ein Histogramm in das Chartfenster zu zeichnen ?
Bei mir wird da nämlich nichts angezeigt. |
|
|||
Ich weiß jetzt, dass man mit der Funktion:
Code:
iHour=TimeHour(Time[i]) Gibt es auch die Möglichkeit auf die tatsächliche Uhrzeit während einer vergangenen Candle zuzugreifen ? Meine Periodentrennung um 5 Uhr wird im 1_Tages_Chart z.B. nicht angezeigt, da in der unteren Leiste immer 0 Uhr steht. |
|
|||
Bevor ich hier noch tagelang meinen Monolog halte, sehe sich jemand bitte diesen Code an:
Code:
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red #property indicator_width1 1 #property indicator_width2 1 #property indicator_style1 STYLE_DOT #property indicator_style2 STYLE_DOT double Session1[]; double Session2[]; //------------------------------------------------------------------------------------------------------------------------------------------------------------- int init() { SetIndexBuffer(0,Session1); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,Session2); SetIndexStyle(1,DRAW_LINE); return; } //------------------------------------------------------------------------------------------------------------------------------------------------------------- int start() { int counted_bars=IndicatorCounted(); int i = Bars-counted_bars-1; while(i>=0){ Session1[i]=0; Session2[i]=0; int iDayOfWeek=TimeDayOfWeek(Time[i]); //Day int iHour =TimeHour(Time[i]); //Hour int iMinute =TimeMinute(Time[i]); //Minute if(iMinute==0 && iHour==0 && iDayOfWeek==2) Session1[i]=Low[i]; if(iMinute==59 && iHour==23 && iDayOfWeek==2) Session1[i]=Low[i]; //Dieser Teil wird nicht auf höheren Zeitebenen Abgebildet if(iMinute==0 && iHour==0 && iDayOfWeek==4) Session2[i]=Low[i]; if(iMinute==59 && iHour==23 && iDayOfWeek==4) Session2[i]=Low[i]; //Dieser Teil wird nicht auf höheren Zeitebenen Abgebildet i--; } return; } Leider entsteht keine Markierung am Ende des entsprechenden Tages. Was kann man da machen ? Die Optik ist auch nicht das Wahre. Daher wüsste ich gern, wie ich statt Draw_Line die Draw_Histogramm-Funktion im Chart_Fenster anwenden kann. Denn dann könnte ich die Periodentrennung vertikal durchziehen. Zudem weitet sich die Linie je weiter man verkleinert (1_Tages_Chart) untern auf. |
|
|||
Hallo,
also Indicator Buffers würde ich dafür nicht nehmen, ist eher etwas für horizontale Linien. Ich würde das eher mit Objecten realisieren. Schau dir das mal an Code:
#property indicator_chart_window extern int iHour1=6; extern int iHour2=11; extern int iHour3=15; extern int iHour4=19; int x=0; int init() { } int deinit() { for(int z=1;z<=x;z++) { ObjectDelete("Time" + z); } } int start() { int iIndicatorCounted=IndicatorCounted(); if(iIndicatorCounted<0) { return(-1); } int iLimit=Bars-iIndicatorCounted; for(int i=iLimit;i>=0;i--) { if(TimeHour(Time[i])==iHour1 || TimeHour(Time[i])==iHour2 || TimeHour(Time[i])==iHour3 || TimeHour(Time[i])==iHour4 && TimeMinute(Time[i])==0) { if (TimeDayOfWeek(Time[i]) == 2 || TimeDayOfWeek(Time[i]) == 4) { x++; ObjectCreate("Time" + x,OBJ_VLINE,0,Time[i],High[i]); ObjectSet("Time" + x,OBJPROP_COLOR,Red); ObjectSet("Time" + x,OBJPROP_STYLE,STYLE_DOT); ObjectSet("Time" + x,OBJPROP_WIDTH,1); ObjectSet("Time" + x,OBJPROP_BACK,true); } else { x++; ObjectCreate("Time" + x,OBJ_VLINE,0,Time[i],High[i]); ObjectSet("Time" + x,OBJPROP_COLOR,Silver); ObjectSet("Time" + x,OBJPROP_STYLE,STYLE_DOT); ObjectSet("Time" + x,OBJPROP_WIDTH,1); ObjectSet("Time" + x,OBJPROP_BACK,true); } } } } naranjoe |
Lesezeichen |
Stichworte |
indikator, indikatoren, metatrader indikator, periodentrennung |
|
|