Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 01.05.19
Tox01 Tox01 ist offline
Neues Mitglied
 
Registriert seit: Apr 2019
Beiträge: 12
Tox01 befindet sich auf einem aufstrebenden Ast
Standard

Ich habe soeben nochmal am Code gebastelt. Allerdings hatte ich dann das Problem, dass sich die Variablen Hoechstkurs und Tiefskurs nach 9 Uhr weiterhin verändert haben. Habe es aber mit eine bool Variable in den Griff bekommen, welcher am Ende des Tages zurückgesetzt wird. Der Code tut nun das was er soll. Könnte ich hier deiner Ansicht nach noch etwas verbessern?

Code:
extern string Anfangszeit_alsString="08:00";
extern string Endzeit_alsString = "09:00";
extern string EndeDesTages_alsString = "20:00";
datetime Anfangszeit_alsZeit, Endzeit_alsZeit, EndeDesTages_alsZeit;
double Hoechstkurs, Tiefstkurs;
bool Kursdaten_vorhanden;

void OnTick()
  {
//---
      Anfangszeit_alsZeit = StringToTime(Anfangszeit_alsString);
      Endzeit_alsZeit = StringToTime(Endzeit_alsString);
      EndeDesTages_alsZeit = StringToTime(EndeDesTages_alsString);

      if(Time[0]>Endzeit_alsZeit && Kursdaten_vorhanden==false && Time[0]<EndeDesTages_alsZeit)
      {
         Hoechstkurs = iHigh(Symbol(), PERIOD_M5, iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 13, 1));
         Tiefstkurs = iLow(Symbol(), PERIOD_M5, iLowest(Symbol(), PERIOD_M5, MODE_LOW, 13, 1));
         Kursdaten_vorhanden=true;
      }
      
      if(Time[0]>Endzeit_alsZeit && Hoechstkurs > 0 && Tiefstkurs > 0)
      {
         ObjectCreate("OpenRange "+TimeToString(TimeCurrent(),TIME_DATE),
                     OBJ_RECTANGLE,0,Anfangszeit_alsZeit,Tiefstkurs,
                     Endzeit_alsZeit, Hoechstkurs);
      }
      
      Comment("Hoechstkurs: ",Hoechstkurs," Tiefstkurs: ",Tiefstkurs);
      
      if(Time[0]>EndeDesTages_alsZeit)
      {
         Kursdaten_vorhanden=false;
      }
  }