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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43251
Benutzer: 7.220
Aktive Benutzer: 82
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 22 Minuten
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 1072
Gesamt: 1073
Team: 0
Team:  
Benutzer:  JosephTK
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 17.10.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
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??
  #2 (permalink)  
Alt 17.10.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #3 (permalink)  
Alt 17.10.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
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
  #4 (permalink)  
Alt 17.10.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 240
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
  #5 (permalink)  
Alt 17.10.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #6 (permalink)  
Alt 18.10.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
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
  #7 (permalink)  
Alt 18.10.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #8 (permalink)  
Alt 19.10.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 240
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.
  #9 (permalink)  
Alt 19.10.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
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
Thema geschlossen

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 22:23 Uhr.





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