Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43258
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 248
Gesamt: 248
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 26.08.11
Elite Mitglied
 
Registriert seit: Aug 2011
Ort: NRW
Beiträge: 764
Mast83 befindet sich auf einem aufstrebenden Ast
Mast83 eine Nachricht über ICQ schicken Mast83 eine Nachricht über Skype™ schicken
Standard Kauf- und Verkaufstopps setzen

Hallo Zusammen,

bin an der o.g. Ordererteilung gescheitert...ich dachte wenn ich Ordersend () wähle, kann ich BUYSTOPP als Kaufstopp und SELLSTOPP als Verkaufsstopp setzen...am besten natürlich mit dem von mir gewünschten Kurs. Kann jemand helfen wie ich das im System implementiere?

VG und Danke Marc
  #2 (permalink)  
Alt 26.08.11
Elite Mitglied
 
Registriert seit: Aug 2011
Ort: NRW
Beiträge: 764
Mast83 befindet sich auf einem aufstrebenden Ast
Mast83 eine Nachricht über ICQ schicken Mast83 eine Nachricht über Skype™ schicken
Standard

Also als Beispiel...mein Signal sagt mir, dass ich zum High der vorherigen Bars in den Markt long gehen will...wäre ja ein Kaufstopp.

Umgekehrt wäre es ja ein verkaufstopp, wenn ich zum low der vorherigen Kerze in den Markt will...
  #3 (permalink)  
Alt 30.08.11
Elite Mitglied
 
Registriert seit: Aug 2011
Ort: NRW
Beiträge: 764
Mast83 befindet sich auf einem aufstrebenden Ast
Mast83 eine Nachricht über ICQ schicken Mast83 eine Nachricht über Skype™ schicken
Standard

kann sich jemand erbarmen und mir helfen?
__________________
Heute Weizen, Abends Corn morgen fangen wir an von vorn...
  #4 (permalink)  
Alt 01.09.11
Neues Mitglied
 
Registriert seit: Nov 2010
Beiträge: 6
Testmaster befindet sich auf einem aufstrebenden Ast
Standard

schreib doch mal Dein OrderSend hier rein, dann kann man Dir auch vielleicht helfen. Der 2. Parameter der OrderSend Funktion muss
OP_BUYLIMIT 2 Buy limit pending position.
OP_SELLLIMIT 3 Sell limit pending position.
sein.

Je nach Wunsch.

Viel Erfolg

Testmaster
  #5 (permalink)  
Alt 01.09.11
Elite Mitglied
 
Registriert seit: Aug 2011
Ort: NRW
Beiträge: 764
Mast83 befindet sich auf einem aufstrebenden Ast
Mast83 eine Nachricht über ICQ schicken Mast83 eine Nachricht über Skype™ schicken
Standard

Hallo Testmaster,

so sieht es derzeit aus...
Mein Ziel ist bei der Strategie auf Tagesbasis wenn die vorherige Kerze positiv war beim high mit einem Kaufstopp zu kaufen und 10 Pips gewinn zu machen...andersherum...sollte die Kerze rot sein mit einem Verkaufstopp zu shorten und 10 Pips mit zu nehmen:


extern int BTP=10;
extern int BSL=20;
extern int STP=10;
extern int SSL=20;
extern double Lots=0.1;
extern int slippage=1;
int iOrderOpenStatus;

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{

//----Kauflogik
if (Open[-1] < Close[-1])
{
double BSL=Ask-(BSL*Point);
double BTP=Ask+(BTP*Point);


iOrderOpenStatus=OrderSend (Symbol(), OP_BUY,Lots, Ask, slippage, BSL, BTP, "Kauf",0,Green);
}

//----Verkaufslogik
if (Close[-1] < Open[-1])
{
double SSL=Bid-(SSL*Point);
double STP=Bid+(STP*Point);


iOrderOpenStatus=OrderSend (Symbol(), OP_SELL,Lots, Bid, slippage, SSL, STP, "Verkauf",0,Red);
}

return(0);
}
//+------------------------------------------------------------------+


Hier muss ich den KS und VS rein setzen...aber wie markeire ich das high der für mich relevanten Kerze bzw wie sieht das aus?


Vielen Dank für Deine Hilfe
__________________
Heute Weizen, Abends Corn morgen fangen wir an von vorn...
  #6 (permalink)  
Alt 02.09.11
Neues Mitglied
 
Registriert seit: Sep 2011
Beiträge: 5
Foxi befindet sich auf einem aufstrebenden Ast
Standard Pending Orders

Hallo Marc,

verstehe ich dein Problem richtig, dass du gerne Orders zur späteren Ausführung (Pending) setzen möchtest, mit Buy-Stop bzw. Sell-Stop? In dem obigen Quelltext setzt du Orders zur sofortigen Ausführung.

Den Unterschied macht der zweite Parameter in der OrderSend(...)-Funktion, wie Testmaster schon geschrieben hat.

Mit OP_BUY bzw. OP_SELL werden die Orders sofort ausgeführt, mit OP_BUYSTOP bzw. OP_SELLSTOP werden Pending Orders mit Stop aufgegeben (und mit OP_BUYLIMIT / OP_SELLLIMIT wären auch noch Pending Orders mit Limit möglich, was von dir aber wohl nicht gewünscht wird).

