Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   EA mit Hidden TP und SL (http://www.expert-advisor.com/forum/showthread.php?t=2877)

migtab 22.04.13 10:43

EA mit Hidden TP und SL
 
Hallo

Ich hätte da eine bitte! Ich versuche seit Tagen schon aus 2 EA´s einen zu machen. Leider ohne jeden erfolg.
Es geht darum das ich die Funktion für TP und SL als Hidden einfügen möchte, in meinen andernen EA. Ich bin leider was das Programmien betrifft, nicht bzw. sehr schlecht.:(
Würde mir evtl. jemand helfen

Danke

Ca$hDigger 02.06.13 19:48

Vom Prinzip her muss statt dem echten SL/TP der entsprechende Wert als Variable gespeichert werden und dann permanent von deinem Close-management überprüft werden ob diese Werte erreicht werden um die Order unabhängig zu schliessen. Der Echte TP/SL muss sicherheitshalber falls MT aus verschiedenen Gründen versagt, dann weiter weg als Notbremse gesetzt werden sodass der Broker die Order schliesst auch wenn sämtliches Zeugs wie Software/Hardware/VPS (Strom/Softwareausfall usw) versagt.

Gruß

migtab 02.06.13 20:01

danke für dein Antwort.

traderdoc 03.06.13 10:33

Das ist schon vom Prinzip her ok, was @Ca$hDigger schrieb.
Die in Variablen gespeicherten SL-Werte können aber genauso beim Ausfall des PC nicht mehr wirksam sein, wenn sie z.B. einmalig beim Öffnen der Order ermittelt werden.
Abhilfe schafft da mit jedem Tick den SL zu refreshen, sofern das möglich ist und nicht zur Berechnung Vergangenheitsdaten benötigt werden, die später nicht mehr zur Verfügung stehen.
Die sicherste Variante ist die, bei der Orderöffnung den Hidden-SL in eine globale Variable zu schreiben. Die unterscheidet sich zu allen anderen Variablen darin, dass sie nach der Unterbrechung immer noch zur Verfügung steht und durch Abfrage im EA den SL jederzeit zur Verfügung stellt.
Der Ausdruck GlobalVariableSet() wird zum Schreiben und GlobalVariableGet() zum Lesen benutzt.

traderdoc

Ca$hDigger 03.06.13 19:51

Zitat:

Zitat von traderdoc (Beitrag 21490)
Die sicherste Variante ist die, bei der Orderöffnung den Hidden-SL in eine globale Variable zu schreiben. Die unterscheidet sich zu allen anderen Variablen darin, dass sie nach der Unterbrechung immer noch zur Verfügung steht und durch Abfrage im EA den SL jederzeit zur Verfügung stellt.
Der Ausdruck GlobalVariableSet() wird zum Schreiben und GlobalVariableGet() zum Lesen benutzt.
traderdoc

Danke interessante Ergänzung dazu eine Frage: Auch wenn das System auf dem der EA läuft abstürzt und dann neu gestartet werden muss, ebenso Metatrader und der EA, dann ist der Wert immer noch verfügbar? Schließlich wird der EA ja neu initialisiert. In welcher Datei wird der Wert dann genau gespeichert?
Der Begriff "globale Variable" heißt für mich (bisher ;)) eine Variable die ausserhalb von Funktionen definiert wird und programmweit sichtbar ist aber ohne "GlobalVariableSet()" und "GlobalVariableGet()" das ist dann eine andere (für mich noch unbekannte) Art von globaler Variable?

LG

Ca$hDigger

traderdoc 03.06.13 21:42

Zitat:

Zitat von Ca$hDigger (Beitrag 21501)
Danke interessante Ergänzung dazu eine Frage: Auch wenn das System auf dem der EA läuft abstürzt und dann neu gestartet werden muss, ebenso Metatrader und der EA, dann ist der Wert immer noch verfügbar? Schließlich wird der EA ja neu initialisiert. In welcher Datei wird der Wert dann genau gespeichert?
Der Begriff "globale Variable" heißt für mich (bisher ;)) eine Variable die ausserhalb von Funktionen definiert wird und programmweit sichtbar ist aber ohne "GlobalVariableSet()" und "GlobalVariableGet()" das ist dann eine andere (für mich noch unbekannte) Art von globaler Variable?

LG

Ca$hDigger

Diese globalen Variablen verschwinden nur, wenn die MT4-Instanz auf Deinem PC komplett gelöscht und neu installiert wird, aber warum sollte das passieren?
Ansonsten ist das egal, wie oft der EA abstürzt oder der EA neu installiert oder initialisiert werden muß.
Diese Variablen heißen so, weil sie halt global einsetzbar sind. D.h. nicht nur von dem EA, wo sie geschrieben wurde, sondern auch von anderen EAs der Metatrader-Instanz können diese Variablen ausgelesen und überschrieben werden. D.h. wiederum man kann Informationen von einem EA zum anderen schaufeln. Das ist ein mächtiges Werkzeug, will aber gehandelt sein. Mittels der Taste F3 kann man sich ansehen, welche globalen Variablen auf dem MT4 sitzen.

traderdoc


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:51 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum