Alle Inhalte von UweBln
-
Variable Nachkommerstellen kürzen
danke für den Hinweis Ich bin halt höflich erzogen worden und halte es für eine Selbstverständlichkeit mich für Hilfe zu bedanken. Allerdings geht es mir VORRANGIGER darum, und den Hinweis wird man im Text immer finden, dass ich ein feedback gebe, ob die Hilfe nützlich war bzw. ob sie das/mein Problem lösen konnte. Ich selbst ärgere mich wenn ich Problemsituationen in Foren ergooglen kann, diese sogar finde, darauf auch hinreichend geantwortet wurde, aber wenn letztlich vom Threadstarter keine Antwort zu lesen ist ob die Antwort/-en hilfreich waren.
-
Variable Nachkommerstellen kürzen
Nö - hab ich nich, weil sonst hätt' ich hier nicht so blöd rum fragen müssen. Der Tipp funktioniert allerdings super, insofern danke !!!
-
Variable Nachkommerstellen kürzen
Der Zeilenumbruch hat oben nicht funktioniert. Es geht also um diese Zeile: double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),5);
-
Variable Nachkommerstellen kürzen
Hallo, ich habe mir im MT5 der besseren Übersicht halber eine Markt-Preis-Anzeige gebastelt. // Bid-Preis holendouble Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),5); Trotz NormalizeDouble begrenzt auf 5 Nachkommastellen erhalte ich immer wieder folgende Anzeige: https://i.imgur.com/VWaqv85.png Danke für die Hilfe
-
Arrow abbilden - MT5
Ob mit oder ohne "0" mit diesem folgenden Code jibbet et keenen Arrow ObjectCreate(0,"Arrow-test", OBJ_ARROW_UP,0,0,0); ObjectSetInteger(0,"Arrow-test",OBJPROP_ARROWCODE,233); ObjectSet("Arrow-test",OBJPROP_COLOR,Red); ObjectSet("Arrow-test",OBJPROP_WIDTH,36); ObjectSet("Arrow-test",OBJPROP_CORNER, 3); ObjectSet("Arrow-test",OBJPROP_XDISTANCE, 0); ObjectSet("Arrow-test",OBJPROP_YDISTANCE, 0);
-
Arrow abbilden - MT5
Stichwort "Wingdings" so funktioniert es: ObjectCreate("Trend_Short", OBJ_LABEL, 0, 0, 0); ObjectSetText("Trend_Short","6",30,"Webdings", Red); ObjectSet("Trend_Short", OBJPROP_CORNER, 1); ObjectSet("Trend_Short", OBJPROP_XDISTANCE, 52); ObjectSet("Trend_Short", OBJPROP_YDISTANCE, 550); ObjectCreate("Trend_Long", OBJ_LABEL, 0, 0, 0); ObjectSetText("Trend_Long","5",30,"Webdings", Green); ObjectSet("Trend_Long", OBJPROP_CORNER, 1); ObjectSet("Trend_Long", OBJPROP_XDISTANCE, 52); ObjectSet("Trend_Long", OBJPROP_YDISTANCE, 570); ObjectCreate("Trend_Range", OBJ_LABEL, 0, 0, 0); ObjectSetText("Trend_Range","4",30,"Webdings", Gold); ObjectSet("Trend_Range", OBJPROP_CORNER, 1); ObjectSet("Trend_Range", OBJPROP_XDISTANCE, 52); ObjectSet("Trend_Range", OBJPROP_YDISTANCE, 590); mit folgender feststehenden Ausgabe: https://i.imgur.com/8S84pLv.png
-
Arrow abbilden - MT5
Also bei folgende Zeilen wird mir kein Pfeil abgebildet und ich weiß einfach nicht warum: ObjectCreate("Arrow-test", OBJ_ARROW,0,0,0,0); ObjectSetInteger(0,"Arrow-test",OBJPROP_ARROWCODE,233); ObjectSet("Arrow-test",OBJPROP_COLOR,Red); ObjectSet("Arrow-test",OBJPROP_WIDTH,22); ObjectSet("Arrow-test",OBJPROP_CORNER, 1); ObjectSet("Arrow-test",OBJPROP_XDISTANCE, 52); ObjectSet("Arrow-test",OBJPROP_YDISTANCE, 400);
-
Arrow abbilden - MT5
"Oder so etwas " wäre schon gut und wie bilde ich z.B. Zeichen 233 ab? Eine Text-Zeile ist z.B. so: ObjectSetString(_Symbol,"Label_Beispiel",OBJPROP_TEXT,0,".Textbeispiel ");
-
Arrow abbilden - MT5
Vielleicht habe ich mich missverständlich ausgedrückt. Wie man einen Test an eine beliebige Stelle auf dem Chart platziert weiß ich ja. Vielleicht kann man mithilfe der Text-Darstellung via ASCII-Code einen Stern, vollen Kreis, etc. darstellen, dessen Farbe ich dann lediglich ändere. danke
-
Arrow abbilden - MT5
Ich habe mir "wegen der schlechter werdenden Augen" eine Marktanzeige mit Timeframe gebastelt. Nun hätte ich gerne für den MT5 (ggf. auch MT4) einen Pfeil hinter der Anzeige (siehe folgendes Beispielbild) der mir die aktuelle Kursrichtung signalisiert: https://i.imgur.com/xq6lxCF.png Es sollen also 3 Pfeile (hoch, gleich, runter) abgebildet werden. Im Internet gefunden habe ich Arrows die am Chart-Price abgebildet werden, nicht frei auf dem Chart wie z.B. ein Text-Label. Thanks.für die Hilfe
-
Range berechnen und verwerten bei USD und JPY
yupppp - und danke, das kleine Progrämmchen macht genau was ich brauche.
-
Range berechnen und verwerten bei USD und JPY
Hallo, ich möchte eine Range berechnen, das ist einfach, z.B. bei einer Candle-Range = High - Low = Candle-Range in Pips. Ich möchte nun eine Vorgabe programmieren, in der eine minimale fest vorgegebene Rangegröße als Bedinungung verarbeitet werden soll. Beispiel: Vorgabe: Minimale Rangegröße: 250 Points = 25 Pips, ...Wenn also die Range größer als 250 ist dann okay, ist die Range kleiner 250 dann nicht okay. Die Rangegrößen sind z.B. beim EURUSD: 0,00250 aber beim EURJPY aber: 0,250 FRAGE: Wie kann ich programmtechnisch berücksichtigen ob es sich um den JPY oder USD (sprich Nachkommastellen) handelt? Auch was den DAX betrifft. Danke für Tipps.
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
ich kann eingeben was ich will, ich bekomme einfach keinen TimeCheck = 0 ------------------------------------------------------------------------------------------------------------enum YesNo{No=0,Yes=1}; input YesNo Zeitsperre_YesNo = 1; extern int MagicNumber = 2017; int SELL_Ticket,BUY_Ticket; //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { // --------------- TimeCheck-Modul ------------------------------------------------------------- if(Zeitsperre_YesNo == 1) { bool TimeCheck = true; if (TimeHour(iTime(NULL,0,0))==07 && TimeMinute(iTime(NULL,0,0))>=15) { TimeCheck = false; } if (TimeHour(iTime(NULL,0,0))==08) { TimeCheck = false; } if (TimeHour(iTime(NULL,0,0))==09 && TimeMinute(iTime(NULL,0,0))<40) { TimeCheck = false; } if (TimeCheck) { Print("innhalb TimeCheck || Variable (TimeCheck): ",TimeCheck); } else { Print(" ELSE TimeCheck || Variable (TimeCheck): ",TimeCheck); } Print("außerhalb TimeCheck || Variable (TimeCheck): ",TimeCheck); } // Zeitsperre_YesNo - Schleife // --------------- Order-Modul ------------------------------------------------------------- // Im Order-Modul: if(TimeCheck==0) { Print("Order-Modul - Zeitsperre || Variable (TimeCheck): ",TimeCheck); BUY_Ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,0,0,MagicNumber,NULL,0,clrRed); } } // void OnTick - Schleife
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
Also ich leg mir die Karten mit dem Code... Sei mal bitte so nett und ändere den Code auf eine Zeit zwischen 11:05 bis 13:30 damit ich ihn am Tage testen kann... ich versteh die logic irgendwie nich. und warum kann ich die TimeHour(iTime(NULL,0,0)), TimeMinute(iTime(NULL,0,)) nicht mit einem Print-Befehl anzeigen lassen?
-
OrderSend verhindern wenn bereits eine Order des jeweiligen Handelsinstrumentes geöffnet ist
extern int MagicNumber = 2017; int SELL_Ticket; //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { // Doppelte Order prüfen und verhindern for (int k = OrdersTotal()-1; k >= 0; k--) { if (OrderSelect(k, SELECT_BY_POS, MODE_TRADES)==true) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { // PlayAlert_BO_123(" -> Trade ist bereits offen "); // PlayAlert + Message Alert(" -> Trade ist offen "); SELL_Ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,(Bid+0.003),(Bid-0.003),NULL,MagicNumber,0,clrRed); } } } } } //+------------------------------------------------------------------+
-
OrderSend verhindern wenn bereits eine Order des jeweiligen Handelsinstrumentes geöffnet ist
Danke, ziemlich komplex. Verstehe ich richtig, dass ich 1.) die Variable MagicNumber, deren Parameter in meinem OrderSend-Befehl mit NULL gefüllt ist in den OrderSend-Befehl austauschen muss? - also statt NULL dann MagicNumber ? 2.) Muss ich am Kopf des EA die Zeile extern int MagicNumber = 2017; // (2017 ist natürlich beliebig, richtig?) einfügen? Das mit der MagicNumber hab ich nicht auf meinem Schirm!!!
-
OrderSend verhindern wenn bereits eine Order des jeweiligen Handelsinstrumentes geöffnet ist
Mit int max_Orders = 10; if(OrdersTotal()<max_Orders) { Sell_Ticket=OrderSend.... } verhindere ich erfolgreich die Überschreitung maximal offener Order (hier z.B. nicht mehr als 10 offene Order) ich suche jetzt einen ähnlichen Befehl, mit dem ich die maximal offenen Order des jeweiligen Handelsinstrumentes abfragen kann. also z.B.: if(Orders_Symbol()<1)
-
OrderSend verhindern wenn bereits eine Order des jeweiligen Handelsinstrumentes geöffnet ist
Mein ERSTER EA macht mir so manchen Kopfschmerz. Einer davon ist dass der EA zu späteren Zeiten (gem. Strategie ja richtig) immer neue Order öffnet, obwohl die erste Order noch nicht via SL/TP abgearbeitet ist. Wie kann man also abfragen, ob eine Order im jeweiligen Handelsinstrument (z.B. USDGBP)bereits offen ist??? Wenn eine geöffnet ist, dann möchte ich die OrderSend Befehlt überspringen, Danke für die Hilfe
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
ich habe die Schleife im MQL4 nun wie folgt getestet: //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { bool TimeCheck = true; if (TimeHour(iTime(NULL,0,0))==22 && TimeMinute(iTime(NULL,0,0))>=50) TimeCheck = false; if (TimeHour(iTime(NULL,0,0))==23) TimeCheck = false; if (TimeHour(iTime(NULL,0,0))==00 && TimeMinute(iTime(NULL,0,0))<30) TimeCheck = false; if (TimeCheck) { Print("innhalb TimeCheck"); } Print("außerhalb TimeCheck"); } //+------------------------------------------------------------------+ und folgendes Ergebnis insofern erhalten, dass während der getesteten 24h folgende Meldung bekam: http://prntscr.com/fb0grl Was mache ich falsch?
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
Das mache ich natürlich gerne, wenn ich den Code oben erfolgreich zum Laufen gebracht habe. z.Zt. sind allerdings noch andere Baustellen zu erledigen... Quasi wie am BER ;D
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
Über die offenen Orders um diese Zeit mache ich mir hier in meiner EA-Strategie keine Sorgen, weil die SL/TP nicht davon berührt werden. Aber danke für den Gedanken.
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
also ich lese in der ersten Zeile die Start-(Pausen-)zeit 22:50 und in der dritten die End-(Pausen-)zeit 00:30 Was soll mir aber die mittlere Zeile mit der 23 sagen? grübel, grübel
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
danke für den Code, ich steh' aber gerade im Verständnis wegen der mittleren Zeile auf dem Schlauch: if (TimeHour(iTime(NULL,0,0))==23) TimeCheck = false;
-
EA - Wie automatisches Trading zu bestimmten Zeiten unterbinden
Hallo, ich möchte, dass mein EA zwischen 22:50 bis 00:30 keine Positionen eröffnet, weil mein Broker JFD dann extreme Spread-Erhöhungen erzeugt und so dann Fehlsignale,-Einstiege entstehen. mit: string Brokerzeit=TimeToStr(TimeCurrent(),TIME_MINUTES); komme ich wegen der Zeichenkette (sting) wohl nicht wirklich weiter. Danke für die Hilfe.