Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43426
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 11 Stunden
- Sundaytrad...
vor 17 Stunden
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 372
Gesamt: 372
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree1Likes
  • 1 Post By naranjoe
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 08.03.12
Mitglied
 
Registriert seit: Oct 2011
Beiträge: 77
Biatsch befindet sich auf einem aufstrebenden Ast
Standard 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.
  #2 (permalink)  
Alt 09.03.12
Mitglied
 
Registriert seit: Oct 2011
Beiträge: 77
Biatsch befindet sich auf einem aufstrebenden Ast
Standard

Naja, weiß denn jemand, wie es möglich ist ein Histogramm in das Chartfenster zu zeichnen ?
Bei mir wird da nämlich nichts angezeigt.
  #3 (permalink)  
Alt 09.03.12
Mitglied
 
Registriert seit: Oct 2011
Beiträge: 77
Biatsch befindet sich auf einem aufstrebenden Ast
Standard

Ich weiß jetzt, dass man mit der Funktion:
Code:
iHour=TimeHour(Time[i])
auf die Uhrzeit zugreifen kann. Das ist aber nur die Eröffnungs_Uhrzeit der entsprechenden Candle.

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.
  #4 (permalink)  
Alt 09.03.12
Mitglied
 
Registriert seit: Oct 2011
Beiträge: 77
Biatsch befindet sich auf einem aufstrebenden Ast
Standard

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;
}
Die Blaue Linie markiert den Dienstag, die Rote den Donnerstag.
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.
  #5 (permalink)  
Alt 10.03.12
Elite Mitglied
 
Registriert seit: Jun 2010
Ort: Trier
Beiträge: 116
naranjoe befindet sich auf einem aufstrebenden Ast
Standard

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); 
                  }
                
                
               }
         }
   }
Gruß
naranjoe
Biatsch likes this.
  #6 (permalink)  
Alt 05.10.14
Gesperrter Benutzer
 
Registriert seit: Jun 2011
Beiträge: 40
starlighter befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die Bereitstellung des Codes.

Kann jemand den Code erweitern, damit Periode H1 z.B. auf M15 zu sehen ist?

Merci.
Thema geschlossen

Lesezeichen

Stichworte
indikator, indikatoren, metatrader indikator, periodentrennung


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 05:27 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------