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: 43248
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- 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: 0
Gäste: 250
Gesamt: 250
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 25.02.18
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Klingt so als hätte es mit double dann eigentlich gar nichts zu tun und alles auf intergern basieren müsste.

Zitat:
Zitat von Leopold Beitrag anzeigen
Aus diesen Gründen muss der Parameter ein vielfaches des Timeframe sein.
Ausgegangen von Integern, addiere zur Zahl die Hälfte des Multiblen und runde dann ab:
ergebnis = ((zahl + multiple/2) / multiple) * multiple;

C$D
  #12 (permalink)  
Alt 25.02.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Dem kann ich jetzt irgendwie nicht folgen.

Ich habe z.B. einen Parameterwert von 540 und den Timeframe 15.
Als Kontrolle könnten wir noch Parameter 545 und Timeframe 15 verwenden.
Wie würde die Berechnung dann aussehn?

--- Leopold ---
  #13 (permalink)  
Alt 25.02.18
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Probier es einfach mal mit verschiedene Werten aus im Programm.
Wichtig bei dem Trick ist, dass die Variablen Integer sind!
Die Rechnung mit einem Wert der kein Vielfaches von 15 ist wie 545 oder 535 ist dann so:

((545 + 15/2) / 15) * 15 = Ergebnis ist 540

((535 + 15/2) / 15) * 15 = Ergebnis ist 540

((Parameterwert + Timeframe/2) / Timeframe) * Timeframe = Ergebnis;

C$D
  #14 (permalink)  
Alt 25.02.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Ich bin komplett verwirrt

warum kommt bei dieser Formel 540 heraus? Kannst du mir das bitte erklären?
Habs programmiert und getestet, aber ich verstehs nicht.
Wenn man das "normal" rechnet kommt ja was ganz anderes heraus.

Vielleicht kannst du mir auch den Vorteil zu meiner Variante nennen.
Danke!

--- Leopold ---
  #15 (permalink)  
Alt 25.02.18
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Leopold Beitrag anzeigen
Wenn man das "normal" rechnet kommt ja was ganz anderes heraus.
Ja weil ein Taschenrechner alles als double rechnet. Die Lösung funktioniert natürlich nur in einem Programm mit Datentyp int. Der Trick der hier ausgenutzt wird ist, dass die Ergebnisse der einzelnen Rechenschritte auch immer zu einem Integer gezwungen werden. Daher sind auch die Klammern so wie sie sind notwendig.
Sinn in dem Fall ist das eine beliebige Zahl auf ein multibles einer anderen Zahl gerundet wird. Aber vielleicht wolltest du gar nicht auf sowas hinaus

Zitat:
Zitat von Leopold Beitrag anzeigen
Aus diesen Gründen muss der Parameter ein vielfaches des Timeframe sein.
Wegen dem Satz hatte ich vermutet, dass die Frage auf ein Runden auf ein multibles einer anderen Zahl abziehlt und Parameter und Timeframe sowieso integer wären.
  #16 (permalink)  
Alt 25.02.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

War dann ein Missverständnis, aber trotzdem danke!!

--- Leopold ---
Thema geschlossen

Lesezeichen

Stichworte
double wert, double wert überprüfen, double zahl, ganze zahl, 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 10:23 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.
-----------------------------------------------------------------------------------------------------------------------------