moin fuchs,
also ich habe gestern nochmals den Quelltext geändert:
int start()
{
//----
double atraktuell, zielpreis;
int total,ticket,expiration ;
bool trigger;
//----
if(Bars<20) // Keine Daten vorhanden für ATR
{
Print("bars less than 20");
return(0);
}
atraktuell = iATR(NULL,0,14,0);
total=OrdersTotal();
zielpreis = Close[1] + atraktuell * 2;
zielpreis = MathRound(zielpreis);
expiration = TimeCurrent()+5 *60; // Wenn order nicht ausgeführt wird, wieder Ende des 5min Balkens schließen
if(total<1) // keine offene Order
{
ticket= OrderSend(Symbol(),OP_BUYSTOP,1,zielpreis,2,zielpr eis-20,zielpreis+20,"Start",16384,expiration,Green);
}
}
1. Variante
Ich glaube es liegt an der function OrderSend: Jetzt erhalte ich error 3, nachdem ich die expiration geändert habe. Wenn ich diesen Wert auf Null setzte wird die Order zwar ausgeführt, würde aber erwarten, dass durch den sl oder tp die Order wieder gesschlossen wird, wenn low <= sl oder high >= tp.
2. Variante
ticket= OrderSend(Symbol(),OP_BUY,1,zielpreis,2,zielpreis-20,zielpreis+20,"Start",16384,0,Green);
In diesem Fall wird die Order geöffnet und zeitglich wieder geschlossen. Beide Varianten bzw. Ergebnisse verstehe ich nicht.
Danke und Gruß
lala12
|