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: 4099
Beiträge: 38678
Benutzer: 6.388
Aktive Benutzer: 221
Links: 80
Wir begrüßen unseren neuesten Benutzer: fynnfx
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 18:12).
Neue Benutzer:
vor einem Tag
- fynnfx
vor 4 Tagen
- Oppus...
vor 4 Tagen
- justme177
vor 4 Tagen
- DanielF
vor einer Woche
- haschmat

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 69
Gesamt: 70
Team: 0
Team:  
Benutzer:  MA-EA
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
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 282
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
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 282
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
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 282
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 15: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 17:36 Uhr.


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