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: 3824
Beiträge: 36909
Benutzer: 6.083
Aktive Benutzer: 494
Links: 80
Wir begrüßen unseren neuesten Benutzer: Wombat
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 52 Minuten
- Wombat
vor 16 Stunden
- idur
vor einem Tag
- DarthTrade...
vor einem Tag
- Eren
vor einem Tag
- Rene1504

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 48
Gesamt: 51
Team: 0
Team:  
Benutzer:  fxnoob, juleslesquet, kvolstorf
Freunde anzeigen

Empfehlungen

Werbung

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 15.08.14
Neues Mitglied
 
Registriert seit: Aug 2014
Beiträge: 4
KS23 befindet sich auf einem aufstrebenden Ast
Standard Automatische Neu-Initialisierung anstoßen

Hallo liebe EA-Gemeinde!

Ich bin mir nicht ganz sicher, ob die Frage, die ich stellen möchte völlig trivial ist, aber ich stelle sie trotzdem mal... doch erstmal die Grundvoraussetzungen:

Ich habe einen EA geschrieben, der handelt so vor sich hin. Es sind immer maximal zwei Order gleichzeitig geöffnet. Da ich noch ein ziemlicher Neuling bin, ist mein EA relativ einfach und überschaubar. Aus diesem Grund bin ich auch der Meinung, dass man ihn nicht allzu lange aus den Augen lassen sollte. Mit Hilfe der MT4-App kann ich aber auch von unterwegs immer gucken, was mein EA macht und wenn es mir zu kritisch wird, oder die laufende Order aus dem Ruder läuft, kann ich mit dem Handy eingreifen und diese ggf. schließen.

Das Problem an der Sache ist jetzt folgendes: Mein EA (zuhause auf dem PC) öffnet eine Order mit einer eineindeutigen Ticketnummer; wenn ich jetzt aber von außerhalb diese Order wieder schließe, dann kriegt der EA das ja gar nicht mit. Für ihn läuft die Order ja noch, da er sie nicht selber geschlossen hat. Sprich, sobald ich von außerhalb EINMAL eingegriffen habe, tut mein EA nichts mehr bis ich abends nach hause komme.

Meine Vorstellung wäre es jetzt, dass das Programm merkt, dass von außerhalb eingegriffen wurde (das könnte ich mir ja noch vorstellen, wenn das Ticket ungültig wird) und dann einfach einen kompletten Neustart macht, alle Default-Parameter neu einliest, sich neu initialisiert und einfach bei NULL wieder anfängt.
Wie kann ich das programmieren? Wahrscheinlich gibt es einfach einen schon vorhandenen Funktionsaufruf zum Initialisieren?!?

Wenn dem so ist, dann tut es mir leid, dass ich so dumm gefragt habe... wenn nicht, dann freue ich mich sehr über jede Antwort, die kommt

Viele Grüße,
Kai
  #2 (permalink)  
Alt 15.08.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Regelmässig alle offenen orders zählen sollte ausreichend sein (filtern nach Symbol und/oder MagicNumber). Beispiele in diversen eas von mir oder über google (bspw. count open trades mql4) ...
__________________
krank im Kopf aber sonst ganz nett
build 509 mql4 editor download
  #3 (permalink)  
Alt 15.08.14
Neues Mitglied
 
Registriert seit: Aug 2014
Beiträge: 4
KS23 befindet sich auf einem aufstrebenden Ast
Standard

Ok, stimmt... das ist ja einfach... hab ja schon fast befürchtet, dass ich einfach zu verschlungen denke

Vielen Dank für die superschnelle Antwort!

Und wenn während der Laufzeit irgendwann keine offenen Trades mehr da sind, dann rufe ich einfach int start() wieder auf?! Sehe ich das richtig?

Und wie kann ich die Parameter neu einlesen? Die haben sich ja im Laufe der Zeit unter Umständen geändert.
  #4 (permalink)  
Alt 15.08.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

int start wird bei jedem Tick aufgerufen.
Welche Parameter willst Du denn ändern?
Wenn KonditionXYZ Dann ändere ParmeterX ...
__________________
krank im Kopf aber sonst ganz nett
build 509 mql4 editor download
  #5 (permalink)  
Alt 15.08.14
Neues Mitglied
 
Registriert seit: Aug 2014
Beiträge: 4
KS23 befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich einen EA im MT4 auf einen Chart ziehe, dann kommt doch ein Fenster, in dem ich im Reiter "Input" meine Startwerte ändern kann... bei mir stehen hier auch so Zähler-Variablen drin, die ich global brauche... z.B. wieviele Trades gesamt, wieviele davon Verlust/Gewinn, wieviel Gewinn gesamt und lauter so Zeug.

