Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3824
Beiträge: 36916
Benutzer: 6.074
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: hmf44
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 22 Stunden
- hmf44
vor einem Tag
- Crossa
vor einem Tag
- snatshit
vor einem Tag
- Roerich
vor einem Tag
- John_Liver...

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 68
Gesamt: 70
Team: 0
Team:  
Benutzer:  Domke01, RetepM
Freunde anzeigen

Empfehlungen

Werbung

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


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +1. Es ist jetzt 14:25 Uhr.



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