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: 4978
Beiträge: 43262
Benutzer: 7.222
Aktive Benutzer: 72
Links: 84
Wir begrüßen unseren neuesten Benutzer: Mane
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak
vor 2 Wochen
- Amateur
vor 2 Wochen
- infos1982

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

Empfehlungen

Like Tree2Likes
  • 1 Post By Leopold
  • 1 Post By Leopold
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 21.07.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard Trademanger

Hallo zusammen,
kennt von euch vielleicht einer einen "vernünftigen" Trademanger?
Mir geht es eigentlich nur um eine einzige Funktion. Und zwar sollen bestehende Positionen beim erreichen des beim platzieren der Order angegbenen TP um 50% reduziert werden und für die verbleibenden 50% der TP verdoppelt. Zudem der SL auf BE nachgezogen.

Ich würde mich auch freuen wenn mir jemand einen Tipp geben könnte wie ich sowas programmieren kann. Hilfe bei der Logik!
  #2 (permalink)  
Alt 21.07.17
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

zu den 2 TakeProfits: du könntest ja generell 2 Positionen eröffnen mit jeweils der halben Lotsize. Dann kannst du für die beiden Positionen getrennte TP's festlegen. Das wäre meiner Meinung die einfachste Lösung.

---Leopold---
Lena likes this.
  #3 (permalink)  
Alt 21.07.17
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Zum BE: Ich möchte sowieso eine Funktion zum nachziehen auf BE schreiben. Wenn es sich ausgeht werd ich diese heute nachmittag schreiben und diese dann posten. Meine Herangehensweise wäre wenn ein vielfaches des Risikos erreicht ist, wird der Stop auf BE nachgezogen.

---Leopold---
Lena likes this.
  #4 (permalink)  
Alt 21.07.17
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

so hab das mal geschrieben.

Code:
void Check_BreakEvenLevels (int EA_ID, double Faktor_BreakEvenLevel)
   {
   ResetLastError();
   
   for (int i = OrdersTotal() - 1; i >= 0; i--)
      {
      bool Order_Select = OrderSelect(i, MODE_TRADES);
      
      if (Order_Select == True)
         {
         if (OrderMagicNumber() == EA_ID && OrderType() <= 1)
            {
            double OpenPrice = OrderOpenPrice(), StopLossPrice = OrderStopLoss();
            
            if (OrderType() == OP_BUY && StopLossPrice != 0 && StopLossPrice < OpenPrice)
               {
               double BreakEvenLevel = OpenPrice + ((OpenPrice - StopLossPrice) * Faktor_BreakEvenLevel);
               if (Bid >= BreakEvenLevel)
                  {
                  bool Order_Modify = OrderModify(OrderTicket(), OpenPrice, OpenPrice, OrderTakeProfit(), 0);
                  if (Order_Modify == False) Print("Fehler bei OrderModify. Ticket: ", OrderTicket(), "Error: ", GetLastError());
                  }
               }
            
            else if (OrderType() == OP_SELL && StopLossPrice != 0 && StopLossPrice > OpenPrice)
               {
               double BreakEvenLevel = OpenPrice - ((StopLossPrice - OpenPrice) * Faktor_BreakEvenLevel);
               if (Ask <= BreakEvenLevel)
                  {
                  bool Order_Modify = OrderModify(OrderTicket(), OpenPrice, OpenPrice, OrderTakeProfit(), 0);
                  if (Order_Modify == False) Print("Fehler bei OrderModify. Ticket: ", OrderTicket(), "Error: ", GetLastError());
                  }
               }
            } //Ende Kontrolle MagicNumber
         } //Ende Kontrolle OrderSelect
      } //Ende For-Schleife Orders
   } //Ende Funktion Check_BreakEvenLevels
Getestet hab ich es noch nicht, sollte aber funktionieren.
Vielleicht kannst du das mal testen.

mfg Leopold

Geändert von Leopold (21.07.17 um 14:31 Uhr)
Thema geschlossen

Lesezeichen

Stichworte
manager, mql4, programmierung, programmierung metatrader, programmierung mql4, trade manager, trademanager

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 +2. Es ist jetzt 02:58 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.
-----------------------------------------------------------------------------------------------------------------------------