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: 3745
Beiträge: 36591
Benutzer: 5.902
Aktive Benutzer: 519
Links: 80
Wir begrüßen unseren neuesten Benutzer: Polytrade
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 2 Stunden
- Polytrade
vor 8 Stunden
- exspas432
vor 19 Stunden
- elgaza
vor einem Tag
- DeSaint
vor einem Tag
- DeSaint123...

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 94
Gesamt: 97
Team: 0
Team:  
Benutzer:  Breakout25, ForexMax, Lena
Freunde anzeigen

Empfehlungen

Werbung

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 2 Wochen
Neues Mitglied
 
Registriert seit: Jul 2017
Beiträge: 17
icepick1661 befindet sich auf einem aufstrebenden Ast
Standard Zeitrechnung über Tageswechsel

Hallo,

wieder was, das ich nicht hinkriege:

Abends werden Pending Orders gelöscht - morgens sollen sie zum Handelsstart bzw. kurz danach wieder gesetzt werden.

Mit dem angehängten Code funktioniert es intraday prächtig, sobald aber um 22:50 verkauft werden soll vund es am nächsten Tag 01:08 Uhr weitergehen soll, geht's schief.

Bei den Intraday-Tests habe ich den EA ohne die "CurrentDay"-Zeile laufen lassen (funktionierte ja...), sie dann zugefügt, als es nicht lief. Ich hab's auch mit einem Sekundenwert und "TIME_SECONDS" probiert.

Hier der Code:

Code:
   static bool CloseEndOfDay = false;
   static bool OpenStartDay = false;
   static bool SellStopBought = true;
   bool  OpenStartDayPeriod = false;
   bool  EndOfDay;
   string   DayChange;
   string   CurrentTime;

      {
      CurrentTime = TimeToStr (TimeCurrent(), TIME_MINUTES);
      DayChange = TimeToStr (TimeCurrent() + MinutesToNextDay, TIME_MINUTES); //Minute-Wert: 143; auch Sekunden gehen schief 
      }

      if (CurrentTime >= FinishTime && CurrentTime < StartTime) //&& CurrentTime < EndStartTimePeriod) 
       EndOfDay = true;
       if (EndOfDay) CloseEndOfDay=true;
       if (!EndOfDay) CloseEndOfDay=false;
       
       if (CurrentTime > DayChange && CurrentTime > StartTime && SellStopBought == false) OpenStartDayPeriod = true;
       if (OpenStartDayPeriod) OpenStartDay = true;
       if (!OpenStartDayPeriod) OpenStartDay = false;
Wieder mal Danke für eure Hilfe!
Mit Zitat antworten
  #2 (permalink)  
Alt vor 2 Wochen
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.821
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Wo ist das Problem?
Du löschst die PendingOrder entweder über mit dem Setzen gelieferte Expiration
Time oder per festgelegte Zeit.
Und am nächsten Tag wird die Order um 01:08 wieder gesetzt.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #3 (permalink)  
Alt vor 2 Wochen
Neues Mitglied
 
Registriert seit: Jul 2017
Beiträge: 17
icepick1661 befindet sich auf einem aufstrebenden Ast
Standard

Danke, traderdoc, für deine beiden Antworten. Ich werd's dann über die Expiration Time lösen. Wobei ich dachte, die "festgelegte Zeit" sei das, was ich da ausprobiert hab...
Mit Zitat antworten
  #4 (permalink)  
Alt vor 2 Wochen
Neues Mitglied
 
Registriert seit: Jul 2017
Beiträge: 17
icepick1661 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Wo ist das Problem?
Du löschst die PendingOrder entweder über mit dem Setzen gelieferte Expiration
Time oder per festgelegte Zeit.
Und am nächsten Tag wird die Order um 01:08 wieder gesetzt.

traderdoc
EDIT
Habe das Problem selbst gelöst. "Time" IST die Variable, habe es durch "[individueller Variablename]" ersetzt, Warnung ist weg.
EDIT ENDE

Hallo, wenn ich für das Löschen mit der Expiration Time den nachfolgenden Code (hab ich ja von dir bzw. Leopold in einem anderen Thema gefunden) zufüge, kommt "declaration of 'time' hides predefined variable".

Was das bedeuted habe ich gefunden (vordefiniertes Array OpenTimes). Läßt sich das aber umgehen?

Danke.

Code:
datetime Time = StringToTime(
                         (string)TimeYear(Time[0])
                         +"."+
                         (string)TimeMonth(Time[0])
                         +"."+
                         (string)TimeDay(Time[0])
                         +"."+FinishTime);
Mit Zitat antworten
  #5 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.821
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ne, streng übersetzt heißt die Fehlermeldung: "Deklaration von 'time' verdeckt
die predefinierte Variable" und hätte mit einem evtl. Array OpenTime überhaupt nichts zu tun.

Weil Time eine predefinierte Variable ist, solltest Du die einfach umbenennen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #6 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Jul 2017
Beiträge: 17
icepick1661 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Ne, streng übersetzt heißt die Fehlermeldung: "Deklaration von 'time' verdeckt
die predefinierte Variable" und hätte mit einem evtl. Array OpenTime überhaupt nichts zu tun.

Weil Time eine predefinierte Variable ist, solltest Du die einfach umbenennen.

traderdoc
Danke, naja, ich hab's ja gelöst indem ich den Variablennamen Time nicht verwendet habe. Ob ich jetzt Time umbenenne um es selbst zu verwenden oder Time stehenlasse und einen eigenen Namen verwende, dürfte ja egal sein - es funktioniert ja ohne Warnung oder Fehler.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
code für tageswechsel, mql4, neuer tag, programmierung, programmierung metatrader, programmierung mql4, tageswechsel, weiter am nächsten tag, zeitrechnung


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 17:56 Uhr.



-----------------------------------------------------------------------------------------------------------------------------
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.
-----------------------------------------------------------------------------------------------------------------------------