Und wenn ich einen EA ganz neu starte, dann startet er ja mit genau DIESEN Werten... und im Terminal Expert steht dann beispielsweise
"13:51:26 EAName EURUSD,M5: initialized"

Und genau sowas hätte ich gerne, wenn von außen eingegriffen wird... so dass ich ganz sicher sein kann, dass er wirklich auch bei Null wieder anfängt.
  #6 (permalink)  
Alt 15.08.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Wenn Dein Ea kontinuierlich offene trades zählt, evtl. auch den Gewinn/Verlust/Pips schon geschlossener trades, dann muß da nichts resettet werden.

Wie auch immer, ich hoffe Du lässt den EA nur auf einem demokonto laufen. Wenn es um Echtgeld geht sollte der EA sicher sein, d.h. es sollte das Risiko daß dieser EA "Mist baut" auf 0 reduziert werden. Dazu gehört dann eben auch eine Abfrage aktuell offener trades, filter die verhindern daß mehrere trades zur selben Zeit unbeabsichtigt geöffnet werden, daß geprüft wird ob der SL auch gesetzt wurde, etc. pp. (das fehlt alles in den meisten EAs) ...
__________________
krank im Kopf aber sonst ganz nett
build 509 mql4 editor download
  #7 (permalink)  
Alt 15.08.14
Neues Mitglied
 
Registriert seit: Aug 2014
Beiträge: 4
KS23 befindet sich auf einem aufstrebenden Ast
Standard

Ja, stimmt eigentlich... dann werde ich das mal noch reinbasteln und dann mal gucken (und testen) wie sich das bemerkbar macht.

Vielen Dank für deine Hilfe und auch für die Tipps zum Schluss!!!

Eine Frage würde ich dir gerne noch stellen (auch wenn sie gar nicht in diesen Thread rein gehört ... Sprich, ich das eigentlich gar nicht darf )

Kann ich die Anzahl Stellen nach dem Komma im MT4 festlegen oder kommt diese Festlegung vom jeweiligen Broker??
Ich habe nämlich mein EA programmiert und getestet mit 5 Stellen nach dem Komma und jetzt hab ich einen anderen Broker und jetzt sind da nur noch 4 Stellen nach dem Komma... das macht sich in der Funktionalität schon bemerkbar!
Woran liegt das, dass es mal so und mal so ist?
  #8 (permalink)  
Alt 15.08.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von KS23 Beitrag anzeigen
Woran liegt das, dass es mal so und mal so ist?
am broker. Aber auch soetwas kann ein ea erkennen und damit umgehen (google suchbegriff wäre bspw.: broker digit pip point adjust mql4) ...
__________________
krank im Kopf aber sonst ganz nett
build 509 mql4 editor download
  #9 (permalink)  
Alt 15.08.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Du könntest Deinen EA hier auch hochladen (mql4-Datei), evtl. schaut dann jemand mal drüber ...
__________________
krank im Kopf aber sonst ganz nett
build 509 mql4 editor download
  #10 (permalink)  
Alt 15.08.14
Benutzerbild von Crashbulle
Elite Mitglied
 
Registriert seit: Sep 2011
Ort: Voreifel
Beiträge: 584
Crashbulle befindet sich auf einem aufstrebenden Ast
Crashbulle eine Nachricht über MSN schicken Crashbulle eine Nachricht über Skype™ schicken
Standard

Das liegt am Broker.

Dieser liefert / arbeitet mit 4-Digits (Pip) oder 5-Digits (1/10 Pip = 1 Pipette, auch 1 Punkt genannnt).

Wenn du ihn auf 5-Digit geschrieben hast, kannst du ihn mit der Einschränkung auf 4-Digit verwenden, das du alle Kurswerte wie feste Entry oder Stop, TP,SL und TL durch 10 teilst.

Die meisten EA's arbeiten mit einer eingebauten Routine, welche beim 5-Digit diese automatisch auf 4-Digit kastriert. Hierbei gibst du dann für alle Broker nur noch die gleichen Pip-Werte ein unter fortfall der 5. Stelle.
__________________
Was hoch aufsteigt, fällt tief herunter
Portfolio
Portfolio_1
Thema geschlossen

Lesezeichen

Stichworte
init, initialisieren, initialisierung, mql4, neu-initialisierung, offene order, order, order zählen, positionen, programmierung, programmierung metatrader


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 12:09 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
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.
-----------------------------------------------------------------------------------------------------------------------------