Jump to content


Photo

EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden


Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.

  • Please log in to reply
16 replies to this topic

#1 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 16 May 2017 - 12:04 PM


Hallo,

ich möchte, dass mein EA zwischen 22:50 bis 00:30 keine Positionen eröffnet,
weil mein Broker JFD dann extreme Spread-Erhöhungen erzeugt und so dann Fehlsignale,-Einstiege entstehen.

mit: 
 

 

string Brokerzeit=TimeToStr(TimeCurrent(),TIME_MINUTES); 

 


komme ich wegen der Zeichenkette (sting) wohl nicht wirklich weiter.

Danke für die Hilfe.


  • 0

Thanked by 3 Members:
Vola , chimbonda , Forex1+

#2 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,157 posts
  • 13600 thanks
  • Wohnsitz:O-Town

Posted 16 May 2017 - 12:32 PM

Das müsste gehen:

bool TimeCheck = true;if (TimeHour(iTime(NULL,0,0))==22 && TimeMinute(iTime(NULL,0,0))>=50) TimeCheck = false;if (TimeHour(iTime(NULL,0,0))==23) TimeCheck = false;if (TimeHour(iTime(NULL,0,0))==00 && TimeMinute(iTime(NULL,0,0))<30) TimeCheck = false;if (TimeCheck) { // Mach mich reich :)} 

Alternativ könntest Du natürlich auch den Spread abfragen und bei zu hohem Spread das handeln verhindern. Ich nutze meist beides.


  • 3

Marktgedanken - ...denn der Markt vergisst nie!

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 5 Members:
whipsaw , Vola , oldschuren , chimbonda , Forex1+

#3 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 16 May 2017 - 02:06 PM


danke für den Code,
ich steh' aber gerade im Verständnis wegen der mittleren Zeile auf dem Schlauch:

if (TimeHour(iTime(NULL,0,0))==23) TimeCheck = false;

 


  • 0

Thanked by 4 Members:
Vola , oldschuren , chimbonda , Forex1+

#4 Forex1+

Forex1+

    Floor Broker

  • Addict
  • PipPipPipPipPipPip
  • 287 posts
  • 1443 thanks

Posted 16 May 2017 - 02:16 PM

Bei einem Einzeiler nach einer if Abfrage kann man die Klammern weglassen lag das Verständnis evt daran?

Du kannst es auch so schreiben:

 

bool TimeCheck = true;if (TimeHour(iTime(NULL,0,0))==22 && TimeMinute(iTime(NULL,0,0))>=50) {   TimeCheck = false;}if (TimeHour(iTime(NULL,0,0))==23) {   TimeCheck = false;}if (TimeHour(iTime(NULL,0,0))==00 && TimeMinute(iTime(NULL,0,0))<30) {   TimeCheck = false;}if (TimeCheck) { // Mach mich reich :)}

Gruß


  • 1
It's a losing game, without passion !

Thanked by 4 Members:
whipsaw , Vola , oldschuren , chimbonda

#5 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 16 May 2017 - 02:47 PM

also ich lese in der ersten Zeile
die Start-(Pausen-)zeit 22:50
und in der dritten
die End-(Pausen-)zeit 00:30

Was soll mir aber die mittlere Zeile mit der 23 sagen?

grübel, grübel


  • 0

Thanked by 3 Members:
Vola , oldschuren , chimbonda

#6 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,157 posts
  • 13600 thanks
  • Wohnsitz:O-Town

Posted 16 May 2017 - 03:47 PM

also ich lese in der ersten Zeile
die Start-(Pausen-)zeit 22:50
und in der dritten
die End-(Pausen-)zeit 00:30

Was soll mir aber die mittlere Zeile mit der 23 sagen?

grübel, grübel

 

Nun ja, die erste Zeile sagt ja handele nicht, wenn es 22 Stunden und mehr als 50 Minuten sind. Die dritte sagt handele nicht, wenn es 0:00h und weniger als 30 Minuten sind. Da er aber ja auch in der kompletten Stunde dazwischen (also 23h - 23:59h) nicht handeln soll, muss man ihm das auch noch mitteilen.Es würde sicher auch gehen in dem man berechnet, wie viele Minuten am Tag schon vergangen sind aber für die schnelle fiel mir halt diese Lösung ein :wink:.


  • 0

Marktgedanken - ...denn der Markt vergisst nie!

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 5 Members:
whipsaw , Forex1+ , Vola , oldschuren , chimbonda

#7 Rumpel

Rumpel

    Floor Broker

  • *_skilled
  • 1,335 posts
  • 7599 thanks

Posted 17 May 2017 - 01:47 PM

Wobei man sich natürlich auch um den Ausstieg Gedanken machen sollte:
Was passiert wenn um 22:50 noch Positionen offen sind?


  • 0
Aus technischen Gründen steht meine Signatur auf der Rückseite dieses Posts!

Thanked by 5 Members:
whipsaw , chimbonda , Vola , Forex1+ , oldschuren

#8 Forex1+

Forex1+

    Floor Broker

  • Addict
  • PipPipPipPipPipPip
  • 287 posts
  • 1443 thanks

Posted 17 May 2017 - 03:26 PM

if (TimeCheck){   // geliebter Zeitraum:   // normale Tradinglogik...}else{   // ungeliebter Zeitraum:   if(Orders_offen)   {      // schließe alle offenen Orders   }}

  • 1
It's a losing game, without passion !

Thanked by 5 Members:
whipsaw , oldschuren , chimbonda , Vola , Kleinerbroker

#9 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 18 May 2017 - 10:23 AM

Über die offenen Orders um diese Zeit mache ich mir hier in meiner EA-Strategie keine Sorgen,
weil die SL/TP nicht davon berührt werden.

Aber danke für den Gedanken.
 


  • 0

Thanked by 3 Members:
Vola , oldschuren , chimbonda

#10 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,157 posts
  • 13600 thanks
  • Wohnsitz:O-Town

Posted 18 May 2017 - 02:58 PM

Über die offenen Orders um diese Zeit mache ich mir hier in meiner EA-Strategie keine Sorgen,
weil die SL/TP nicht davon berührt werden.

 

Da es etwas unter gegangen ist erstmal noch nachträglich Herzlich Willkommen bei Tom-Next pelo1.gif.

 

P.S.: falls Dein(e) Anliegen gelöst werden bzw. wurden kannst Du hier auch Thanks und Pfeil up vergeben. Dies aber nur am Rande. Bei weiteren Fragen zur Programmierung hau einfach in die Tasten.


  • 1

Marktgedanken - ...denn der Markt vergisst nie!

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 4 Members:
chimbonda , Vola , oldschuren , whipsaw

#11 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 18 May 2017 - 05:28 PM

Das mache ich natürlich gerne,
wenn ich den Code oben erfolgreich zum Laufen gebracht habe.

z.Zt. sind allerdings noch andere Baustellen zu erledigen...

Quasi wie am BER ;D


  • 0

Thanked by 3 Members:
chimbonda , Vola , oldschuren

#12 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 23 May 2017 - 06:17 AM

ich habe die Schleife im MQL4 nun wie folgt getestet:
 

 

//+------------------------------------------------------------------+//| Expert tick function                                             |//+------------------------------------------------------------------+void OnTick()  {   bool TimeCheck = true;      if (TimeHour(iTime(NULL,0,0))==22 && TimeMinute(iTime(NULL,0,0))>=50) TimeCheck = false;      if (TimeHour(iTime(NULL,0,0))==23) TimeCheck = false;      if (TimeHour(iTime(NULL,0,0))==00 && TimeMinute(iTime(NULL,0,0))<30) TimeCheck = false;         if (TimeCheck)          {         Print("innhalb TimeCheck");         }   Print("außerhalb TimeCheck");     }//+------------------------------------------------------------------+ 

 


und folgendes Ergebnis insofern erhalten,
dass während der getesteten 24h folgende Meldung bekam:

http://prntscr.com/fb0grl


Was mache ich falsch?

  • 0

Thanked by 3 Members:
oldschuren , chimbonda , Vola

#13 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,157 posts
  • 13600 thanks
  • Wohnsitz:O-Town

Posted 23 May 2017 - 09:49 AM

Er macht doch alles richtig. Du sagst ihm ja schreibe bei jedem Tick "außerhalb Timecheck" ohne irgendwelche Bedingungen. Und das tut er ja auch anscheinend.


  • 0

Marktgedanken - ...denn der Markt vergisst nie!

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 4 Members:
oldschuren , chimbonda , Vola , whipsaw

#14 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 24 May 2017 - 09:07 AM

Also ich leg mir die Karten mit dem Code...

Sei mal bitte so nett und ändere den Code auf eine Zeit zwischen 11:05 bis 13:30
damit ich ihn am Tage testen kann...

ich versteh die logic irgendwie nich.

und warum kann ich die TimeHour(iTime(NULL,0,0)), TimeMinute(iTime(NULL,0,))  nicht mit einem Print-Befehl anzeigen lassen?

 


  • 0

Thanked by 3 Members:
oldschuren , chimbonda , Vola

#15 UweBln

UweBln

    Runners

  • Rookie
  • PipPip
  • 24 posts
  • 68 thanks

Posted 24 May 2017 - 09:22 AM

ich kann eingeben was ich will, ich bekomme einfach keinen TimeCheck = 0  

 

------------------------------------------------------------------------------------------------------------enum YesNo{No=0,Yes=1};input YesNo Zeitsperre_YesNo = 1;extern int MagicNumber = 2017;int SELL_Ticket,BUY_Ticket;//+------------------------------------------------------------------+//| Expert tick function                                             |//+------------------------------------------------------------------+void OnTick()  {// ---------------   TimeCheck-Modul -------------------------------------------------------------if(Zeitsperre_YesNo == 1)   {       bool TimeCheck = true;            if (TimeHour(iTime(NULL,0,0))==07 && TimeMinute(iTime(NULL,0,0))>=15)          { TimeCheck = false; }         if (TimeHour(iTime(NULL,0,0))==08)             { TimeCheck = false; }                  if (TimeHour(iTime(NULL,0,0))==09 && TimeMinute(iTime(NULL,0,0))<40)                { TimeCheck = false; }         if (TimeCheck)          { Print("innhalb TimeCheck || Variable (TimeCheck): ",TimeCheck); }            else            {                Print(" ELSE TimeCheck || Variable (TimeCheck): ",TimeCheck);             }                  Print("außerhalb TimeCheck || Variable (TimeCheck): ",TimeCheck);                                   }   // Zeitsperre_YesNo - Schleife// ---------------   Order-Modul -------------------------------------------------------------// Im Order-Modul:if(TimeCheck==0)      {         Print("Order-Modul - Zeitsperre || Variable (TimeCheck): ",TimeCheck);         BUY_Ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,0,0,MagicNumber,NULL,0,clrRed);   }  }   //  void OnTick - Schleife 

  • 0

Thanked by 4 Members:
whipsaw , oldschuren , chimbonda , Vola

#16 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,157 posts
  • 13600 thanks
  • Wohnsitz:O-Town

Posted 24 May 2017 - 11:00 AM

Also ich leg mir die Karten mit dem Code...

Sei mal bitte so nett und ändere den Code auf eine Zeit zwischen 11:05 bis 13:30
damit ich ihn am Tage testen kann...

 

Derzeit sind andere Baustellen zu erledigen ...

 

P.S.: Da TimeCheck eine boolsche Variable ist bietet sich an auf !TimeCheck oder TimeCheck==false zu überprüfen. Außerdem macht diese Zeile "Print("außerhalb TimeCheck || Variable (TimeCheck): ",TimeCheck);" noch immer keinen Sinn. Die wird bei jedem Tick ausgegeben - TimeCheck hin oder her. TimeHour etc. kann man natürlich auch per Print ausgeben lassen.


  • 0

Marktgedanken - ...denn der Markt vergisst nie!

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 4 Members:
whipsaw , chimbonda , Vola , UweBln

#17 conglom-o

conglom-o

    Heatball User

  • *_skilled
  • 2,157 posts
  • 13600 thanks
  • Wohnsitz:O-Town

Posted 29 May 2017 - 08:20 AM

bool TimeCheck = true;if (TimeHour(iTime(NULL,PERIOD_H1,0))==22 && TimeMinute(iTime(NULL,PERIOD_M1,0))>=50) TimeCheck = false;if (TimeHour(iTime(NULL,PERIOD_H1,0))==23) TimeCheck = false;if (TimeHour(iTime(NULL,PERIOD_H1,0))==00 && TimeMinute(iTime(NULL,PERIOD_M1,0))<30) TimeCheck = false;if (TimeCheck) { // Mach mich reich :)}

Wenn es bei Dir nicht funktioniert hat kann es daran liegen, dass Du nicht den Minutenchart genutzt hast. Oben nun die Version, die mit jeder Zeitebene funktioniert.


  • 2

Marktgedanken - ...denn der Markt vergisst nie!

Meine Trophäen (dedicated to Vola *g*): conglom-o.gif b2m.gif lukas.gif licens.gifmarcus.gif germano.gif


Thanked by 4 Members:
whipsaw , Vola , Forex1+ , chimbonda

Wichtiger Hinweis für Besucher der Community!

Das Erstellungsdatum des von Dir aufgerufenen Themas liegt bereits einige Zeit zurück. Wir möchten darauf hinweisen, den Inhalt der Diskussion auf seine Aktualität hin zu prüfen. Weitere Informationen findest Du auf dieser Seite.


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users