Liegt es daran?

Gruß
Foxi
  #7 (permalink)  
Alt 03.09.11
Elite Mitglied
 
Registriert seit: Aug 2011
Ort: NRW
Beiträge: 764
Mast83 befindet sich auf einem aufstrebenden Ast
Mast83 eine Nachricht über ICQ schicken Mast83 eine Nachricht über Skype™ schicken
Standard

Hallo Zusammen,

ich habe schon gedacht, dass im 2 ten Parameter "OP_BUYSTOP" oder "OP_SELLSTP" stehen muss, allerdings nun die Frage erkennt MT4 automatisch, dass Kauf und verkauf am high und low der vorherigen Kerze sein sollen?

Dementsprechend müsste ich (wenn das so klappen würde) ja nur:
Hallo Testmaster,


extern int BTP=10;
extern int BSL=20;
extern int STP=10;
extern int SSL=20;
extern double Lots=0.1;
extern int slippage=1;
int iOrderOpenStatus;

//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{

//----Kauflogik
if (Open[-1] < Close[-1])
{
double BSL=Ask-(BSL*Point);
double BTP=Ask+(BTP*Point);


iOrderOpenStatus=OrderSend (Symbol(), OP_BUYSTOP,Lots, Ask, slippage, BSL, BTP, "Kauf",0,Green);
}

//----Verkaufslogik
if (Close[-1] < Open[-1])
{
double SSL=Bid-(SSL*Point);
double STP=Bid+(STP*Point);


iOrderOpenStatus=OrderSend (Symbol(), OP_SELLSTOP,Lots, Bid, slippage, SSL, STP, "Verkauf",0,Red);
}

return(0);
}
//+------------------------------------------------------------------+

abändern..

Vielen Dank und schönes WE

Marc
__________________
Heute Weizen, Abends Corn morgen fangen wir an von vorn...
  #8 (permalink)  
Alt 05.09.11
Neues Mitglied
 
Registriert seit: Sep 2011
Beiträge: 5
Foxi befindet sich auf einem aufstrebenden Ast
Standard

[QUOTE=Mast83;4878]
ich habe schon gedacht, dass im 2 ten Parameter "OP_BUYSTOP" oder "OP_SELLSTP" stehen muss, allerdings nun die Frage erkennt MT4 automatisch, dass Kauf und verkauf am high und low der vorherigen Kerze sein sollen?

Hallo,

das kann das Programm so nicht wissen. Deshalb muss man den gewünschten Preis in der Order eintragen und zwar dort, wo in deinem Beispiel <Bid> bzw. <Ask> steht (bei Orders zur sofortigen Ausführung wäre Bid/Ask richtig, aber nicht bei Pending Orders).

Es gibt dann aber noch einige Einschränkungen, damit das ganze funktioniert:
- Der Open-Preis darf nicht zu nahe am Marktpreis liegen
- Der Open-Preis für Buy-Stop darf nicht über dem Marktpreis liegen und der für Sell-Stop nicht darunter
- Bei einigen Brokern muss wohl noch eine Verfallszeit als vorletzter Parameter (vor der Farbe) eingetragen werden, diese kann aber <0> sein und bedeutet dann "kein Verfall"

Das musst du im Programm berücksichtigen. Naja, oder du versuchst es halt erstmal so und schaust, welche Fehlermeldungen auftreten.

Es wäre bestimmt sinnvoll, wenn du dir im MetaEditor den Hilfetext zur OrderSend() durchlesen würdest. Das stehen weitere Einzelheiten. Einfach im Navigator (meist oben rechts) <OrderSend> eingeben und dann anklicken.

Grüße
Foxi
  #9 (permalink)  
Alt 05.09.11
Neues Mitglied
 
Registriert seit: Nov 2010
Beiträge: 6
Testmaster befindet sich auf einem aufstrebenden Ast
Standard

Hallo, wenn Du am High der letzten Kerze einsteigen willst sollte Dein OderSend wie folgt aussehen:

iOrderOpenStatus=OrderSend (Symbol(), OP_BUYSTOP,Lots, High[1], slippage, BSL, BTP, "Kauf",0,Green);

Wenn da ein Fehler auftaucht musst Du noch normalizeDouble davor packen.

Short dann Low[1].

Viel Erfolg.
  #10 (permalink)  
Alt 05.09.11
Elite Mitglied
 
Registriert seit: Aug 2011
Ort: NRW
Beiträge: 764
Mast83 befindet sich auf einem aufstrebenden Ast
Mast83 eine Nachricht über ICQ schicken Mast83 eine Nachricht über Skype™ schicken
Standard

Vielen Dank für die Hilfe euch beiden...In verschiedenen Foren habe ich mal geschaut und bei MQL sind irgendwie nur Scripte in denen direkt per Marktorder agiert wird.

Eigentlich logisch, dass es so aussehen müsste...Aber wiederrum nicht explizit in der Documentation dargestellt, sondern nur die "normale" Variante...
__________________
Heute Weizen, Abends Corn morgen fangen wir an von vorn...
Thema geschlossen

Lesezeichen

Stichworte
metatrader programmierung, programmierung mql

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------