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

FORWARD 28.04.18 12:56

Breakevenoptimierung
 
Hallo zusammen,

nach ewigen probieren und versuchen, habe ich endlich einen funktionierenden EA zusammengestellt. Er funktioniert auch wie ich mir das vorstelle.
Allerdings möchte ich noch 2 Sachen optimieren, für die ich aber keinen Ansatz habe.
Ich lasse bei jeder Buy- oder Sellposition 3 Order ausführen, 2 x Market und 1 x Limit. Diese werden dann nach einer bestimmten Anzahl von Punkten auf Breakeven nachgezogen. Die Limitorder wird gelöscht, wenn der Breakeven der Marketorder erreicht wird, bevor die Limitorder aktiviert wurde. Die beiden Marketorder haben unterschiedliche Takeprofit. Soweit so gut.

1.
Ich möchte, das der Breakeven der Limit auf den der Marketorder nachgezogen wird.... geht das?

2.
Wenn der Takeprofit der ersten Marketorder erreicht ist, soll der Stopploss auf einen definierten (zum Beispiel 50% des ersten Takeprofitabstandes) Punktewert nachgezogen werden.

kann mir da jemand helfen?

bisher sieht mein Breakeven code wie folgt aus:
PHP-Code:

//Breakeven 
                                                
   
if(Breakeven <= 0) return;
   
bool result;
   for(
int i OrdersTotal()-1>= 0i--) {
   if(
OrderSelect(iSELECT_BY_POSMODE_TRADES))
   if(
OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue; {
         
//Breakeven Buyorder
   
if(OrderType() == OP_BUY && OrderOpenPrice() > OrderStopLoss() && Bid OrderOpenPrice() >= Breakeven Multiplier Point) {
   
result OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice(), OrderTakeProfit(), 0);
           
// Pendingdelete
   
{int total=OrdersTotal(); for (OrdersTotal()-1>= 0i--)
   {
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   if(
OrderMagicNumber()==Magic&&OrderSymbol()==Symbol())
   switch(
OrderType())
   {case 
OP_BUYLIMIT:result=OrderDelete(OrderTicket());}}}}   
        
//Breakeven Sellorder                                                                                                                                
   
if(OrderType() == OP_SELL && OrderOpenPrice() < OrderStopLoss() && OrderOpenPrice() - Ask >= Breakeven Multiplier Point) {
   
result OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0);
      
// Pendingdelete
   
{total=OrdersTotal(); for ( OrdersTotal()-1>= 0i--)
   {
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   if(
OrderMagicNumber()==Magic&&OrderSymbol()==Symbol())
   switch(
OrderType())
   {case 
OP_SELLLIMIT:result=OrderDelete(OrderTicket());}}}}}}          
   if(
OrderType()== OP_SELLLIMITresult=OrderDelete(OrderTicket());
   if(
OrderType()== OP_BUYLIMITresult=OrderDelete(OrderTicket()); 



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 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