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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43251
Benutzer: 7.220
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 4 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 278
Gesamt: 278
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 13.01.12
Mitglied
 
Registriert seit: Jul 2010
Beiträge: 47
forexAlexPH befindet sich auf einem aufstrebenden Ast
Question 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
  #2 (permalink)  
Alt 13.01.12
Elite Mitglied
 
Registriert seit: Jun 2010
Ort: Trier
Beiträge: 116
naranjoe befindet sich auf einem aufstrebenden Ast
Standard

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
  #3 (permalink)  
Alt 15.01.12
Mitglied
 
Registriert seit: Jul 2010
Beiträge: 47
forexAlexPH befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von naranjoe Beitrag anzeigen
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 anzeigen
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?
  #4 (permalink)  
Alt 15.01.12
Elite Mitglied
 
Registriert seit: Jun 2010
Ort: Trier
Beiträge: 116
naranjoe befindet sich auf einem aufstrebenden Ast
Standard

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
  #5 (permalink)  
Alt 24.01.12
Mitglied
 
Registriert seit: Jul 2010
Beiträge: 47
forexAlexPH befindet sich auf einem aufstrebenden Ast
Thumbs up

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!
  #6 (permalink)  
Alt 15.03.12
Mitglied
 
Registriert seit: Feb 2012
Beiträge: 169
josef123456 befindet sich auf einem aufstrebenden Ast
Standard

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
  #7 (permalink)  
Alt 18.06.15
Neues Mitglied
 
Registriert seit: Jun 2015
Beiträge: 3
RubberDuck befindet sich auf einem aufstrebenden Ast
Standard

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")



}
//+------------------------------------------------------------------+
Thema geschlossen

Lesezeichen

Stichworte
ea sound, metatrader programmierung, mql4, programmierung, sound bei takeprofit, sound bei tp, takeprofit sound

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 02:31 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------