Thema: Pivot-EA
Einzelnen Beitrag anzeigen
  #7 (permalink)  
Alt 06.01.16
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das sehe ich nicht als optimale Lösung:
Code:
//Buy-Order platzieren wenn Ask über Pivot, aber nicht mehr als 10 Ticks    
if(Ask>Pivot && Ask<Pivot+0.0001) {
   Order=OrderSend(Symbol(),OP_BUY,0.1,Ask,10,StopLossLevel,TakeProfitLevel;
}
Weil dann immer wenn der Ask in diesem Kursbereich ist, eine neue BuyOrder geöffnet wird, egal ob schon eine offen ist oder durch SL oder TP geschlossen wurde, sofern der Kurs sich dann wieder in diesen Bereich bewegt.


Bei meinem Code fehlt?? plötzlich die Zuweisung:
double price1 = Close[1];
oder gleich in die Abfrage integrieren.

Code:
if(Close[1] < Pivot && Ask > Pivot) {
   Order=OrderSend(Symbol(),OP_BUY,0.1,Ask,5,StopLoss Level,TakeProfitLevel);
}
Hier wird nur die Abfrage nach der offenen Order dazugefügt:

Code:
if (!BuyOrderIsOpen) {
   if(Close[1] < Pivot && Ask > Pivot) {
      Order=OrderSend(Symbol(),OP_BUY,0.1,Ask,5,StopLoss Level,TakeProfitLevel);
   }
}
und nun muß noch die an entsprechender Stelle ermittelte Closezeit "LastOrderCloseTime" der letzten Order verarbeitet werden:

Code:
if (!BuyOrderIsOpen) {
   if (Time[0] > LastOrderCloseTime) {
      if(Close[1] < Pivot && Ask > Pivot) {
         Order=OrderSend(Symbol(),OP_BUY,0.1,Ask,5,StopLoss Level,TakeProfitLevel);
      }
   }
}
So, nun wird der EA nur einmalig eine BuyOrder öffnen, sobald das Close der letzten geschlossenen Kerze unter dem Pivot lag und der aktuelle Ask erstmalig über dem Pivot liegt. Will man nicht das Close nehmen, sondern das High, dann wird anstelle Close[1] einfach High[1] eingesetzt.
Eine nächstes Open gäbe es nur, wenn auf einer der nächsten Kerzen nach! der OrderCloseKerze wieder der Kurs von unterhalb des Pivot dann über den Pivot erstmalig steigt.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.