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)
-   -   OrderSend (Anfängerfrage) (http://www.expert-advisor.com/forum/showthread.php?t=1570)

Alexander Jansen 02.09.11 10:30

OrderSend (Anfängerfrage)
 
Liebe Forengemeinschaft,

ich bin Neuling in der Programmierung des Metatraders und wollte ein Skript schreiben, dass eine Long-Order ausführt. Also habe ich das Standardbeispiel genommen und einfach nach meinen Wünschen abgeändert. Hier ist mein Skript:

#property copyright "Alexander Jansen"
#property link ""

#include <stdlib.mqh>
#include <WinUser32.mqh>

//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
int ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,NUL L,0,0,CLR_NONE);
if(ticket<1)
{
int error=GetLastError();
Print("Error = ",ErrorDescription(error));
return;
}
//----
return(0);
}
//+------------------------------------------------------------------+

Das funktioniert auch schön.

Da ich gerne einen Stopp-Loss einfügen möchte, habe ich die entsprechende Zeile abgeändert zu

int ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-30*Point,0,NULL,0,0,CLR_NONE);

Und das funktioniert nicht mehr. Egal, was ich als SL einsetze (0.1, 10, 100, Ask-30 etc.), der Metatrader eröffnet keine Order. Nur wenn dort eine 0 steht, dann wird die Order eröffnet.

Was habe ich falsch gemacht?

Vielen Dank schonmal im voraus für jede Hilfe.

Alexander

rekors 02.09.11 11:49

hmm die sieht eigendlich soweit sauber aus...
gut oben hast nen fehler drinne NULL und NUL L
aber ich denke das kommt vom copy and paste

das hier ist meine BUY order und die funktioniert super

ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Ask-10*Point,Ask+10*Point," Frogger V1 Buy",16384,0,Green);

Alexander Jansen 02.09.11 12:24

funktioniert leider auch nicht
 
Hallo rekors,

danke für die schnelle Antwort.

die NUL L liegt vermutlich am Zeilenumbruch, denn bei mir steht dort wirklich NULL.

Leider klappt es auch mit Deinem Code nicht. Ich handel den DAX-SEP11.
Ich hab auch schon überlegt, ob es vielleicht am Faktor liegt, also Ask-10*Points oder Ask-1000*Points oder Ask-0.01*Points. Es hilft jedoch alles nichts.

Testmaster 03.09.11 04:44

iAsk=NormalizeDouble(Ask,Digits);

int ticket=OrderSend(Symbol(),OP_BUY,0.1,iAsk,3,iAsk-30*Point,0,NULL,0,0,CLR_NONE);

So sollte es klappen. Du musst NormalizeDouble verwenden.

Hoffe es hilft.

JoeDormann 03.09.11 10:03

Hallo erstmal,

falls das mit den NormalizeDouble nicht klappt, gäbe es noch folgende Erklärung:
Es gibt Broker mit Kontentypen, wo man nicht gleich einen Stoploss und oder Target mit der Order setzen kann.
Abhilfe schafft dann ein nachträgliches Modify der Order auf die gewünschten Werte.
Ich mache das nur noch so und habe seitdem keinerlei Probleme mehr, es sei denn, man hält die Mindestdifferenz von ca. 2 x Spread nicht ein.
Im Expertlog steht gewöhnlich bei Orderproblemen auch eine Fehlernummer.
Diese Fehlernummer kannst du in Verbindung mit MQL4 googlen und wirst sicher fündig.
Zumeist gibts da auch noch jede Menge Tips, wie man das jeweilige Problem löst.

Gruß Joe

Alexander Jansen 06.09.11 08:52

Danke für Eure Hilfe,

leider funktioniert es immer noch nicht. Ich habe den Verdacht, dass Joes Vermutung richtig ist. Ich werde mit meinem Broker sprechen und das Ergebnis posten.

Viele Grüße
Alexander

Testmaster 06.09.11 09:31

da brauchst Du doch nicht Deinen Broker fragen:

iAsk=NormalizeDouble(Ask,Digits);

int ticket=OrderSend(Symbol(),OP_BUY,0.1,iAsk,3,0,0,NU LL,0,0,CLR_NONE);
f_OrderModify(ticket,iAsk-iStopLoss*Point,iAsk+iTakeProfit*Point,CLR_NONE);

Probieren und nicht aufgeben ;)


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