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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3822
Beiträge: 36911
Benutzer: 6.069
Aktive Benutzer: 492
Links: 80
Wir begrüßen unseren neuesten Benutzer: harry1001
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 24 Minuten
- harry1001
vor 16 Stunden
- supadog
vor einem Tag
- POCJonah7
vor einem Tag
- flowi88
vor einem Tag
- dealtycoon

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 50
Gesamt: 52
Team: 0
Team:  
Benutzer:  Domke01, harry1001
Freunde anzeigen

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 13.08.12
Mitglied
 
Registriert seit: Aug 2012
Beiträge: 30
daysofthunder befindet sich auf einem aufstrebenden Ast
Standard trailing stop order öffenen. wie ?

so nachdem ich nun meinen einstiegspunkt gefiltert habe und der log den anzeigt, würde mich nun folgendes interessieren.

wie macht man eigentlich eine order auf ?
setzt einen trailing stop ?
muss man den laufend selber neu setzen oder haben die broker ne automatik die selbst mitzieht ?

schliessen tut sich die order sicher beim unterschreiten des stops selbst oder ?
  #2 (permalink)  
Alt 13.08.12
Elite Mitglied
 
Registriert seit: Feb 2012
Beiträge: 120
ehirsch befindet sich auf einem aufstrebenden Ast
Standard

Welche Software benutzt du?
  #3 (permalink)  
Alt 13.08.12
Mitglied
 
Registriert seit: Aug 2012
Beiträge: 30
daysofthunder befindet sich auf einem aufstrebenden Ast
Standard

bis jetzt teste ich nur auf metatrader4
  #4 (permalink)  
Alt 13.08.12
Elite Mitglied
 
Registriert seit: Feb 2012
Beiträge: 120
ehirsch befindet sich auf einem aufstrebenden Ast
Standard

Wenn du F9 drückst, so öffnet sich die Order Maske mit den Auswahlmöglichkeiten: "Sofortige Ausführung" bzw. "Pending Order". Sofortige Ausführung ist klar, du brauchst nur noch oberhalb dieses Buttons das Volumen auswählen und wenn du willst den SL (was ich dir raten würde) und den TP setzen. Dann einfach auf buy oder sell drücken.
Die Pending order ist eine order die du schon vorher am Broker platzierst. Wählst du diese aus, so musst du dich fragen, ob du zu einem gewissen Preis, der oberhalb des aktuellen Preises liegt, kaufen willst (buy order), oder vielleicht dort verkaufen willst (sell limit); oder ob du zu einem gewissen Preis, der unterhalb des aktuellen Preises liegt verkaufen willst (sell order), oder vielleicht dort kaufen willst (buy limit). Achte darauf, dass du nicht limit mit order verwechselst, aber normalerweise bekommst du einen Fehler vom Mt4

Der Trailingstop beim Mt4 liegt auf deinem PC oder deinem VPS und nicht beim Broker. Das heißt, wenn du den MT4 schließt ist auch der Trailingstop weg, nicht aber dein SL oder TP, denn die liegen ja beim Broker. So und nun happy trading :-)
  #5 (permalink)  
Alt 13.08.12
Mitglied
 
Registriert seit: Aug 2012
Beiträge: 30
daysofthunder befindet sich auf einem aufstrebenden Ast
Standard

ich meinte programmiertechnisch.

kann mir mal einer die ordersend funktion genau erklären ?
  #6 (permalink)  
Alt 13.08.12
Neues Mitglied
 
Registriert seit: Jan 2010
Beiträge: 8
Blu_Royal befindet sich auf einem aufstrebenden Ast
Standard

hi,

also die Ordersend funktion sieht in den meisten fällen so aus:

if ("das was du siehst" == "das was du suchst"){
ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,0,0," Short",12345,0,Green);
if(ticket < 0){
Print("OrderSend failed with error #", GetLastError());}

