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: 4099
Beiträge: 38678
Benutzer: 6.388
Aktive Benutzer: 219
Links: 80
Wir begrüßen unseren neuesten Benutzer: fynnfx
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 18:12).
Neue Benutzer:
vor 5 Stunden
- fynnfx
vor 2 Tagen
- Oppus...
vor 3 Tagen
- justme177
vor 3 Tagen
- DanielF
vor 6 Tagen
- haschmat

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

Empfehlungen

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: 2.134
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: 415
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: 2.134
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: 415
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: 2.134
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 +2. Es ist jetzt 14:31 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2018 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.
-----------------------------------------------------------------------------------------------------------------------------