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: 43254
Benutzer: 7.220
Aktive Benutzer: 82
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 2 Tagen
- 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: 1
Gäste: 1199
Gesamt: 1200
Team: 0
Team:  
Benutzer:  JosephTK
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 13.08.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc: Ich bin deinem guten Rat gefolgt und habe alles mit der Print Ausgabe protokolliert. Inzwischen habe ich auch den Fehler gefunden und einen ausgiebigen Backtest durchführen können.
Die Auswertung ist aber witzig. Wenn man den SL nachzieht und der Trade dann darin endet, dabei jedoch z.B. über 1% Gewinn eingefahren hat, dann wird dieser trotzdem als Verlierer im Bericht aufgenommen. Dann hoffe ich mal in Zukunft auf "nur" solche Verlierer.

Mir ist klar dass die kleinen Bruchstücke, wozu ich fragen habe teilweise nicht ausgereicht haben um auf ein Problem rückschließen zu können. Dafür hätte ich den kompletten Code zeigen müssen. Dass ich das nicht getan habe liegt an der Unmenge an Zeit, die ich aufgebracht habe um die Handelslogik zu entwickeln.
  #12 (permalink)  
Alt 17.09.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 105
Lena befindet sich auf einem aufstrebenden Ast
Standard

Mal wieder eine neue Fehlermeldung gefunden. Und zwar erhalte ich gelegentlich "OrderModify ERROR 1" im Journal angezeigt. Der SL wird allerdings wie vorgesehen angepasst. In der Hilfe steht dazu folgendes "No error returned, but the result is unknown". Mit der Übersetzung habe ich keine Probleme, nur verstehe ich leider nicht was damit genau gemeint ist.
  #13 (permalink)  
Alt 17.09.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Lena Beitrag anzeigen
Mal wieder eine neue Fehlermeldung gefunden. Und zwar erhalte ich gelegentlich "OrderModify ERROR 1" im Journal angezeigt. Der SL wird allerdings wie vorgesehen angepasst. In der Hilfe steht dazu folgendes "No error returned, but the result is unknown". Mit der Übersetzung habe ich keine Probleme, nur verstehe ich leider nicht was damit genau gemeint ist.
Error 1 bei Ordermodify() wird immer dann angezeigt, wenn diese Funktion aufgerufen wird, aber die zu erreichende Änderung bereits vorliegt. Z.B. soll der StopLoss auf 1.23456 geändert werden, obwohl der StopLoss auf diesem Wert bereits liegt. Da sist ein typischer Logikfehler, der keine negative Auswirkung hätte, aber ggf. die Log-Datei unnötig aufbläht.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #14 (permalink)  
Alt 17.09.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 240
RetepM befindet sich auf einem aufstrebenden Ast
Standard OrderSend and OrderModify

Hi,
ich hab mal auf die Schnelle ein paar Zeilen aus einem fertigen EA kopiert. Damit müsste Dein Problem gelöst sein:

// steht in init()
NDigits = Digits;

// steht in start()
PipValue = 1;
if (NDigits == 3 || NDigits == 5) PipValue = 10;

// Variables
extern int MagicNo = 5555;
extern int BuyStoploss = 20;
extern int BuyTakeprofit = 30;

void BuyOrder()
{
double SL = Ask - BuyStoploss*PipValue*Point;
if (BuyStoploss == 0) SL = 0;
double TP = Ask + BuyTakeprofit*PipValue*Point;
if (BuyTakeprofit == 0) TP = 0;
int ticket = -1;
if (true)
ticket = OrderSend(Symbol(), OP_BUY, BuyLots, Ask, 4, 0, 0, "MW Expert", MagicNo, 0, Blue);
else
ticket = OrderSend(Symbol(), OP_BUY, BuyLots, Ask, 4, SL, TP, "MW Expert", MagicNo, 0, Blue);
if (ticket > -1)
{
if (true)
{
bool sel = OrderSelect(ticket, SELECT_BY_TICKET);
bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);
if (ret == false)
Print("OrderModify() error - ", ErrorDescription(GetLastError()));
}
AlertBuyOrder();

}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
}

! Kein Anspruch für schnellsten, besten oder schönsten und kürzesten Code :-) Ich hoffe, ich habe beim Kopieren nichts vergessen! Die Alert-Funktion brauchst Du nicht.

Grüße
Thema geschlossen

Lesezeichen

Stichworte
130, 138, 4051, error, error 130, error 138, error 4051, fehlercode 130, fehlercode 138, fehlercode 4051, mql4, programmierung, programmierung metatrader, programmierung mql4

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 22:12 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.
-----------------------------------------------------------------------------------------------------------------------------