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: 4294
Beiträge: 39577
Benutzer: 6.607
Aktive Benutzer: 218
Links: 80
Wir begrüßen unseren neuesten Benutzer: Carstn
Mit 1.311 Benutzern waren die meisten Benutzer gleichzeitig online (vor 4 Tagen um 01:18).
Neue Benutzer:
vor 2 Stunden
- Carstn
vor 6 Tagen
- dellinger
vor einer Woche
- SABA
vor einer Woche
- artfeld
vor einer Woche
- sonnejian

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 05.07.19
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 355
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Du bist ganz schön begriffsstützig.

Code:
datetime TimeCandle = 0;

if (TimeCandle != iTime(NULL,PERIOD_D1,0))
   {
   ....
   TimeCandle = iTime(NULL,PERIOD_D1,0);
   }
Mit Zitat antworten
  #12 (permalink)  
Alt 05.07.19
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 69
Bobs befindet sich auf einem aufstrebenden Ast
Standard

Das könnte so sein:
Code:
if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true;
if(Volume[0]==1)FirstTick=true;
Mit Zitat antworten
  #13 (permalink)  
Alt 05.07.19
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 355
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Bobs Beitrag anzeigen
Das könnte so sein:
Code:
if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true;
if(Volume[0]==1)FirstTick=true;
Und was ist wenn du den EA während des Tages startest? Dann würde das nicht ausgeführt.

---Leopold---
Mit Zitat antworten
  #14 (permalink)  
Alt 05.07.19
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 69
Bobs befindet sich auf einem aufstrebenden Ast
Standard

Ja, richtig, unter Tage wird nichts.
Die Frage war doch: "wie finde ich genau die erste Kerze des Tages ?
Ich will genau beim ersten Tick eines Tages alte Objekte löschen, dazu brauche ich aber die erste Kerze eines Tages."
Das Problem ist, dass Funktion iTime() auf D1,W1,MN gibt immer 00:00:00.
Mit Volume[] kann es auch eine Nuance geben, manchmal kann der erste Tick sofort "2" geben. Das kann man auch einfach lösen, wenn vorherige und letzte Werte vergleichen (v_Volume < l_Volume, sonst ist erster Tick.
Mit Zitat antworten
  #15 (permalink)  
Alt 06.07.19
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 355
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Bobs Beitrag anzeigen
Ja, richtig, unter Tage wird nichts.
Die Frage war doch: "wie finde ich genau die erste Kerze des Tages ?
Ich will genau beim ersten Tick eines Tages alte Objekte löschen, dazu brauche ich aber die erste Kerze eines Tages."
Aber genau das macht dein Beispiel auch nicht.


if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true

Hier wird der Code bei jedem Tick die ganze Periode ausgeführt, nicht nur beim ersten.


if(Volume[0]==1)FirstTick=true

Hier wird der Code am Anfang jeder Periode ausgeführt und nicht nur beim ersten Tick des Tages.



Bei meinen Beispiel könnte man den Code so erweitern, dass alles was z. B. nur einmal am Tag ausgeführt werde soll dort rein kommt. Und wenn es immer am Anfang des Tages ausgeführt werden soll, dann meistens auch beim Laden des EA's.

---Leopold---
Mit Zitat antworten
  #16 (permalink)  
Alt 06.07.19
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 416
Raul0 befindet sich auf einem aufstrebenden Ast
Lightbulb

Zitat:
Zitat von Max2018 Beitrag anzeigen
Hallo,
wie finde ich genau die erste Kerze des Tages ?
Warum? Ich will genau beim ersten Tick eines Tages alte Objekte löschen , dazu brauche ich aber die erste Kerze eines Tages.
Da der EA aber auf unterschiedliche Zeiteinheiten, unterschiedlichen Märkten und Situatuonen angewendet werden soll, ist dies eben unterschiedlich.
Ich brauche also immer die erste Kerze des Tages im eingestellten Markt und in der eingestellten Zeiteinheit!

Ich habe einen Bereich im EA, dort sind alle Einmaldurchläufe hinterlegt. Du kannst es auch als Funktion hinterlegen, hier mal einfach:

static int Tag;
if ( Day() != Tag ) // immer wenn ein neuer Tag mit dem ersten Tick beginnt
{

zu tun...

Tag = Day(); // Übergabe des aktuellen Tages
}
__________________

Easy Trading Assistant
Mit Zitat antworten
  #17 (permalink)  
Alt 07.07.19
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 69
Bobs befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Leopold Beitrag anzeigen
Aber genau das macht dein Beispiel auch nicht.
if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true
Hier wird der Code bei jedem Tick die ganze Periode ausgeführt, nicht nur beim ersten.
if(Volume[0]==1)FirstTick=true
Hier wird der Code am Anfang jeder Periode ausgeführt und nicht nur beim ersten Tick des Tages.
Ich meinte, muss es insgesamt so aussehen:
Code:
bool FirstBar=false, FirstTick=false;
if(TimeDayOfWeek(Time[1])!=TimeDayOfWeek(Time[0]))FirstBar=true; // Das kontrolliert bei jedem Tick den Tageswechsel
if(FirstBar==true && Volume[0]==1)FirstTick=true; // Bedeutet den ersten Tick des Tages
if(FirstTick==true){...} // Weiter wird gewünschte Code
Selbstverständlich, Time/Volume[] auf M1-H4 zulässig ist. Andernfalls muss iTime/iVolume() angewendet werden.
Mit Zitat antworten
Antwort

Lesezeichen


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 +2. Es ist jetzt 00:21 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 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.
-----------------------------------------------------------------------------------------------------------------------------