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: 36920
Benutzer: 6.068
Aktive Benutzer: 492
Links: 80
Wir begrüßen unseren neuesten Benutzer: supadog
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 8 Stunden
- supadog
vor einem Tag
- POCJonah7
vor einem Tag
- flowi88
vor einem Tag
- dealtycoon
vor einem Tag
- VicenteWuc

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

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 20.10.15
Benutzerbild von trololotromberino
Mitglied
 
Registriert seit: Jul 2015
Beiträge: 56
trololotromberino befindet sich auf einem aufstrebenden Ast
Standard Indikatorenwerte runden?

Hi Leute,

erstmal generell vielen Dank an die Profis, die mir und schon vielen anderen Anfängern weitergeholfen haben.

Ich bin auf ein Problem gestoßen. Und zwar verwende ich viele Indikatoren in meinen ersten EA´s. Das Problem ist, dass mit diesen auch die SL-Setzung, bzw. die Limit-Entries zusammenhängen.
Indikatoren haben meistens aber sehr merkwürdige Werte.
Beispielsweise hat mein Pivot-Punkt einen Wert von:
Code:
2015.10.20 20:29:19.647	2015.08.04 06:38  Neuer Versuch Pivot Punkte DE30,M15: invalid price 11722.06666667 for OrderSend function
Da wir im Dax sind, sind 11722 Punkte gemeint.

Wie kann ich den EA dazu bringen, dass er die Werte der Indikatoren auf oder abrundet?

LG
TrololoTromberino
__________________
Ich arbeite aktuell an einem eigenen EA und komme nicht weiter!
Wäre cool, wenn mir Coder ein wenig weiterhelfen könnten:
www.expert-advisor.com/etsbh
  #2 (permalink)  
Alt 20.10.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

entweder
1. int wert = (int)Indikatorwert;
2. NormalizeDouble(Indikatorwert, x); //x bedeutet die Anzahl Nachkommastellen
3. MathRound(Indikatorwert);

Am besten Ausprobieren durch Ausgabe des gerundeten Werte über
Alert() oder Print()

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 21.10.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Wäre es nicht einfacher mit einem Integer zu arbeiten, der keine, bzw. nur begrenzt Nachkommastellen hat?
  #4 (permalink)  
Alt 21.10.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Raul0 Beitrag anzeigen
Wäre es nicht einfacher mit einem Integer zu arbeiten, der keine, bzw. nur begrenzt Nachkommastellen hat?
Eine Integerzahl hat nie eine Nachkommastelle.
Für die Integerlösung steht doch schon
int wert = (int)Indikatorwert;

Dabei wird der Indikatorwert, der in der Regel mit double deklariert wird umgewandelt in eine Integerzahl. Dieses Verfahren nennt man explizite Typenumwandlung oder Typenreduzierung.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 21.10.15
Premium Mitglied
 
Registriert seit: Apr 2015
Beiträge: 370
Raul0 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Dabei wird der Indikatorwert, der in der Regel mit double deklariert wird umgewandelt in eine Integerzahl. Dieses Verfahren nennt man explizite Typenumwandlung oder Typenreduzierung.
Ok, und was ich meinte ist, den Indikatorwert gleich mit int statt mit double abzufragen, das spart wiederum die Umwandlung. Es sei denn, er braucht im Code die Nachkommastellen für eine andere Berechnung.
  #6 (permalink)  
Alt 21.10.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.873
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Raul0 Beitrag anzeigen
Ok, und was ich meinte ist, den Indikatorwert gleich mit int statt mit double abzufragen, das spart wiederum die Umwandlung. Es sei denn, er braucht im Code die Nachkommastellen für eine andere Berechnung.
Ja das ist doch nichts anderes als das:

int wert = (int)Indikatorwert;

mittels dem

int wert = (int)iCustom(...........);

weil iCustom() einen double-Wert zurückgibt.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Thema geschlossen

Lesezeichen

Stichworte
indikatorwert runden, indikatorwerte runden, mql4, programmierung, programmierung metatrader, runden


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 07:45 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.
-----------------------------------------------------------------------------------------------------------------------------