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 soll sound file bei Take/Profit abspielen (http://www.expert-advisor.com/forum/showthread.php?t=1833)

forexAlexPH 13.01.12 08:24

EA soll sound file bei Take/Profit abspielen
 
Hallo,

ich habe eine EA gebastelt und der funktioniert auch wunderbar. Auch sagt mir der EA mir jedes mal akustisch, wenn eine neue Order abgesetzt wird. Nun würde ich noch gerne hören, wenn eine Order im TP geschlossen wird.
Ob mit oder ohne Sound arbeitet der EA nicht besser oder schlechter, aber es ist doch immer schön, wenn man hört, das gearbeitet und Geld verdient wird! Das steigert eben die Glückshormone :)

Gruss Alex

naranjoe 13.01.12 08:51

2 Möglichkeiten:

1. Du legst unter "Alarme" ein neues Event an mit der Angabe deines TP.
Erreicht der Preis das TP, löst das Event die Soundausgabe aus.

2. Du überwachst den Preis mit deinem EA und bei erreichen des TP lässt
du mit der Funktion PlaySound() einen Sound abspielen.

Gruß
naranjoe

forexAlexPH 15.01.12 08:38

Zitat:

Zitat von naranjoe (Beitrag 7981)
2 Möglichkeiten:

1. Du legst unter "Alarme" ein neues Event an mit der Angabe deines TP.
Erreicht der Preis das TP, löst das Event die Soundausgabe aus.

Du meinst, ich soll manuell überwachen, wenn der EA eine neue Order öffnet und dann unter Alarme einen Alarm definieren?
Das ist eine schlechte Wahl, denn dann kann ich ja die Order gleich selbst öffnen, wenn ich das sowieso immer ständig überwachen muss. Der EA macht das aber automatisch ohne mein Zutun und soll auch automatisch einen Sound abspielen, genau aus dem Grund, dass ich es höre, ohne das ständig visuell zu überwachen.

Zitat:

Zitat von naranjoe (Beitrag 7981)
2. Du überwachst den Preis mit deinem EA und bei erreichen des TP lässt
du mit der Funktion PlaySound() einen Sound abspielen.

Und wenn 50 offene Order vorhanden sind? Wie mache ich das, dass bei allen Orders der TP abgefragt wird und wenn der Preis eines TP einer Order erreicht ist kommt PlaySound() zum Einsatz.
Irgend wie wohl mit einer Schleife...
Das ist ja eigtentlich meine Frage, wie das geht?
:confused:

naranjoe 15.01.12 18:45

Zitat:

Und wenn 50 offene Order vorhanden sind? Wie mache ich das, dass bei allen Orders der TP abgefragt wird und wenn der Preis eines TP einer Order erreicht ist kommt PlaySound() zum Einsatz.
Irgend wie wohl mit einer Schleife...
Das ist ja eigtentlich meine Frage, wie das geht?

Das ist mit ein bisschen Standardcode zu realisieren.

Code:

void ControlTP()
{
 for(int i = OrdersTotal() - 1; i >= 0; i--)
    {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
          {
        if(OrderType() == OP_BUY && Bid - OrderOpenPrice() >= TakeProfit * Point)
            {
            PlaySound("soundfile.wav");
            }
     
        if(OrderType() == OP_SELL && OrderOpenPrice() - Ask >= TakeProfit * Point)
            {
            PlaySound("soundfile.wav");
            }
        }
    }       
}

Ein Problem bleibt!
Wenn du das TP mit der Order setzt, dann verschwindet die Order bevor der Code die Soundausgabe starten kann. Du solltest die Order ohne TP setzen und mit o.a. Code überwachen. Bei erreichen des TP kannst du dann die Soundausgabe machen und die Order mit OrderClose schliessen.

Gruß
naranjoe

forexAlexPH 24.01.12 17:29

Habe eine simple Lösung gefunden, die eigentlich ganz einfach ist.
Bei jeder geschlossenen Order wird damit ein Soundfile abgespielt.
Code:

  static int closedOrders=0;
  if(OrdersHistoryTotal()>closedOrders){
    closedOrders=OrdersHistoryTotal();
    PlaySound("TakeProfit.wav");
  }

Ein kleiner Nachteil, wenn der EA aktiviert wird, wird das Soundfile einmal abgespielt. Aber so schlimm ist das ja nicht!
Theoretisch auch bei einem Stop Loss, aber da meine Orders nie im Stop Loss schließen ist das kein Problem...
Man könnte noch prüfen, ob die letzte geschlossene Order im Profit geschlossen wurde, aber das reicht mir auch so!

josef123456 15.03.12 15:16

ich würde mich für diesen netten ea interessieren. nachdem der FGB gerne überwacht werden will, möchte ich gerne hören, wenn er eine order öffnet (und auch schliesst).

gibt es eine möglichkeit, den ea zu erhalten?
lg

RubberDuck 18.06.15 20:44

wollte das jetzt mal einfach testen, aber bekomme 2 errors?

#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-100*Point,Bid+33*Point);

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()



int closedOrders=0;
if(OrdersHistoryTotal()>closedOrders){
closedOrders=OrdersHistoryTotal();
PlaySound("TakeProfit.wav")



}
//+------------------------------------------------------------------+


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