Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3810
Beiträge: 36862
Benutzer: 6.038
Aktive Benutzer: 492
Links: 80
Wir begrüßen unseren neuesten Benutzer: Markus
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor einem Tag
- Markus
vor einem Tag
- katana69
vor einem Tag
- lebedeinle...
vor 2 Tagen
- Harryy
vor 3 Tagen
- fariddesso...

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 78
Gesamt: 78
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Werbung

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 17.10.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 95
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard Im BackTest Tag auslesen??

Hi,

ich versuch grad ne Range zu ermitteln wo ich den Sonntag ausschließen möchte, da er nicht wirklich relevant ist und das Ergebnis verfälscht,meiner Meinung nach.

Nur Wie??????

Day() : gibt den aktuellen Tag im Monat zurück
DayofWeek() : gibt den aktuellen Wochentag zurück


nur sind diese Funktionen nicht brauchbar wenn man ne for schleilfe durchlaufen lässt, Sie geben nur den aktuellen Tag wieder sprich heute....

Hab keine anderen Funktionen gefunden, weiß jem wie ich das anstellen kann/welche Funktion brauchbar ist??
Mit Zitat antworten
  #2 (permalink)  
Alt 17.10.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.868
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

if (DayOfWeek() == 0) return;

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #3 (permalink)  
Alt 17.10.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 95
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

Hi Doc

ja das hatte ich auch gedacht und ausprobiert, nur blöderweise funktioniert das nicht weil er den aktuellen Tag ausließt , also heute/jetzt, wahrscheinlich über die ServerTime, ich hab kein ArraySeries gefunden den man mit der for schleife durchlaufen kann, wo die Tage wiedergegeben werden, wenn ich das so abfrage sagt er mir ja "Heut ist nicht Sonntag" und rattert eben alles durch...

Aber ich muss ja die Candle abfragen ob diese Sonntag ist....sprich wenn ich die letzten 30 Tage auswerten möchte. Bei Indikatoren gehen wir ja mit der shift-Position die Kerzen durch von 0-Bars oder eben umgekehrt..

Also bräuchte ich quasi ne Funktion mit "shift" wo der Tag wiedergegeben wird, damit ich Ihn abgleichen kann.....hoffe das war verständlich?!
Hab selber noch nix gefunden
Mit Zitat antworten
  #4 (permalink)  
Alt 17.10.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 135
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Hi, probier mal das:

extern bool Monday = true;
extern bool Tuesday = true;
extern bool Wednesday = true;
extern bool Thursday = true;
extern bool Friday = true;
extern bool Saturday = true;
extern bool Sunday = true;


void WeekdayFilter()
{
if ((Monday && DayOfWeek() == 1) || (Tuesday && DayOfWeek() == 2) || (Wednesday && DayOfWeek() == 3) ||
(Thursday && DayOfWeek() == 4) || (Friday && DayOfWeek() == 5) || (Saturday && DayOfWeek() == 6) || (Sunday && DayOfWeek() == 0))
{
Do something...;
}
}

Grüße
Mit Zitat antworten
  #5 (permalink)  
Alt 17.10.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.868
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Trader6666 Beitrag anzeigen
Hi Doc

Aber ich muss ja die Candle abfragen ob diese Sonntag ist....sprich wenn ich die letzten 30 Tage auswerten möchte. Bei Indikatoren gehen wir ja mit der shift-Position die Kerzen durch von 0-Bars oder eben umgekehrt..

Also bräuchte ich quasi ne Funktion mit "shift" wo der Tag wiedergegeben wird, damit ich Ihn abgleichen kann.....hoffe das war verständlich?!
Hab selber noch nix gefunden
Wenn Du die Startzeit definierst und innerhalb der Schleife die Zeit weiterlaufen lässt (sekundenweise, tickweise, timeframe-periodenweise) dann wird irgendwann die Zeit des Sonntages kommen und dann schlägt erbarmungslos

if (TimeDayOfWeek(time) == 0)

zu!

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #6 (permalink)  
Alt 18.10.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 95
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

Guten Morgen,

@RetepM , das is eig das gleiche in Grün , es bezieht sich ja immer noch auf den aktuellen Zeitpunkt, danke dennoch für den Versuch.

@Doc, ja genau das wollt ich eig umgehen, aber ne andere/leichtere Variante scheint es wohl nicht zu geben,

dank euch beiden für eure Ansätze

LG
Mit Zitat antworten
  #7 (permalink)  
Alt 18.10.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.868
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Aber was gibt es da zu umgehen? Wenn Du in der Schleife per Shift-Incementierung oder -Decrementierung die einzelnen Kerzen und deren OHLC-Werte aufrufst, dann hängt da automatisch auch die Kerzenzeit dran und die wird in TimeDayOfWeeks() nur noch eingesetzt - fertig!

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #8 (permalink)  
Alt vor 4 Wochen
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 135
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Trader6666 Beitrag anzeigen
Guten Morgen,

@RetepM , das is eig das gleiche in Grün , es bezieht sich ja immer noch auf den aktuellen Zeitpunkt, danke dennoch für den Versuch.
LG
OK, hatte Dich wohl falsch verstanden, meine Idee dazu war, dass Du die Wochentags-Funktion benutzt, um an den Tagen, die auf true gesetzt wurden, deine Range berechnest und sonst eben nicht, zusätzlich mag ich selbst immer ganz gern die Möglichkeit, interaktiv die Tage zu bestimmen, an denen etwas passieren soll.
Ja, das geht natürlich ebenfalls mit dem anderen Vorschlag.
Mit Zitat antworten
  #9 (permalink)  
Alt vor 4 Wochen
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 95
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

ahhh mist hab diese Funktion ühaupt nicht ausprobiert dachte die ist ähnlich der DayofWeek und hab sie dann einfach ignoriert -.-

is eig genau das was ich gesucht hab Geduld ist eben eine Tugend....


Code:
   int Wochentag = DayOfWeek();
   int Counter   =  DayOfWeek()-1;  
   for(int i=1;i<=20;i++)
     {             
       if(Counter!= 0 )
         { 
          PL("Pfeil"+i,Time[i],High[i],clrYellow);
          Range5    =    Range5  +  (iHigh(NULL,PERIOD_D1,i)-iLow(NULL,PERIOD_D1,i))/Point/10;           
         }                    
       if(Counter == 0)
         {          
          Counter = 6;
         } 
        Counter--;
     }
so gehts auch nur eben umfangreicher
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
backtest, backtest tag auslesen, mql4, programmierung, programmierung metatrader, programmierung mql4, tag, tag backtest


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------