Indikator Verschiedene Fragen - Seite 7

 

Ja, aber Sie müssen es codieren.

Beispiel:

OrtszeitMakler AMakler B
00:00
(GMT)
01:00
(GMT+1)
02:00
(GMT+2)

Sie können PERIOD_D1 nicht verwenden, weil

  • Der D1-Balken von Broker A beginnt um 23:00 Uhr Ortszeit (1 Stunde früher)
  • Der D1-Balken von Broker B beginnt um 22:00 Uhr Ortszeit (2 Stunden zu früh)

Sie müssen also die H1-Balken mit iBarShift und iHighest / iLowest (oder CopyHigh/CopyLow) verwenden, um Ihren "Tag" manuell nach Ihren Wünschen zu gestalten.

----

Hier ist ein schnelles Skript, das den Punkt illustrieren könnte.

Fügen Sie es in ein Diagramm ein und Sie werden sehen, dass es ein Rechteck um einen "Tag" zeichnet, der um 23:00 Uhr Serverzeit beginnt.

#define strict
#property show_inputs

#define DAY 86400
#define HOUR 3600

extern int time_shift = -1; // Hours to shift server time by

void OnStart()
  {
   time_shift*=HOUR;

   datetime oldest_bar = Time[Bars-1],
            midnight   = oldest_bar-(oldest_bar%DAY);

   while(midnight<=TimeCurrent())
     {
      datetime day_begin = midnight + time_shift,
               day_end   = day_begin + DAY - 1;
      double high[],
             low[];
      int high_cnt = CopyHigh(_Symbol, PERIOD_H1, day_begin, day_end, high),
          low_cnt  = CopyLow (_Symbol, PERIOD_H1, day_begin, day_end, low);
      if(high_cnt>0 && low_cnt>0)
        {
         double day_high = high[ArrayMaximum(high)],
                day_low  = low [ArrayMinimum(low)];
         string obj_name = TimeToString(day_begin,TIME_DATE);
         ObjectCreate(0, obj_name, OBJ_RECTANGLE, 0, day_begin, day_high, day_end, day_low);
        }
      midnight+=DAY;
     }
  }  


 
honest_knave:

Ja, aber man muss es codieren.

Ich sollte dieses Beispiel studieren.

Vielen Dank!

 

Nochmals vielen Dank für Ihr tolles Beispiel.
Nach Ihrem Kommentar habe ich mein Problem leicht gelöst.

---

Ich habe versucht, etwas für die Zeitverschiebung automatisch für verschiedene Makler eingestellt, leider hat das nicht funktioniert.

F: Kann ich einen Code für die automatische Zeitverschiebung bei verschiedenen Brokern schreiben, ist das möglich?
( Ich versuche noch etwas dafür )

Vielen Dank an dieser Stelle.

 

Ich habe den folgenden Code ausprobiert, aber er liefert mir nicht den richtigen Wert.

F: Was ist im untenstehenden Code falsch? (Ich habe es nicht herausgefunden)

datetime start=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_START_TIME);

Vielen Dank!

 
Max Enrik:

Ich habe den folgenden Code ausprobiert, aber er liefert mir nicht den richtigen Wert.

F: Was ist im untenstehenden Code falsch? (Ich habe es nicht herausgefunden)

datetime start=(datetime)SymbolInfoInteger(Symbol(),SYMBOL_START_TIME);

Vielen Dank!

Es scheint, dass nicht alle Makler dies korrekt einrichten. Bitte sehen Sie hier
 
honest_knave:
Es scheint, dass nicht alle Makler dies korrekt einrichten. Bitte sehen Sie hier

Es gibt keine Chance!
Ich denke nur, dass professionelle Programmierer und Codes aufgegeben haben?! Natürlich nicht: / ( aber ich schon )

Herzlichen Dank.

( Ich habe eine Idee, ich werde es zumindest versuchen - später )
 
Max Enrik:

Es gibt keine Chance!
Ich denke nur, dass professionelle Programmierer und Codes aufgegeben haben?! Natürlich nicht: / ( aber ich schon )

Herzlichen Dank.

( Ich habe eine Idee, ich werde es zumindest versuchen - später )

Es gibt immer Umgehungsmöglichkeiten.

Sie können zum Beispiel durch die H1- oder M30-Balken zurückgehen und nach einer Zeitlücke suchen, die größer als die Zeitspanne eines Balkens ist (d.h. der Markt war während dieser Lücke geschlossen).

Dabei müssen Sie jedoch auf Wochenenden und Feiertage sowie auf unvollständige Historien achten.

 
honest_knave:

Es gibt immer Umgehungsmöglichkeiten.
Sie können z. B. die H1- oder M30-Balken zurückgehen und nach einer Zeitlücke suchen, die größer als die Zeitspanne eines Balkens ist (d. h. der Markt war während dieser Lücke geschlossen).
Dabei müssen Sie jedoch auf Wochenenden und Feiertage sowie auf eine unvollständige Historie achten.

Vielen Dank für Ihren nützlichen Kommentar.
 

Ich brauche nur lernen, über das Datum Zeit, denn bisher, wenn ich versuche, Code im Zusammenhang mit Datum Zeit zu schreiben, die ich immer verbrachte eine Menge Zeit, die Teil der Codes. (auch ich erfolgreich beendet meine Skripte, aber ich nie verstehen, mehr klar)
So jetzt versuche ich, Daten 1. bar ( Aktueller Tag ersten bar 1m, 5m, 15m, 30m, 1h und so weiter ) des Tages zu erhalten, aber ich kann nicht.

(Ich habe viele und viele Tabs in Google Chrome Browser bezieht sich auf diese - nur Unsinn )

Also kann mir jemand helfen, wie man Code für die erste Bar des Tages ( M1, 5M und so weiter ) mit Beispiel zu schreiben und zu erklären, bitte.

Natürlich werde ich morgen weiter über dieses Thema recherchieren.

Vielen Dank im Voraus.

 

Der erste Balken des Tages sollte der erste Balken sein, nachdem TimeHour() wieder mit der Zählung begonnen hat.

Das wird natürlich der erste Balken von M1, M5, M15 usw. sein, die alle neue Balken beginnen.