Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 22.09.15
Benutzerbild von trololotromberino
trololotromberino trololotromberino ist offline
Mitglied
 
Registriert seit: Jul 2015
Beiträge: 56
trololotromberino befindet sich auf einem aufstrebenden Ast
Standard EA nach Voigt zur automatischen SL-Veränderung...kleines Problemchen

Hi Leute,

ich habe mich mal hingesetzt und versucht für ein anderes Forumsmitglied einen EA zu schreiben, der nach dem Buch von Voigt "Das große Buch der Markttechnik" den SL verändert.

Eigentlich ist mit dem Code alles super, nur irgendwie erkennt er den vorher gesetzten SL nicht.
Also man eröffnet eine Order mit SL und dann sollte der EA erkennen, dass man eine Order mit SL offen hat, und diesen SL automatisch verändern, trailingstop-mäßig.
Aber leider hat der EA überhaupt keine Lust, die gesetzte Order, oder den gesetzten SL zu verändern. Ich kriege keine Errormeldungen raus, aber etwas bewirken tut er auch nicht.

Wäre cool, wenn Ihr euch das mal kurz anschauen könntet.

Was ich auch noch machen wollte, ist, dass sollte eine Order ohne Stoploss gesetzt sein, dass der EA automatisch einen Stoploss setzt. Ich habe leider nur keinen Parameter gefunden, der sagt, ob ein SL gesetzt ist oder nicht. Kann mir den jemand sagen? Dann bau ich ihn noch ein.

LG

TrololoTromberino

Für die, die den Code nicht herunterladen wollen:
Code:
//+------------------------------------------------------------------+
//|                                          Stoploss nach Voigt.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Idea by Michael Voigt | Code by Korbinian Gabriel"
#property link      ""
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
//---Prüfen, ob Order offen ist:
int total = OrdersTotal();

//-----------------------------------------------------------------------------------------
//---Sollte eine Order offen sein, aber kein Stoploss besitzen, soll einer erstellt werden.
//   if(total > 0 && ) WICHTIG: HIER KOMMT NOCH DER PARAMETER ZUR SL-ERKENNUNG REIN!!!
//   {
//      if(OrderSymbol() == Symbol() && OrderType() == OP_BUY)
//      {
//         bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),Low[1],0,0);
//               if (ordermodify == false)
//                  Print("Stoploss ",OrderTicket()," NICHT erstellt! ERROR!");
//               else
//                  Print("StopLoss ",OrderTicket()," erstellt");
//      }
//      
//      if(OrderSymbol() == Symbol() && OrderType() == OP_BUY)
//      {
//         bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),Low[1],0,0);
//               if (ordermodify == false)
//                  Print("Stoploss ",OrderTicket()," NICHT erstellt! ERROR!");
//               else
//                  Print("StopLoss ",OrderTicket()," erstellt");
//      }
//   }
//   else Print("Keine Order offen"); return(0);    
   

//-----------------------------------------------------------------------------------------     
//---Außen- & Innenstäbe erkennen
      if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && Low[2] < Open[1] && High[2] > Close[1])
      {
         Print ("Außen- & Innenstab erkannt! Stopänderung wird jetzt ausgeführt!");
         bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),Low[3],0,0);
               if (ordermodify == false)
                  Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
               else
                  Print("StopLoss ",OrderTicket()," nachgezogen");
      }
      
      if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && High[2] > Open[1] && Low[2] < Close[1])
      {
         Print ("Außen- & Innenstab erkannt! Stopänderung wird jetzt ausgeführt!");
         bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),High[3],0,0);
               if (ordermodify == false)
                  Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
               else
                  Print("StopLoss ",OrderTicket()," nachgezogen");
      }
      

//-----------------------------------------------------------------------------------------      
//---Longorder Stop nachziehen      
      
      
      if (total > 0 && OrderType() == OP_BUY && Low[2] < Open[1] && High[2] < Close[1])
      {
         Print ("Stop wird nachgezogen");
         bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),Low[1],0,0);
               if (ordermodify == false)
                  Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
               else
                  Print("StopLoss ",OrderTicket()," nachgezogen");         
      }

//-----------------------------------------------------------------------------------------      
//---Shortorder Stop nachziehen      
      if (total > 0 && OrderType() == OP_SELL && High[2] > Open[1] && Low[2] > Close[1])
      {
         Print ("Stop wird nachgezogen");
         bool ordermodify = OrderModify(OrderTicket(),OrderOpenPrice(),High[1],0,0);
               if (ordermodify == false)
                  Print("Stoploss ",OrderTicket()," NICHT nachgezogen! ERROR!");
               else
                  Print("StopLoss ",OrderTicket()," nachgezogen");         
      }

//-----------------------------------------------------------------------------------------            
   return (0);   
  }
//+------------------------------------------------------------------+

__________________________________________________ _________
Wäre auch dankbar, wenn Ihr euch mal meinen EA anschaut und mir weiterhelfen könntet:
Expert-Advisor.com/EigenesTradingSystembrauchtHilfe
Angehängte Dateien
Dateityp: mq4 Stoploss nach Voigt.mq4 (5,0 KB, 57x aufgerufen)