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)
-   -   EAs automatisch abschalten (http://www.expert-advisor.com/forum/showthread.php?t=1978)

hugo 22.02.12 22:04

EAs automatisch abschalten
 
Seid gegrüßt,

kennt jemand einen Weg, wie man die EAs auf dem MT4 automatisch aktivieren / deaktivieren kann. Z.B. bei Erreichen eines bestimmten Profits, bzw, Verlustes.

Danke im Voraus! :)

sandmann23 23.02.12 18:07

Hi,
Zitat:

Zitat von hugo (Beitrag 10256)
kennt jemand einen Weg, wie man die EAs auf dem MT4 automatisch aktivieren / deaktivieren kann. Z.B. bei Erreichen eines bestimmten Profits, bzw, Verlustes.

geht nicht so einfach mit nur einem Befehl.

Du kannst aber den EA so programmieren, das er gar nicht erst die Orderlogik ausführt.

int profit;

init()
{
profit = AccountBalance();
}
start()
{
// >1% Konto Gewinn
if(AccountBalance() - profit > 1/100 * profit)
{
// eventuell alle offenen Positionen jetzt schliessen
return(0);
}

Beachte: viele Broker machen Nachts um 4:00 einen Reconnect, dh um 4:00 wird die init() ausgeführt. Falls du so einen Broker hast, würde dein EA an dem Tag nichts mehr machen, wenn >1% Gewinn. Aber am nächsten Tag weiter arbeiten.

Gruss
sandmann23

naranjoe 23.02.12 19:31

Es gibt einen Befehl mit dem du einen EA bei Bedarf beenden kannst.

Code:

#include <WinUser32.mqh> 
PostMessageA( WindowHandle( Symbol(), Period()), WM_COMMAND, 33050, 0);

Um das mal in Sandmann's Beispiel einzusetzen:
Code:

#include <WinUser32.mqh>
init()
{
profit = AccountBalance();
}
start()
{
// >1% Konto Gewinn
if(AccountBalance() - profit > 1/100 * profit)
  {
  // eventuell alle offenen Positionen jetzt schliessen
  PostMessageA( WindowHandle( Symbol(), Period()), WM_COMMAND, 33050, 0);
  }
}

Der EA verschwindet damit komplett vom Chart.
Starten musst du ihn allerdings manuell wieder.

Gruß
naranjoe

hugo 23.02.12 19:48

Ich danke Euch! :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:23 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