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: 4256
Beiträge: 39367
Benutzer: 6.577
Aktive Benutzer: 257
Links: 80
Wir begrüßen unseren neuesten Benutzer: festus
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 8 Stunden
- festus
vor 2 Tagen
- lovetradin...
vor 2 Tagen
- schwarz
vor 2 Tagen
- viethommy
vor 2 Tagen
- earasa

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt vor 2 Wochen
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 327
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 vor 2 Wochen
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 68
Bobs befindet sich auf einem aufstrebenden Ast
Bobs eine Nachricht über Skype™ schicken
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 vor 2 Wochen
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 327
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 vor 2 Wochen
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 68
Bobs befindet sich auf einem aufstrebenden Ast
Bobs eine Nachricht über Skype™ schicken
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 vor 2 Wochen
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 327
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 vor 2 Wochen
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 vor 2 Wochen
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 68
Bobs befindet sich auf einem aufstrebenden Ast
Bobs eine Nachricht über Skype™ schicken
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 06:17 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.
-----------------------------------------------------------------------------------------------------------------------------