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

v6tdi 14.07.12 23:15

Programfehler
 
Hallo EA Gemeinde,

ich bin ein absoluter Neuling im Bereich EA Programmierung.

Nun habe ich das Problem das mein EA zwar den Befehl Ordersend richtig ausführt aber dafür den Befehl Closeorder mit der folgenden Fehlermeldung
EURUSD,M1: invalid ticket for OrderClose function
EURUSD,M1: OrderClose error 4051

beharlich nicht aus.

Was mache ich falsch?
Syntax des verkaufs:

if (differenz<0 && TimeNow == Closetime)

{

OrderSelect(sellorder,SELECT_BY_TICKET);
OrderClose(sellorder,Lots,Ask,3,Red);
GetLastError();
}
if (differenz>0 && TimeNow == Closetime)
{

OrderSelect(buyorder,SELECT_BY_TICKET);
OrderClose(buyorder,Lots,Bid,3,Red);
GetLastError();
}



buyorder und sellorder sind die Variablen der Sellorder bzw.Buyorder.

Vielen Dank für eure Hilfe

Hoschie 15.07.12 21:33

Moin,



mach folgendes:

int cnt=OrdersTotal();


for(i=cnt-1; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == TRUE)
{
if(OrderSymbol()==Symbol())
{
if( OrderMagicNumber()==MagicNumber)
{
//
int Result=OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Blue);}

etc...


Wobei OrderTicket deine buyorder oder sellorder sein kann.

Gruss,
Hoschie

Zitat:

Zitat von v6tdi (Beitrag 16109)
Hallo EA Gemeinde,

ich bin ein absoluter Neuling im Bereich EA Programmierung.

Nun habe ich das Problem das mein EA zwar den Befehl Ordersend richtig ausführt aber dafür den Befehl Closeorder mit der folgenden Fehlermeldung
EURUSD,M1: invalid ticket for OrderClose function
EURUSD,M1: OrderClose error 4051

beharlich nicht aus.

Was mache ich falsch?
Syntax des verkaufs:

if (differenz<0 && TimeNow == Closetime)

{

OrderSelect(sellorder,SELECT_BY_TICKET);
OrderClose(sellorder,Lots,Ask,3,Red);
GetLastError();
}
if (differenz>0 && TimeNow == Closetime)
{

OrderSelect(buyorder,SELECT_BY_TICKET);
OrderClose(buyorder,Lots,Bid,3,Red);
GetLastError();
}



buyorder und sellorder sind die Variablen der Sellorder bzw.Buyorder.

Vielen Dank für eure Hilfe


v6tdi 16.07.12 19:40

Hallo,

vielen Dank für die Hilfe werde es heute mal probieren.

Gruß
V6tdi

Crashbulle 31.07.12 09:11

Hallo v6tdi (Namensvetter meines Zweitautos),

das Forum ist gespannt seit 2 Wochenauf dein probiertes Ergebnis. Oder hast du dem Forex "Adieu" gesagt.

Crashbulle

v6tdi 31.07.12 18:53

Hallo,

nein habe dem Forex noch nicht den Rücken gekehrt.
Bitte entschuldigt meine späte Antwort.

An dieser Stelle möchte ich mich bedanken, den jetzt läuft es.

Vielen Dank dem schnellen Helfer Hoschie

Gruß
v6tdi


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