Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Einzelne Wochentage werden nicht summiert

Geschrieben

Irgendwie bekomme ich die Summierung der Montage nicht hin, kann mal jemand drüberschauen?

 

 


  per2 = 60;
 

  for(int y = 1; y <= per2; y++){
  datetime weekday = DayOfWeek();
  if(weekday == 1)
  {
  double atr = iHigh(Symbol(), PERIOD_D1, y) - iLow(Symbol(), PERIOD_D1, y)   }
  double calc_atr = calc_atr + atr;
  double rng = calc_atr/per2;
  }

Featured Replies

Geschrieben

Du nutzt DayOfWeek in einer Schleife, aber DayOfWeek gibt dir nur den aktuellen Wochentag zurück und nicht den der Bar innerhalb der letzten 60 Tage (wenn ich deinen Code richtig deute).

 

Versuche stattdessen mit Time[] die Open-Time der gewünschten Bar zu bekommen und dann mit TimeDayOfWeek den Wochentag.

Geschrieben

abgesehen von RAiNWORMs Hinweis tu ich mir schwer deinen Code zu verstehen. In der Form würde er nitmal kompilieren.

Du solltest nicht in der Schleife neue Variablen definieren, vor allem nicht wenn du diese Variablen scheinbar zum aufsummieren verwendest.

 

Da der Block nicht tut was er soll, vermute ich mal das dein Originalcode zumindest kompiliert. Aufgrund des Ausschnitts den du hier zeigst hab ich die leichte Befürchtung, dass das Time-Problem nit das einzige in dem Code ist. Aber probiers mal aus, vielleicht wars das ;)

Geschrieben
  • Autor

Hier mal der Orginalcode:

#property indicator_chart_window
int init()
 {
  return(0);
 }
int deinit()
 {
  return(0);
 }
int start()
 {
  int per = 20;
 
  for(int y = 1; y <= per; y++)
  {
  double atr = iHigh(Symbol(), PERIOD_D1, y) - iLow(Symbol(), PERIOD_D1, y);
  double calc_atr = calc_atr + atr;
  }
  double rng = calc_atr/per;
 
 
  Comment(rng);
 
 
 
  return(0);
 }
 
 

 

Die Range wird schön brav berechnet^^ Nur die Timefunktionen wollen nicht:(

Geschrieben

Die Range wird schön brav berechnet^^ Nur die Timefunktionen wollen nicht:(

So wie ich es verstehe, willst du jeweils nur am Montag deine Formel berechnen.

Dann mach doch einfach

...
for(y....
{
 if(TimeDayOfWeek(Time[y])==1)
 {
   Berechnung...
 }

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.