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

traderdoc 07.01.16 19:00

Ja, der Fehler liegt in mehreren Details.

Es muß lauten:
Code:

BuyOrderIsOpen=false;
SellOrderIsOpen=false;
for(int i = OrdersTotal()-1; i >= 0; i--) {
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)>0) {
      if(OrderSymbol() == Symbol() && OrderMagicNumber == MagicNumber) {
        if (OrderType() == OP_BUY)  {
            BuyOrderIsOpen=true;
            break;
        } 
        if (OrderType() == OP_SELL) {
            SellOrderIsOpen=true;
            break;
        }
      }
  }
}

LastOrderCloseTime = 0;
for(i = OrdersTotal()-1; i >= 0; i--) { 
  if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
      if(OrderSymbol() == Symbol() && OrderMagicNumber == MagicNumber) {
          if (OrderType == OP_BUY || OrderType() == OP_SELL) {
            LastOrderCloseTime = OrderCloseTime();
            break;
          }
      }
  }
}
   
//Buy
if (!BuyOrderIsOpen) {
  if (Time[0] > LastOrderCloseTime) {
      if(High[1] < Pivot && Ask > Pivot) {
        ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,5,StopLossLevel,TakeProfitLevel, "",MagicNumber);
      }
  }
}

Hier
if(OrderSelect(i,SELECT_BY_TICKET,MODE_TRADES)>0)
muß statt SELECT_BUY_TICKET SELECT_BUY_TRADES
stehen. Ansonsten müßte für i die Tickenummer angegeben werden und nicht die Orderposition in der Orderliste.
Desweiteren sollte mindestens nach dem Chartsymbol und ggf. nach der MagicNumber abgefragt werden. Wenn es keine gibt, dann muß diese Variable wieder aus dem OrderSend gelöscht werden und auch in den Abfragen.
Die Selektion nach dem Chartsymbol ist zwingend notwendig, weil sonst alle offenen bzw. geschlossnenen Orders durchsucht werden.
Das break ist wichtig, damit, von oben gezählt, nur die letzte Order betrachtet wird.

traderdoc

kamü 09.01.16 10:36

Hallo Nici,
wenn der EA funktioniert, würde mich mal ein Backtest interessieren.

Ich handle auch nach Pivot z. B. den EUR/USD im 4 Stundenchart,
allerdings manuell.

kamü

Nici 10.01.16 13:50

Zitat:

Zitat von kamü (Beitrag 32466)
Hallo Nici,
wenn der EA funktioniert, würde mich mal ein Backtest interessieren.

Ich handle auch nach Pivot z. B. den EUR/USD im 4 Stundenchart,
allerdings manuell.

kamü

Hallo!

Das beste Ergebnis welches ich im Backtest erzielen konnte war, dass das Konto nichts verlor.
Kurzfristig waren natürlich auch tolle Gewinne drinnen, aber langfristig funktionierte es bei mir nicht...
Habe es mit verschieden großen SL und TP probiert, fixem und prozentualem Risiko, verschiedenen CRVs, automatisches Break-Even-Ziehen bei 1R, usw.
Was ich nicht probiert habe, ist das der SL auf der letzten Unterstützung bzw. Widerstand war und auf Grund dessen auch ein Trade geschlossen wird.

Ich denke, dass man sich mehr auf U+W sowie die Trendrichtung konzentrieren sollte, kann das aber noch nicht beweisen.
Nächster EA soll genau danach handeln, jedoch macht mir momentan die Definition von einer Korrektur noch ziemlich zu schaffen...:confused:

Habe im Netz einen kostenloses EA gefunden, der nach Pivot handelt und auch um einiges professioneller ist als meiner (aber offensichtlich auch keine phänomenalen Gewinne abwirft, da er sonst nicht frei verfügbar wäre...)
Kannst du dir bei Interesse ja mal an anschauen :)

http://tradarz.com/expert-advisor-do...ot-panther.php

LG
Nici

Drosselbart 14.01.16 21:41

Ich handel manuell und da klappt es. 'Kann den Fehler auch nicht finden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:45 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