Geschrieben 24. April 201214 Jr. comment_133969 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; } Melden
Geschrieben 24. April 201214 Jr. comment_133970 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. Melden
Geschrieben 24. April 201214 Jr. comment_133971 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 ;) Melden
Geschrieben 24. April 201214 Jr. Autor comment_133972 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:( Melden
Geschrieben 24. April 201214 Jr. comment_133974 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... } Melden
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; }