Symbol() ist das aktuelle Symbol auf dem der EA läuft. Lots, Bid, und Slippage kennst du hoffentlich. Short ist die Bemerkung, 12345 ist die Magicnumber. Die null danach ist die Verfallszeit, die macht allerdings bei einem OP_SELL keinen sinn. Und Green ist für die Farbe des Pfeils im Chartfenster. Wenn du weitere fragen hast:
OrderSend - MQL4 Documentation

Einen TrailingStop kann man nicht einfach setzen, du musst mit einer Schleife die Stops nachziehen. Das sieht dann so aus:

if (OrdersTotal() > 0 ){
for(int pos = OrdersTotal()-1; pos >= 0 ; pos--){
OrderSelect(pos, SELECT_BY_POS);
if (OrderType() == OP_BUY){
if ((Trailing == true) && (OrderProfit() > 1)){
if ((Bid - ((TrailingStop*Point) + (TrailingStep*Point))) > OrderStopLoss()){
if ((Bid - ((TrailingStop*Point) + (TrailingStep*Point))) > OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),(Bid - (TrailingStop*Point)),OrderTakeProfit(),0,Green);} }}
if (OrderType() == OP_SELL){
if ((Trailing == true) && (OrderProfit() > 1)){
if ((Ask + ((TrailingStop*Point) + (TrailingStep*Point))) < OrderStopLoss()){
if ((Ask + ((TrailingStop*Point) + (TrailingStep*Point))) < OrderOpenPrice()){
OrderModify(OrderTicket(),OrderOpenPrice(),(Ask + (TrailingStop*Point)),OrderTakeProfit(),0,Green);} }}

Hoffe ich konnte ein bisschen helfen.
  #7 (permalink)  
Alt 14.08.12
Mitglied
 
Registriert seit: Aug 2012
Beiträge: 30
daysofthunder befindet sich auf einem aufstrebenden Ast
Standard

ja ist schon mal was ich suche.

was bedeutet *point ?
das ist dann sozusagen prozentual oder ?
weil damit bin ich nicht klar gekommen.

also wäre nen trst von 12 dann:

if ((Bid - 12) > OrderStopLoss()){

richtig ?
  #8 (permalink)  
Alt 14.08.12
Mitglied
 
Registriert seit: Aug 2012
Beiträge: 30
daysofthunder befindet sich auf einem aufstrebenden Ast
Standard

also wenn der z.b. dow bei 13000 punkten 25 anteile kaufen soll und nen stop 12 pkt drunter. stimmt dann diese zeile ? oder muss das anders

OrderSend(Symbol(),
OP_BUYLIMIT, //kaufen wenn drüber
25, //25 stk
13000, //dow 13000
1, //-+1 pkt unterschied
13000-12, //stop
NULL, //kein take profit
"My order #2", //infozeile
1234, //selbstdefinierte ident nummer
0, //kein ablauf
Green); //grün anzeigen
  #9 (permalink)  
Alt 14.08.12
Mitglied
 
Registriert seit: Aug 2012
Beiträge: 30
daysofthunder befindet sich auf einem aufstrebenden Ast
Standard

wenn ich den code jetzt starte kommt error 4109 Trade is not allowed.

wieso das denn ?
  #10 (permalink)  
Alt 14.08.12
Neues Mitglied
 
Registriert seit: Jan 2010
Beiträge: 8
Blu_Royal befindet sich auf einem aufstrebenden Ast
Standard

Also Point ist die letzte Dezimalstelle abhängig vom Broker bei 5 digit Broker ist 160*Point also 0,00160.
4109 heisst dass in deinem Mt4 Terminal Extras\Optionen\Expert Advisor - "Life trading zulassen" abgehakt werden muss

if ((Bid - 12) > OrderStopLoss()){ //würde gehen
Thema geschlossen

Lesezeichen

Stichworte
mql4, order, programmierung metatrader, trailing stop, trailingstop


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 15:26 Uhr.



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