Zweiten Zeitpunkt für Aktualisierung einer Anzeige einfügen

 

Hallo.

Folgender Code ist in einer Strenght Anzeige drinnen, so dass 15 Sekunden vor Candleschluss die Anzeige geupdatet wird. Funktioniert 100%

input int      RefreshBeforeCloseXSeconds = 15; // Refresh before close X seconds

 int seconds = int(iTime(Symbol(),PERIOD_CURRENT,0)+PeriodSeconds()-TimeCurrent());

  if (RefreshBeforeCloseXSeconds == 0) {
    del_obj();
    plot_obj();
       
  }
  else {
    if(prev_time != iTime(ccy,PERIOD_CURRENT,0) && seconds<=RefreshBeforeCloseXSeconds)  {
      del_obj();
      plot_obj();
      prev_time = iTime(ccy,PERIOD_CURRENT,0);
  } }      
  return(rates_total);
  }


Möchte jedoch noch eine weitere Abfrage einbauen, es funktioniert einfach nicht. Es wird immer der höhere Wert (hier 45 Sekunden vor Candleschluss) genommen, unabhängig ob der als X oder Y eingetragen wird.

input int      RefreshBeforeCloseXSeconds = 15; // Refresh before close X seconds
input int      RefreshBeforeCloseYSeconds = 45; // Refresh before close Y seconds

 int seconds = int(iTime(Symbol(),PERIOD_CURRENT,0)+PeriodSeconds()-TimeCurrent());

  if (RefreshBeforeCloseXSeconds && RefreshBeforeCloseYSeconds == 0) {
    del_obj();
    plot_obj();      
  }
  
  else {
    if((prev_time != iTime(ccy,PERIOD_CURRENT,0) && seconds<= RefreshBeforeCloseXSeconds) || (prev_time != iTime(ccy,PERIOD_CURRENT,0) && seconds<= RefreshBeforeCloseYSeconds))  
   {
      del_obj();
      plot_obj();
      prev_time = iTime(ccy,PERIOD_CURRENT,0);
  } }      
  return(rates_total);
  }

Wo ist mein Fehler?! Wäre über eine Tipp sehr dankbar. <3


Gruß, AM 

 
Axel M.:

Hallo.

Folgender Code ist in einer Strenght Anzeige drinnen, so dass 15 Sekunden vor Candleschluss die Anzeige geupdatet wird. Funktioniert 100%


Möchte jedoch noch eine weitere Abfrage einbauen, es funktioniert einfach nicht. Es wird immer der höhere Wert (hier 45 Sekunden vor Candleschluss) genommen, unabhängig ob der als X oder Y eingetragen wird.

Wo ist mein Fehler?! Wäre über eine Tipp sehr dankbar. <3


Gruß, AM 

Es wird wohl nie der zeitpunkt eintreffen wo die kerze 15 sek und 45 sek vor schluss gleichzeitig ist

 
amando:

Es wird wohl nie der zeitpunkt eintreffen wo die kerze 15 sek und 45 sek vor schluss gleichzeitig ist

Ich verstehe den Satz jetzt nicht so ganz.

 
Axel M.:

Hallo.

Folgender Code ist in einer Strenght Anzeige drinnen, so dass 15 Sekunden vor Candleschluss die Anzeige geupdatet wird. Funktioniert 100%


Möchte jedoch noch eine weitere Abfrage einbauen, es funktioniert einfach nicht. Es wird immer der höhere Wert (hier 45 Sekunden vor Candleschluss) genommen, unabhängig ob der als X oder Y eingetragen wird.

Wo ist mein Fehler?! Wäre über eine Tipp sehr dankbar. <3


Gruß, AM 

  1. Wir wissen nicht welcher Wert seconds zugewiesen wird.
  2. Deine Abfrage Logik stimmt nicht:
    a) seconds < 15 || seconds < 45 // macht das Sinn?
    b) prev_time wird nur einmal zugewiesen für das zweite Mal geht das so nicht.
 
Carl Schreiber:
  1. Wir wissen nicht welcher Wert seconds zugewiesen wird.
  2. Deine Abfrage Logik stimmt nicht:
    a) seconds < 15 || seconds < 45 // macht das Sinn?
    b) prev_time wird nur einmal zugewiesen für das zweite Mal geht das so nicht.

Danke, habe es im Code oben ergänzt.

Werde dem morgen mal nachgehen, danke für die Ansätze.

 
Bekomme es nicht hin...
 
Axel M.:
Bekomme es nicht hin...

was soll denn das Resultat sein?

Wer hat den rest programmiert?

 
Versuch mal zwei Variablen für prev_time zu deklarieren, für jeden Moment eine.
 
amando:

was soll denn das Resultat sein?

Wer hat den rest programmiert?

Es ist eine Anzeige, siehe Bild, die sich aktuell 1x X-Sekunden vor Candle-Close aktualisiert. Es soll nun aber eine zweite Aktualisierung eingefügt werden.

Beispiel:Candle: M5   -   Aktualisierung 1: 60 Sek. vor Candle-Close   -   Aktualisierung 2: 15 Sek. vor Candle-Close


Programmiert hat das wer hier über Freelancer. Nur nimmt die freundliche Person immer gleich wieder USD 30, wenn auch nur eine kleine Aktualisierung zu machen ist.

 
Carl Schreiber:
Versuch mal zwei Variablen für prev_time zu deklarieren, für jeden Moment eine.

Es übersteigt meine Coding-Skillz. Bekomme das nicht zum Laufen. Dachte das wäre einfacher, da so kleine Fummelarbeiten kann man als Laie oftmals selber hinbekommen.

 
 if (RefreshBeforeCloseXSeconds && RefreshBeforeCloseYSeconds == 0) {
    del_obj();
    plot_obj();      
  }
  

Das wird niemals wahr werden.

Links vorm und wird ein TRUE oder FALSE erwartet. Du gibts ein INT vor.

 if (RefreshBeforeCloseXSeconds == 0 && RefreshBeforeCloseYSeconds == 0) {
    del_obj();
    plot_obj();      
  }
  

So könnte ...aber es sind ja INPUT Variablen. Die du vorgibt.


Was versuchst du da ? ...


Poste den GESAMMTEN code und einer von uns korregiert den dann.

Grund der Beschwerde: